baihejiangnan
dsh-plugin-dev
Local development dashboard for DeepSeek Harness plugins with explicit project registration and safety-confirmed GitHub workflows.
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-plugin-dev
本地插件开发管理面板(DeepSeek Harness Web 插件)。帮助 DSH 用户开发、上传和管理自己的插件。
功能
| 功能 | 说明 |
|---|---|
| 本地插件列表 | 扫描各 profile 的 package.json,将开发根目录中通过 file: / link: 安装的包列为候选;只有用户主动加入的项目才进入开发管理 |
| 主动加入/移出 | 从“待加入项目”明确加入开发管理,也可随时移出;登记使用路径真实化结果,不修改被管理插件 |
| 打开资源管理器 | 使用 Harness 官方 workspace 服务,在系统文件管理器中打开插件源码目录 |
| 讨论上传 GitHub | 在插件工作区创建安全确认会话,预填仓库名、可见性、描述和风险约束;插件本身不执行 git / gh 命令 |
| 讨论更新 | 已有关联 remote 的插件会开启更新检查会话;模型须先只读检查变更和风险,等待用户明确确认后才可操作 |
| 继续开发 | 在该插件目录开启工作区会话,并发送「继续开发」提示词开始对话 |
| 相似度(预留) | 计划中的后续功能:GitHub 上相似插件的相似度检测 |
面板位置
设置 → 本地开发(与「插件」同级的独立设置条目,排在设置导航末尾)。
安装
dsh plugin --profile web add link:<本目录绝对路径>
安装后重启 DSH 并硬刷新 Web 页面。
也可以直接从 GitHub 安装:
dsh plugin --profile web add "github:baihejiangnan/dsh-plugin-dev"
更新与卸载
# 更新:移除旧安装后重新获取
dsh plugin --profile web remove @baihejiangnan/dsh-plugin-dev
dsh plugin --profile web add "github:baihejiangnan/dsh-plugin-dev"
# 卸载
dsh plugin --profile web remove @baihejiangnan/dsh-plugin-dev
依赖
- 创建开发对话依赖宿主的
workspaces/sessions服务(Web 组合自带)。 - 插件不会直接运行 Git 或 GitHub CLI。若用户在会话中检查风险后明确授权模型上传,实际执行仍依赖本机 Git,以及已安装并登录的 GitHub CLI(
gh auth login)。凭据由gh自身管理。
目录结构
lib/index.js 宿主端:只读 /api/plugin-dev/list 路由
lib/client.js 客户端:设置面板(settings.plugins.tab 槽位)
cordis.patch.yml 挂载声明(bundle patch)
package.json 包与 dsh.client 元数据
说明
- 候选插件必须同时满足:在 profile
package.json中通过file:/link:声明、拥有有效package.json,并且真实路径位于开发工作区内。默认开发工作区为~/Documents/herness。 - 候选项目不会自动被认定为用户自己的开发项目。用户必须在面板的“待加入项目”中明确点击“加入开发管理”,之后才会显示完整开发操作。
- 登记表保存在
DSH_HOME/plugin-dev/projects.json(默认~/.dsh/plugin-dev/projects.json)。移出管理只删除登记,不删除源码、不卸载插件。 - 扫描和登记均使用
realpath解析符号链接 / Windows junction 后再验证开发根目录,从而防止用根目录内的链接指向外部项目。 - 如需配置多个开发工作区,可设置
DSH_PLUGIN_DEV_ROOTS,Windows 下使用分号分隔多个绝对路径。 - 上传和更新属于高风险操作:可能泄露敏感文件、发布未完成修改、选错仓库可见性/owner/remote,或造成错误提交与推送。面板只负责创建带安全约束的对话,不会自动提交、推送或创建仓库。
- 安全确认提示词要求模型先进行只读检查、展示拟执行步骤,然后停止并等待用户在会话中明确确认。最终授权和执行结果仍需用户自行审阅。
- 功能三(相似度)尚未实现,仅作为后续开发点保留。
License
MIT