githubspace:把个人 GitHub 工作区装进 DSH 的组合包骨架

前言

在 DeepSeek Harness(DSH)里做智能体或长期任务时,常会把脚本、说明文档和本地工具链放在同一个 Git 仓库里维护。若只靠手动拷贝目录,DSH 侧很难统一「安装、启用、版本固定」;若把整仓硬塞进 DSH 配置,又不利于和 GitHub 上的默认分支对齐。下面介绍维护者 CHATUL1 的 githubspace 插件:它把名为 githubspace 的个人工作区仓库,打包成可安装的 DSH 组合包(bundle),便于在 DSH 插件页里管理;当前版本(0.2.0)主要提供组合包外壳,运行时 apply() 为空,适合作为后续扩展 Host 能力与客户端 UI 的起点。

这是什么

githubspace(npm 包名 githubspace)是一句定位很直白的话:个人工作区,由 DeepSeek Harness 维护;仓库本身同时是可安装的 DSH 组合包。维护者为 CHATUL1,GitHub 仓库为 CHATUL1/githubspace,许可证 MIT。在 DSH 插件商店目录页(skillhub 条目)中归类为工作流;仓库 package.json 里 dsh.catalog.category 为 other,中英简介均说明当前仅提供组合包骨架、没有运行时组件。

仓库里有什么

README 列出的主要路径如下,便于对照源码与后续改 bundle:

路径 作用
GITHUB-SETUP.md GitHub 接入说明
package.json 包清单,dsh.bundle.patch 声明组合包
cordis.patch.yml 插入插件行的 patch
index.js 插件入口(Host 半侧)
locale/、icon.svg 插件展示元信息与图标
tools/ 本地便携版 Git / gh(已 gitignore)

文档中标注的环境参考为 Git 2.56.0、GitHub CLI 2.103.3(位于 tools/),账号为 CHATUL1;这些文件是否随安装进入你的环境,以实际安装包内的 files 字段为准(当前 package.json 的 files 未包含 tools/)。

核心功能(已核实)

当前版本不调用任何 dsh 服务,dsh.catalog.capabilities 为空。已具备的能力可以概括为:

  1. 组合包安装路径:通过 dsh.bundle.patch 指向 cordis.patch.yml,把 githubspace 工作区以 bundle 形式挂入 DSH。
  2. 插件元数据:locale/ 与 icon.svg 供插件页展示;exports 暴露入口与 locale、图标。
  3. 扩展占位:Host 侧入口为 index.js 的 export function apply(ctx, config),当前 apply() 为空;加功能时需在此注册,并用 ctx.effect / ctx.on 返回清理函数。
  4. 商店收录机制:仓库已设 topic dsh-plugin、deepseek-harness;商店目录由每日构建自动抓取,无需提 PR(门槛见下文「上架 dsh-plugin-shop」)。

若需要浏览器端 UI,README 要求增加 dsh.client 段、./client 导出和 client.js(模块加载器工厂,id 与包名一致),且新增文件须同步到 package.json 的 exports / files,否则 git 安装后可能读不到。

安装与启用

安装方式来自 README,分本地目录与远端 Git 两种;不要凭插件名自行拼接 dsh plugin add github:owner/repo。

在 DSH 中打开:插件 → 添加插件 → 安装第三方插件,然后任选其一:

远端(推荐与仓库默认分支对齐):

git+https://github.com/CHATUL1/githubspace.git

本地目录(示例为 README 中的 Windows 路径,请改为你本机 clone 或解压后的实际路径):

D:\workspace

装好后插件默认可能未启用,需在插件页手动打开。README 说明:cordis.patch.yml 新增行首次生效可能要求重启 DSH。

典型用法与后续开发

当前没有独立的「一键业务命令」示例;典型用法就是把个人 githubspace 仓库作为 bundle 装进 DSH,再在 index.js 里逐步实现 Host 逻辑。README 给出的开发顺序如下:

  1. 在 index.js 的 apply(ctx, config) 中编写 Host 能力,注册项用 ctx.effect / ctx.on 并在返回的清理函数里释放资源。
  2. 若要 UI,补全 dsh.client、client.js 与 ./client 导出。
  3. 改完文件列表后更新 package.json 的 exports / files。

GitHub 账号与 CLI 的接入细节见仓库内 GITHUB-SETUP.md(本文不展开未抓取的全文)。

上架 dsh-plugin-shop(维护者向)

社区目录站点与 DeepSeek / 幻方无官方从属关系;收录规则以 README 为准:

  • 仓库带 dsh-plugin 或 deepseek-harness topic,根目录 package.json 含 name 与 dsh.bundle 即可被收录。
  • 门槛:license 与 repository 必填、无构建脚本、无 workspace: 依赖、bundle 要加载的文件必须提交在仓库里。
  • 上架后商店按默认分支的 commit 固定版本;之后每次推送,下一轮构建会重新读取。

适用场景与注意

适合谁:希望把「个人 GitHub 工作区仓库」和 DSH 的安装/启用流程绑在一起、并计划在 apply() 里逐步加 Host 能力的开发者;接受当前仅为 bundle 骨架、无现成业务能力。

务必注意:

  • 插件在 当前 dsh 进程权限 下运行;安装前应阅读 源码 与 MIT 许可证,确认 patch 与入口文件符合你的安全策略。
  • cordis.patch.yml 会改动插件组合方式,首次启用后若行为异常,可按 README 尝试重启 DSH。
  • 商店分类(工作流)与 package.json 内 catalog 分类(other)表述不一致时,以仓库内 package.json 的 dsh.catalog 文案为准:当前仅组合包骨架,capabilities 为空。

结尾

githubspace 的价值在于:用标准 DSH bundle 把 CHATUL1 的个人工作区仓库装进 Harness,并预留 Host / Client 扩展位;现阶段重点是安装与 bundle 管理,而非开箱即用的 GitHub 自动化。目录页:https://www.skillhub.cn/plugins/CHATUL1/githubspace;源码与说明:https://github.com/CHATUL1/githubspace。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