中文EN

@cold777/dsh-opencli

browsernpmMIT

登录态真实浏览器自动化:170+ 站点结构化命令一步到位(需安装 OpenCLI CLI:npm i -g @jackwener/opencli,及其 BrowserBridge 浏览器扩展);执行真实性判定(失败说真话)、站点知识卡+健康度、watch 监控、轨迹回放、带出处报告导出;写命令带审批门。

下载量 / Downloads
258

安装

dsh plugin --profile web add @cold777/dsh-opencli

沙箱测试

这个插件还没测过。提交测试 →

README

dsh-opencli · 你的登录态数据产品

![awesome-dsh-plugin](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/tree/main/data/plugins/IKEASven69__dsh-opencli.yml)

![dsh-plugin](https://github.com/topics/dsh-plugin)

你的登录态数据产品——定时采集、真实性判定、带出处报告、写操作审批。 Your data, from your own logged-in browser:知乎/B站/微博/GitHub 等 170+ 站点,agent 按点采集、先判真伪,报告条条带出处,要动你的账号先过审批门。

dsh 自带的 web 工具是"搜索"——匿名检索,所有人拿到一样的结果。这个插件补上另一半:以你的账号视角,把网上的事变成你手里可信的数据。 它经 OpenCLI daemon + BrowserBridge 扩展驱动你日常登录的真实浏览器(Chrome/Edge),采集结果经真实性判定(空结果/风控页会被标出,不信 exit 0),报告每个数据节自带出处三元组(命令+时间+快照路径,零模型改写),写操作先弹审批窗。

它能帮你干什么(大白话)

一句话:让 dsh 帮你盯着网上你关心的东西,定时去看、有变化就通知你、要看过程随时回放——而且是用你自己的登录身份去看。

想象几个真实场景:

  • 你每天早上想看掘金/B站热榜,但不想自己打开网站翻。 跟 dsh 说一句"每天早9点把掘金热榜存下来,AI 相关的推送给我"——它建好定时任务,每天到点用你登录的浏览器去抓,发现 AI 相关的内容直接推到你飞书/钉钉。你睡你的觉。
  • 你盯着一个商品/一条公告/一次放榜。 设个 watch 关键词("降价""官宣""出分"),内容一出现就通知;插件还会对比上次和这次:多了 2 条、少了 1 条、某条从第 5 名跳到第 1 名——📊 直接写在通知里,不用你自己对比。
  • 你怀疑"它是不是真的抓到了"。 每份采集都过真实性判定:网站返回假数据/风控页会被当场标出("疑似静默失败"),不会拿一个 exit 0 糊弄你。报告里每条数据都注明哪来的(哪条命令、几点、存在哪个文件),可以自己点开对。
  • 你想让 dsh 替你在网上做点事(发个帖、填个表单):写操作先弹审批窗,你点了允许才执行,前后截图存进证据包——它动你账号之前必须问过你。
  • 出问题想搞清楚"它刚才干了啥"。 每一步浏览器操作都落了运行轨迹:几点、执行了什么、成功失败、截图——画布上像时间轴一样摊开,一目了然。

怎么开始用?三条路,选最省事的:

1. 装好后打开面板,对着"自然语言指挥台"打一句话(推荐):比如"每天早9点看看掘金热榜,出现 AI 就告诉我"——点"映射",插件把你的话拆成一个可检查的计划(建什么任务、几点跑、盯什么词),你确认就执行。看不懂计划也没关系,每一项都能改。

2. 在 dsh 聊天里直接说人话:不管是带插件工具的会话还是普通面板聊天,agent 都有办法替你完成(聊天里它自己会调命令)。

3. 喜欢亲手的:面板"自动化"页三格填一填(站点命令/cron/关键词)建任务,"通知通道"选个平台填 URL,总览页"试试看"直接跑一条命令看真实数据。

要准备什么:你电脑上装着 OpenCLI(它负责指挥你日常用的 Chrome/Edge,登录态来自浏览器本身,插件永远不碰你的账号密码)+ dsh。装插件 30 秒,详见下面"30 秒装完"。

在对话里说 · 插件做的事

"每天早 9 点拉知乎/B站热榜存档" · 面板建 cron 定时任务:持久化真执行,重启不丢,失败自动重试

"盯住热榜,'降价''官宣'一出现就告诉我" · watch 关键词命中 → 🔔 推送通知(面板事件流,点击直达任务)

"把这次的采集和上次对比一下" · 📊 快照差异:新增/消失/位移三形态写进通知,不用自己肉眼比

"把这周采集的数据整理成报告,注明每条哪来的" · 带出处报告导出:每节 = 命令 + 时间 + 快照路径,零模型改写

"昨晚 3 点那个任务到底跑没跑成?" · 运行轨迹逐命令落盘 + 画布回放,失败步附截图与输出摘录

"exit 0 就算拿到数据了?" · 真实性判定:确定性规则 + 亚秒决策模型,空结果/风控页标"疑似静默失败",定时任务按失败重试

"把这个转发到我的微博" · site weibo post … —— 先弹审批窗,你点了允许才执行,前后截图入证据包

15 秒价值演示:一句话 → 定时采集 → 变化推送 → 画布回放

1. 一句话:总览页"自然语言指挥台"输入"每天早9点看看掘金热榜,出现 AI 就告诉我"→ 点"映射"→ 预览卡上确认(建什么任务/几点跑/盯什么词,每项可改);

2. 到点自动跑 + 有变化才吵你:定时任务用你登录态的浏览器真实采集,快照落盘;watch 词命中 → 🔔 推送;内容有变化 → 📊 "新增 2 条/消失 1 条/#5 跳到 #1"直接写进通知(飞书/钉钉/企微/TG/面板事件流);

3. 画布回放:运行现场钉在可平移缩放的画布上——每步一张卡(命令/截图/exit/耗时),卡片自带出处三元组,拖时间轴复盘"它到底做了什么"。

(待录 GIF:15 秒完整闭环演示录制中,先以静态截图+文字代替。)

实测效果(真实登录态,非演示数据):

对话里直接跑命令 · 定时采集 → 快照 → 时间线 → 带出处报告

![试试看](docs/assets/readme/demo-try-run.png) · ![真实数据时间线](docs/assets/readme/demo-timeline-realdata.png)

30 秒装完

# ① 装 opencli 并启动(已装过 opencli/OpenCLIApp?跳到 ③)
npm i -g @jackwener/opencli && opencli daemon restart

# ② 装 BrowserBridge 扩展(Chrome/Edge 都行),在浏览器里登录你的常用站点
#    https://github.com/jackwener/OpenCLI/releases → opencli-extension-*.zip → 浏览器"加载解压缩的扩展"

# ③ 装插件
dsh plugin add IKEASven69/dsh-opencli

不想自己动手?把下面这句发给你的 dsh,它替你装完并自检:

请按 https://github.com/IKEASven69/dsh-opencli/blob/opencli-release/AGENT_INSTALL.md 里的步骤帮我安装 dsh-opencli,装完跑一次自检并告诉我结果。

装完打开 dsh 设置 →「浏览器代理」面板:站点目录、定时任务与时间线、登录态巡检、daemon 一键修复。

<details>

<summary><b>安装注意事项(3 条,遇到问题再展开)</b></summary>

  • ⚠️ 旧版 opencli(≤1.8.8)在插件目录内跑 npm install 会静默替换宿主链接(#2555,2.0 已修复)——仍在 1.8.x 的用户请在仓库外装依赖。
  • ⚠️ Windows:dsh shell 走 PowerShell,DSH_OPENCLI_BIN 需指向 .cmd 结尾的 shim(无扩展名会被静默忽略)。版本管理器(vfox/nvm)切 node 版本后插件会自动扫描各版本目录找回 opencli。
  • ⚠️ 升级 dsh 到 0.2 前自查 profile cordis.patch.yml 有无引用未安装的 bundle——0.2 对此静默退出。

</details>

<details>

<summary><b>完整命令目录(170+ 站 / 1200+ 命令,点击展开)</b></summary>

170+ 站点适配器、1200+ 条命令(site <站> <命令> 一步式执行;目录蒸馏后注入 systemPrompt,模型第一轮就选对命令,不用先跑 opencli list 翻数 MB 输出)。

在对话里说 · 一步式命令

"B站搜罗翔,总结播放量前 3" · site bilibili search 罗翔

"知乎热榜前 10 摘要" · site zhihu hot

"同时拉知乎/微博/B站热榜做对比" · site_batch 一条命令三站并行

"打开公司后台把审批单批了" · browser_open/click 通用原语,用你的登录态

没适配器的网站? 目录之外,browser_* 通用原语覆盖任意网页;agent 还能当场造适配器,越用越会浏览。

</details>


登录态到底是怎么回事(重要澄清)

本插件不使用、也不需要 dsh 的内置浏览器。它经 OpenCLI 的 daemon + BrowserBridge 扩展,驱动你扩展装在哪个、就哪个浏览器的真实窗口(Chrome/Edge 均可)——登录态来自你日常浏览器里的真实会话,和你在地址栏手打网址完全同源。你在哪登录了知乎,agent 就能用你的知乎;巡检面板会告诉你哪些站在线。

两张牌:固定命令 × 任意网页原语

模型对每个站有两张牌,先打第一张,失败自动换第二张:

1. 固定命令(site <站> <命令>):预编译站点知识,省 token、结果可验证、有失败签名恢复表;

2. 任意网页原语(browser_open/state/click/fill + 只读脚本 + Playwright recipe):适配器没覆盖的页面用登录态自由组合。

动手前先让模型调 site_knowledge <站> 读知识卡:全部命令+已知坑+失败恢复表——不现场试错。知识卡可导出 markdown 分享(~/.dsh/opencli-knowledge/)。

竞品差异

对比基于 2026-10 各家公开仓库与 issue 区的调研,能力变化以各家最新版本为准。

能力 · 本插件 · Tencent/BrowserSkill · dsh 官方 Browser Use

登录态真实浏览器 · ✓ 你日常的浏览器 · ✓ · ✗ 匿名会话,无持久身份

结构化站点命令 · ✓ 170+ 站预编译目录 · ✗ · ✗

真实性判定(exit 0 ≠ 有效数据) · ✓ 规则 + 亚秒决策模型 · ✗ · ✗

定时 → 报告 → 推送闭环 · ✓ cron 持久化 + 带出处报告 + watch 推送 · ✗ · ✗ 无持久化存储

无限画布 · ✓ 用户侧运行现场复盘(卡片带出处三元组) · Canvas 面向 agent 操作(0.4.0 起含类型化 visual ref);用户侧复盘视图未见于其文档 · 自带引擎,与本插件路线不同

写操作审批门 · ✓ 工具层拦截,fail-closed · — · —

它回答的三个真实缺口

  • "browser agents re-learn every site on every session"(browser-use#5841)→ 170+ 站预置结构化命令:站点知识预编译,不重学。
  • "想在当前打开的 Chrome 实例上做自动化"(browser-use#4709)→ 登录态原生:所有命令跑在你已登录的浏览器里,不另起无头实例。
  • "求结构化动作证据:动作到底改没改页面"(browser-use#5137;同源 BrowserSkill#242)→ 执行真实性层:采集结果经确定性规则+亚秒决策模型两层判定,exit 0 但内容无效会被标"疑似静默失败",无人值守定时任务按失败重试。

已经自己装过 opencli,这插件还有什么用

· 只装 opencli(agent 走 shell) · + 本插件

开局发现 · 模型得先跑 `opencli l

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:2,最后更新 2026-11-01

链接

GitHub · Homepage · npm

同类插件