dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
按钮与菜单由底座 `dsh-open-in-app-base` 统一渲染,本插件只负责「目标软件」这一半:注册一条目标记录,并在自己的宿主半边实现「是否可用」与「怎么打开」。不 fork、不修改宿主,也不依赖原生 open-in-app 的应用目录——插件自带一个本机路由,直接向 CodeBuddy CN 的 CLI 入口传递目录参数。
DeepSeek Harness(DSH)第三方插件:向会话(Session)头部工具栏的 "Open In..." 按钮组注册一个 CodeBuddy CN 目标,一键用本机 CodeBuddy CN 打开当前会话的 workspace 目录。
按钮与菜单由底座 dsh-open-in-app-base 统一渲染,本插件只负责「目标软件」这一半:注册一条目标记录,并在自己的宿主半边实现「是否可用」与「怎么打开」。不 fork、不修改宿主,也不依赖原生 open-in-app 的应用目录——插件自带一个本机路由,直接向 CodeBuddy CN 的 CLI 入口传递目录参数。
本插件依赖底座 dsh-open-in-app-base(会话头部的「Open In...」按钮组),需先单独安装底座再安装本插件。缺少底座时本插件不会报错,只是没有按钮组可挂载目标。
两个包都发布在 npm,按包名安装即可(默认装最新版,可用 包名@版本 钉住精确版本)。
# web profile 安装(先底座,后本插件)
dsh plugin --profile web add dsh-open-in-app-base
dsh plugin --profile web add dsh-open-in-codebuddy
# desktop profile 安装(先底座,后本插件)
dsh plugin --profile desktop add dsh-open-in-app-base
dsh plugin --profile desktop add dsh-open-in-codebuddy
备选:也可从远程仓库 tag 直接安装(tag 源码自带构建产物 lib/,安装侧零构建),写法为 'github:lovezi0/dsh-open-in-codebuddy#vX.Y.Z'。
在 profile 的 cordis.patch.yml 中按 id 覆盖即可,无需改插件代码:
- id: open-in-codebuddy
config:
codebuddyHome: "" # CodeBuddy CN 安装根目录;留空 = 自动探测
插件在会话头部注册一个 CodeBuddy CN 目标,由底座渲染成按钮组里的菜单项;底座按约定向本插件的宿主同源路由探测可用性(GET open-in-codebuddy/available),点击后发送当前会话目录(POST open-in-codebuddy/open)。宿主侧校验来源与路径后,以等效于 CodeBuddy CN 官方命令行 shim 的方式拉起本机实例(实例已存在时新开窗口)。实现细节见源码注释。
npm run build(纯 Node 脚本,零依赖;产物 lib/ 随仓库提交,tag 安装通道零构建)。vX.Y.Z tag 触发 GitHub Actions,自检(build + selftest)通过后经 npm Trusted Publishing(OIDC,免 token)自动发布;tag 必须与 package.json 的 version 一致,否则发布失败。assets/codebuddy-cn-line.svg,浏览器产物内联其路径数据;离线自测会比对两者,素材改动需同步到 src/client/10-target.js。npm run selftest(用假宿主 ctx 驱动 host 路由、用 vm 沙箱驱动 client 产物,覆盖围栏、入参校验、跨半边的路由约定与注册链路,无需装载 DSH)。