我把 dsh 浏览器助手用在了财务工作里:安装、踩坑和几个真实案例

2026-08-25
86
王旭东
办公自动化
dsh 浏览器助手文章头图
安装实录 · 财务应用

dsh 浏览器助手

dsh-browser · 安 装 与 使 用

从本机 dsh、桥接插件到 Chrome 扩展,再到财务页面里的实际应用

按 dsh 浏览器助手安装指南整理 · Windows / macOS / Linux

这篇文章先不急着讲“我拿它做了什么”,而是把整个 dsh 浏览器助手安装过程完整走一遍。安装指南里有几个关键点很容易被跳过:桥接插件要注册到 dsh 的 web profile,Chrome 扩展要用“加载已解压”安装,扩展装好以后还必须重启 dsh web。少一步,最后都可能只看到“未连接”。

之前一篇《财务人的第二曲线》里我写过,工具不是主角,真正值得沉淀的是口径、流程和成果,dsh-browser 只是这套方法的一个具体练习。不论如何,学会利用 AI,已经是财务人面向未来的一项基本能力。

目 录

  1. 前提准备:四样东西缺一不可dsh / Node / pnpm / Chrome
  2. 安装 dsh-browser:推荐官方一键安装官方脚本
  3. 本地源码安装:需要联调时再用源码方式
  4. 在 Chrome 里加载扩展开发者模式
  5. 启动 dsh web,并验证桥接服务端口验证
  6. 连接与第一次使用侧边栏与动作
  7. 我整理的常见故障对照表排查清单
  8. 桥接接口速览:排查时再看接口与 token
  9. 安装完成后,我用它做了几个财务小案例实际应用

我下面按自己在 Windows 上的实际顺序记录,macOS / Linux 的命令也一并列出来。最后再放几个我在财务工作里用过的低风险案例。

dsh-browser 的安装不是只装一个 Chrome 扩展,而是把 dsh、桥接插件、扩展和本机端口接成一条链。
dsh 浏览器助手连接 Chrome 后的使用示意
安装完成后,dsh 通过本机桥接服务读取并操作当前 Chrome 页面。

前提准备:四样东西缺一不可

开始前,我会先确认 dsh、Node.js、pnpm 和 Google Chrome 都在本机。Edge 和 Firefox 的扩展加载路径不同,下面这套步骤只针对 Chrome / Chromium。

1. 先安装 dsh,并确认 web profile 能启动

npm i -g @deepseek-ai/dsh
npx @deepseek-ai/dsh web

浏览器打开 http://127.0.0.1:3080,能看到 dsh web 页面,就说明基础服务已经起来了。这里的端口只是默认值,后面扩展会自动探测 3080 / 3081 / 3090 / 14389

2. 安装 Node.js

指南要求 Node.js ^22.19.0>=24,我建议直接装 24。Windows 下载 LTS 的 .msi 安装包,按默认选项安装后验证:

node -v
npm -v

3. 安装 pnpm

npm install -g pnpm
pnpm -v

Node 22 以上也可以启用 Corepack:

corepack enable
pnpm -v

我建议先做一次环境确认

不要直接跳到扩展安装。先确认 node -vpnpm -vnpx @deepseek-ai/dsh web 都正常,后面排错会简单很多。

安装 dsh-browser:推荐官方一键安装

官方脚本会一次完成桥接插件构建、web profile 注册、Chrome 扩展构建和扩展目录就位。Windows PowerShell 按下面三步执行:

# 第 1 步:下载 Windows 安装脚本
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/Lum1104/dsh-browser/refs/heads/main/scripts/install.ps1" -OutFile "install.ps1"

# 第 2 步:执行安装脚本
powershell -ExecutionPolicy Bypass -File install.ps1

# 第 3 步:安装完成后删除临时脚本(可选)
Remove-Item install.ps1

macOS / Linux 使用:

curl -fsSL https://raw.githubusercontent.com/Lum1104/dsh-browser/refs/heads/main/scripts/install.sh | bash

脚本实际做了四件事:

  1. 执行 pnpm install --frozen-lockfile,构建 @yuxianglin/dsh-bridge-browser,生成 lib/
  2. 把桥接插件写入 ~/.dsh/profiles/web/package.json 的 bundles。
  3. 构建 dsh-browser-extension,产出扩展 dist/
  4. 把扩展同步到 ~/.dsh/browser-extension,复制路径并打开 chrome://extensions
dsh-browser 安装后的浏览器助手
安装脚本完成后,扩展目录通常位于用户目录下的 .dsh/browser-extension。

本地源码安装:需要联调时再用

如果我需要修改 dsh-browser 源码,或者想跟踪插件更新,会使用本地源码方式:

# 第 1 步:把 dsh-browser 源码克隆到本机 .dsh 目录
git clone https://github.com/Lum1104/dsh-browser $HOME\.dsh\dsh-browser

# 第 2 步:进入源码目录
cd $HOME\.dsh\dsh-browser

# 第 3 步:运行 Windows 安装脚本
.\scripts\install.ps1

# 第 4 步:启动本地桥接服务
cd $HOME\.dsh\dsh-browser; pnpm start

macOS / Linux 把最后两行换成:

./scripts/install.sh
cd ~/.dsh/dsh-browser && pnpm start

两种方式最终效果一致:桥接插件注册进 web profile,扩展放进 ~/.dsh/browser-extension。只是源码方式多了一个可以持续修改和重新构建的工作目录。

在 Chrome 里加载扩展

