dsh-plugin-starter

by ookami-change

0 工具与能力github收录于 08-23

DeepSeek Harness 的最小可安装插件起步模板

Minimal installable plugin starter for DeepSeek Harness.

安装

dsh plugin --profile web add github:ookami-change/dsh-plugin-starter

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

一个面向 DeepSeek Harness 的浏览器读取插件。它注册 browser_read_page 工具,通过 Chrome DevTools Protocol(CDP)在专用 Chrome 会话中打开网页并返回可见正文。

默认只允许访问 joyspace.jd.com,避免模型使用已登录浏览器任意访问其他站点。页面正文会作为不可信内容返回,且默认最多读取 20,000 个字符。

1. 启动专用 Chrome

现代 Chrome 要求远程调试使用独立的用户数据目录。macOS:

open -na "Google Chrome" --args \
  --remote-debugging-port=9222 \
  --user-data-dir="$HOME/.dsh-browser-profile"

在新窗口中登录 JoySpace。这个目录只供 DSH 使用,不会接管日常 Chrome 会话。

验证 CDP 是否可用:

curl http://127.0.0.1:9222/json/version

2. 安装插件

dsh plugin --profile demo add github:ookami-change/dsh-plugin-starter
dsh --profile demo --dump-config
dsh --profile demo

3. 使用

向 DSH 输入:

打开并读取 https://joyspace.jd.com/pages/4TorcK3QJQYVxJiGVydy

模型会调用:

{
  "url": "https://joyspace.jd.com/pages/4TorcK3QJQYVxJiGVydy"
}

工具还支持:

  • selector:仅读取指定 CSS 节点。
  • wait_ms:页面加载后额外等待 0–10,000 毫秒,适合 SPA。
  • max_chars:返回 1–100,000 个字符。

配置

编辑 profile 中对应的 Cordis patch,或修改本仓库的 cordis.patch.yml:

- insert:
    - id: browser-cdp
      name: dsh-plugin-starter
      config:
        cdpEndpoint: http://127.0.0.1:9222
        allowedHosts:
          - joyspace.jd.com
          - '*.example.com'
        navigationTimeoutMs: 30000
        waitAfterLoadMs: 1500
        maxChars: 20000

通配规则 *.example.com 只匹配子域名,不匹配 example.com 本身;不接受全局 *。

安全边界

  • 仅支持 http / https URL。
  • 拒绝 URL 中嵌入的用户名和密码。
  • 导航前后都检查域名白名单,阻止跳转到未授权站点。
  • 每次调用新建并关闭一个标签页,不修改已有标签页。
  • 插件能读取专用 Chrome 会话已登录站点的内容;只应把可信域名加入白名单。

开发验证

npm install
npm test

原始 README: https://github.com/ookami-change/dsh-plugin-starter/blob/main/README.md ↗