Skip to content
dsh.fish
Bundle

@baihejiangnan/dsh-plugin-dev

本地插件开发管理面板:主动登记通过 file:/link: 安装的真实路径项目,并通过带风险确认的工作区会话协助开发与发布。

Source
baihejiangnan
License
MIT
Updated
Updated 7 days ago

Readme

# dsh-plugin-dev

本地插件开发管理面板(DeepSeek Harness Web 插件)。帮助 DSH 用户开发、上传和管理自己的插件。

## 功能

| 功能 | 说明 |
|------|------|
| 本地插件列表 | 扫描各 profile 的 `package.json`,将开发根目录中通过 `file:` / `link:` 安装的包列为候选;只有用户主动加入的项目才进入开发管理 |
| 主动加入/移出 | 从“待加入项目”明确加入开发管理,也可随时移出;登记使用路径真实化结果,不修改被管理插件 |
| 打开资源管理器 | 使用 Harness 官方 workspace 服务,在系统文件管理器中打开插件源码目录 |
| 讨论上传 GitHub | 在插件工作区创建安全确认会话,预填仓库名、可见性、描述和风险约束;插件本身不执行 `git` / `gh` 命令 |
| 讨论更新 | 已有关联 remote 的插件会开启更新检查会话;模型须先只读检查变更和风险,等待用户明确确认后才可操作 |
| 继续开发 | 在该插件目录开启工作区会话,并发送「继续开发」提示词开始对话 |
| 相似度(预留) | 计划中的后续功能:GitHub 上相似插件的相似度检测 |

## 面板位置

设置 → 本地开发(与「插件」同级的独立设置条目,排在设置导航末尾)。

## 安装

```bash
dsh plugin --profile web add link:<本目录绝对路径>
```

安装后**重启 DSH 并硬刷新** Web 页面。

也可以直接从 GitHub 安装:

```bash
dsh plugin --profile web add "github:baihejiangnan/dsh-plugin-dev"
```

## 更新与卸载

```bash
# 更新:移除旧安装后重新获取
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](https://cli.github.com/)(`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

Install

dsh plugin --profile web add github:baihejiangnan/dsh-plugin-dev

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source