DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

lovezi0 /

lovezi0/dsh-open-in-codebuddy

Verified

按钮与菜单由底座 `dsh-open-in-app-base` 统一渲染,本插件只负责「目标软件」这一半:注册一条目标记录,并在自己的宿主半边实现「是否可用」与「怎么打开」。不 fork、不修改宿主,也不依赖原生 open-in-app 的应用目录——插件自带一个本机路由,直接向 CodeBuddy CN 的 CLI 入口传递目录参数。

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@00a2a160

dsh-open-in-codebuddy

DeepSeek Harness(DSH)第三方插件:注册 CodeBuddy CN 打开方式,一键用本机 CodeBuddy CN 打开当前会话的 workspace 目录。两个入口:

  • 原生右键菜单(DSH 0.2.2-alpha.3 起):在会话、工作区、文件树目录的右键菜单里出现「用 CodeBuddy CN 打开」,无需任何前置插件;
  • 会话头部「Open In...」按钮组(需底座 dsh-open-in-app-base):按钮与菜单由底座统一渲染。

本插件只负责「目标软件」这一半:注册菜单项/目标记录,并在自己的宿主半边实现「是否可用」与「怎么打开」。不 fork、不修改宿主,也不依赖原生 open-in-app 的应用目录——插件自带一个本机路由,直接向 CodeBuddy CN 的 CLI 入口传递目录参数。

License: MIT npm DeepSeek Harness:0.2.2-alpha.3 Desktop: supported

特性

  • 双端一致:web profile 与 Desktop(Electron)profile 同一条通道、同一份代码。
  • 原生右键菜单:向 DSH 统一右键菜单注册「用 CodeBuddy CN 打开」(会话 / 工作区 / 文件树目录三类目标);旧版 DSH 上自动降级为无此入口,不影响头按钮。
  • 接入原生位置:目标并入会话头部的「Open In...」按钮组,外观与原生按钮一致——按钮尺寸、图标规格与菜单由底座渲染,本插件不自绘控件。
  • 自动探测安装位置:按「显式配置 → 注册表 App Paths → 各盘符常规安装布局」三级探测;探测不到时该目标不进入菜单(远程/SSH 场景天然隐身)。
  • 安全围栏:路由仅接受回环/可信 Host 的同源请求,拒绝跨站;目标目录必须是本机绝对路径且真实存在。
  • 仅 Windows 生效:非 Windows 平台该目标恒不可用。

安装

  • 原生右键菜单入口:DSH 0.2.2-alpha.3 及以上版本开箱即用,单独安装本插件即可。
  • 会话头部「Open In...」按钮入口:依赖底座 dsh-open-in-app-base,需先单独安装底座再安装本插件。缺少底座时本插件不会报错,只是没有按钮组可挂载目标。

两个包都发布在 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 安装根目录;留空 = 自动探测

工作原理(简述)

两个入口共用同一组宿主同源路由:右键菜单与底座按钮先向 GET open-in-codebuddy/available 探测可用性(确认缺席时菜单项隐藏),点击/选中后经 POST open-in-codebuddy/open 发送目标目录。宿主侧校验来源与路径后,以等效于 CodeBuddy CN 官方命令行 shim 的方式拉起本机实例(实例已存在时新开窗口)。实现细节见源码注释。

开发与发布

  • 构建:npm run build(纯 Node 脚本,零依赖;产物 lib/ 随仓库提交,tag 安装通道零构建)。
  • 发布:在 GitHub 仓库推送 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)。
  • 提交前请自行完成脱敏检查(本机路径、用户名、凭据一律不得入库)。

版本历史

  • 0.1.5
    • npm publish v0.1.5
    • 0.1.5-alpha.1
      • 🔥支持 dsh 原生右键菜单 要求 dsh 最低版本0.2.2-alpha.2
  • 0.1.4
    • 💪跟随官方移除 webRuntime 更改为 webStartup
    • 更改插件兼容性定义为 engines.dsh
    • 适配deepseek harness 0.2.1-rc.2
  • 0.1.3
    • 💥移除 dsh-open-in-app-base 默认携带 插件携带底座会导致无法正常卸载
  • 0.1.2
    • 🐛修复缺少dsh-open-in-app-base插件的情况下dsh启动崩溃的问题
  • 0.1.1
    • 💥基于 dsh-open-in-app-base 改造
  • 0.1.0
    • 🔥dsh 新增 Open in CodeBuddy

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 00a2a1601982

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout