🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

luigiinred/dsh-git-status-pill

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
未验证

一个用于 DeepSeek Harness 的浮动 git 状态胶囊。它会实时显示会话仓库的以下信息:

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/17 · 已提供中文文档

DeepSeek Harness 的浮动 git 状态胶囊:实时分支、+/- 行变更以及一个创建 PR 提示。

综合分
29.1
GitHub 分
29.1
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add luigiinred/dsh-git-status-pill
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · ui
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 9 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/25(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-git-status-pill

一个用于 DeepSeek Harness 的浮动 git 状态胶囊。它会实时显示会话仓库的以下信息:

- 分支和仓库名称
- +/− 行变更(git diff HEAD --shortstat)
- 已更改文件和未跟踪文件的数量、上游,以及领先/落后情况
- 一个 Create PR 提示:可编辑的标题、生成的 gh pr create 命令,以及可直接发送的 agent 提示

它会渲染到 harness 的 shell.overlay 插槽中——即横跨整个框架、可点击穿透的浮动层——因此它位于所有列之上,且不会阻挡应用。通过拖拽手柄来移动它;用 ✕ 隐藏它。

安装

从注册表安装
dsh plugin --profile web add dsh-git-status-pill

或直接从检出目录 / tarball 安装
dsh plugin --profile web add /absolute/path/to/dsh-git-status-pill

dsh plugin … add 会在 profile 目录内转发给 pnpm,因此该包会落入 profile 的 node_modules 中。

然后确保该包出现在 $DSH_HOME/profiles/web/package.json 中 profile 的 dsh.profile.bundles 列表里:

{
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-git-status-pill"]
}
}
}

正是这个列表会应用该包的 cordis.patch.yml,从而插入 host 行:

- insert:
- id: git-status-pill
name: dsh-git-status-pill

重启 web profile。胶囊会出现在框架的右下角。

发布

npm login
npm publish --access public

package.json 中未设置 publishConfig/access,因为该包是未限定作用域的;如果你将其重命名为某个作用域下的包,请添加 "publishConfig": { "access": "public" }。发布前,请在 package.json 中设置真实的 repository.url。

它是如何接线的

| 部分 | 文件 | 机制 |
| --- | --- | --- |
| Host | lib/index.js | ESM Cordis 插件。inject: ['webServer'],注册一个精确的 HTTP 路由,通过 ctx.shell 服务读取 git。 |
| Client | lib/client.js | window.__ModuleLoader__ bundle。注入 slots,占用 shell.overlay,用 fetch 轮询 host 路由。 |
| Composition | cordis.patch.yml | 在应用 bundle 时插入 host 行。 |

为什么使用 HTTP 路由而不是 typert Remote

harness 中规范的 host→client 桥接方式是 typert Remote 命名空间——客户端调用 ctx.remote..(),host 声明 @Remote(...) 方法,而插件的 client 部分用 await ctx.remote.$mount(contribution) 挂载自己的描述符。已发布的插件以及像 dsh-cost-meter 这样的社区插件就是这么做的。

问题在于,两侧的描述符
(lib/typert.host.js 和 client contribution)都是由
@deepseek-ai/dsh-typert-generator 从 Host FaceModel 生成的。该生成器并不属于已安装的 harness(0.1.5-rc.1),而手写生成的 schema 描述符很脆弱。

由于 harness web 服务器是公共服务,此插件使用一个普通的
改用精确路径的 HTTP 路由:无需代码生成,无需构建步骤,两端都是纯 JavaScript。代价是它不参与 typert 的作用域和 schema 校验。如果之后你想要一等公民的传输方式,就把 lib/index.js 中的路由移植为一个 TypertRemoteService 子类,然后运行生成器。

配置

路由路径和轮询间隔都是相关文件顶部的常量。路由在整个组合中必须唯一——重复的 (kind, path) 会在注册时抛出异常。

| 常量 | 文件 | 默认值 |
| --- | --- | --- |
| ROUTE | lib/index.js、lib/client.js | /git-status-pill/status |
| POLL_MS | lib/client.js | 4000 |
| DEFAULT_POS | lib/client.js | 右下角,输入框上方 |

行为说明

- 非仓库工作区。 当会话工作区不是检出目录时,该胶囊组件会扫描工作区及其父目录中的 .git 目录,并将它们作为选项标签提供,另外还有一个用于输入绝对路径的字段。仅向下扫描会遗漏同级仓库,这就是包含父目录的原因。
- 沙箱。 对会话工作区之外的读取可能会被 harness 沙箱拒绝。拒绝会报告在负载中(denied: true),而不是静默渲染为零。
- gh。 宿主会报告 gh 是否在 PATH 中;如果没有,面板会说明这一点并指向 agent 提示词。
- 剪贴板。 使用 navigator.clipboard,并回退到可选择的 textarea。

状态

该组件的逻辑已针对真实仓库验证。包打包——模块加载器包装器、cordis.patch.yml 和 HTTP 路由——尚未安装到 profile 中并进行端到端启动。将 0.1.0 视为初版:安装它、重启,并检查运行卡片 / 浏览器控制台。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群