安装脚本打开 Chrome 扩展页后,我按这个顺序操作:

  1. 打开右上角的开发者模式
  2. 点击加载已解压的扩展程序
  3. 选择 C:\Users\你的用户名\.dsh\browser-extension
  4. 看到“dsh 浏览器助手”卡片,就说明扩展加载成功。

升级或重装后,如果卡片还在,不需要删掉再装,点卡片上的重新加载即可。

这里最容易混淆

Chrome 扩展卡片出现,只代表前端扩展加载了,不代表 dsh 已经连通。连接状态要等下一步重启 dsh web 并验证桥接接口。

启动 dsh web,并验证桥接服务

桥接插件是在 dsh web 启动时加载的,所以安装或更新后必须重启:

cd $HOME\.dsh\dsh-browser; pnpm start

# 或者直接启动 dsh web
npx @deepseek-ai/dsh web

启动后用 PowerShell 验证桥接配置:

Invoke-WebRequest http://127.0.0.1:3080/ext/bridge-config -UseBasicParsing

返回内容里能看到 wsUrl,就说明扩展要连接的桥接接口已经准备好。若接口打不开,先检查 dsh web 是否仍在运行、端口是否被占用,以及桥接插件是否真的写进了 web profile。

连接与第一次使用

  1. 点击 Chrome 工具栏里的 DeepSeek 鲸鱼图标,打开侧边栏。
  2. 扩展会自动探测本机 dsh 的默认端口,不需要手填地址或 token。
  3. 状态从“未连接”变成“已连接”后,就可以让助手读取当前页面。

我第一次测试时会先让它做只读任务,例如“读取当前页面标题、列出表格列名、告诉我页面上有几个按钮”。确认页面快照和交互元素都能读到,再尝试点击、输入、滚动和导航。

它能调用的典型动作包括:

browser_snapshot / browser_click / browser_type / browser_press
browser_scroll / browser_navigate / browser_back / browser_forward
browser_reload / browser_get_text / browser_wait

我整理的常见故障对照表

现象常见原因我的处理方式
一直显示“未连接”桥接插件没构建到 lib/,或没注册到 profile bundles重新跑安装脚本,重启 dsh web,再重新加载扩展
ERR_PNPM_UNEXPECTED_STOREprofile 的 pnpm store 版本不一致在 profile 中重新 pnpm install,或统一 store-dir
打开的是 Edge / Firefox当前加载流程只针对 Chrome / Chromium改用 Google Chrome
本地 link 开发模式失效源码目录被移动或删除重新 clone 到 ~/.dsh/dsh-browser,或改用一键安装
改代码不生效dsh web 只在启动时读取 profile bundles重启 dsh web,并在 chrome://extensions 点重新加载

桥接接口速览:排查时再看

  • 发现桥接:GET http://127.0.0.1:<port>/ext/bridge-config,返回包含 wsUrl 的 JSON。
  • 桥接 WebSocket:ws://127.0.0.1:<port>/ext/bridge,使用 token 认证,首帧必须是 hello
  • token 文件:~/.dsh/ext-bridge-token,首次启动时自动生成。

安装完成后,我用它做了几个财务小案例

安装跑通以后,我没有马上让它操作付款或审批,而是从只读、低风险的页面开始。

案例一:报销抽查

我让它打开指定单据,读取申请人、部门、金额、发票日期和附件状态,只列出缺附件、日期异常或金额超过阈值的单据。它输出页面证据,我再判断是否需要补证,避免把“疑点”直接写成“违规”。

案例二:月度费用核对

我把总账汇总作为已知结果,让它在费用系统按部门和月份查明细,列出可能造成差异的单据。它帮我定位跨期、待摊和漏记线索,最终的会计处理仍由我结合政策确认。

请只查询 2026 年 7 月的差旅费用,按部门汇总。
输出单据号、申请日期、发生日期、入账日期、含税金额、审批状态。
只标记异常,不要提交任何表单。

案例三:预算执行巡检

我每天让它打开预算执行页面,查看重点部门的累计执行率、剩余预算和最近一周新增申请。超过阈值就记录下来,之后再由我判断是采购提前、发票未入账,还是确实存在超支风险。

案例四:经营分析会前找证据

业务问毛利为什么下降时,我让它分别读取订单折扣、物料成本、退货和应收账龄页面,只整理相关字段。我再用自己的分析表拆价格、数量、结构和一次性因素,不让浏览器助手替我写未经验证的结论。

我给财务场景设的底线

  • 单独使用一个 Chrome profile,不混用网银和管理员账号。
  • 涉及工资、身份证号、银行账号和客户隐私时先脱敏。
  • 付款、审批、驳回、删除和发送邮件只停在最后一步,由我亲自点击。
  • 每次任务保留输入条件、页面证据、异常清单和人工结论。
对我来说,dsh-browser 最实用的价值不是替我做决定,而是替我完成那些需要反复翻页、查找和复制的动作。这也是我想和《财务人的第二曲线》呼应的地方:作品集不一定非要是一个大看板或完整系统,一个安装清楚、边界明确、能在费用核对和经营分析中稳定复用的小工具,同样可以成为财务人的数字化作品。

参考与延伸阅读

社区插件和 DSH 版本仍在迭代,安装前请核对仓库维护状态、权限范围、依赖版本和真实数据边界。

王旭东

王旭东

资深数据分析师 | 业财融合专家

拥有10+年财务分析经验,专注于业财融合、数据可视化在企业财务中的应用。