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
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install baihejiangnan-dsh-plugin-dev from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.