DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Client Plugin Command Center — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
C

@dsh-external/dsh-client-plugin-command-center

Client Plugin Command Center

dsh 的控制中心:监视正在运行的后台任务,区分长时间无响应与挂起,并在一个面板中回复智能体。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:catsenior507/dsh-command-center#7f7de11673b3d06c9bf95e8ae69b6a87c664d984
README兼容性版本

兼容性与来源证明

Client Plugin Command Center 以 @dsh-external/dsh-client-plugin-command-center 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/27

版本

0.1.0stable
2026/9/27

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/15
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Ab Chartdsh-ab-chart带有绘制其调用的浏览器卡片的图表渲染工具,封装在一个可发布的插件包中Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

dsh-command-center

一个 dsh 插件:把「正在跑什么、agent 在等谁、等了多久」放进一屏,并在 agent 停下来等你的时候喊你。

两组观察者

看什么怎么接
jobs正在运行的后台任务ctx.jobs,跨 agent 联合(见下)
questionsagent 正在等回答的问题user-questions/request waterfall,只观察、绝不代答

三个必须知道的约束

1. jobs.list() 不传 caller 时看不到任何有主任务

任务按会话围墙,list() 省略 caller 只会返回无主任务。所以面板必须用 ctx.agents.list() 拿到所有活 agent,逐个 list(agent) 再按 id 去重合并 (src/host/registry.ts)。这个坑靠读类型签名发现不了 —— list(caller?) 里的 问号看起来完全无害,只有真跑一个后台任务才会暴露:面板显示 tasks: 0 而任务明明在跑。

2. ctx.slots 是属性访问,必须声明 inject

// src/client/index.tsx 顶部必须是:
export const inject = ['slots']

缺少它,整个浏览器 bundle 加载失败:

cannot get property "slots" without inject

(ctx as unknown as {...}).slots 这种强转骗得过 TypeScript,骗不过 cordis —— 运行时照样抛。宿主端 ctx.get('jobs') 是方法调用,取不到返回 undefined,可以兜底; 客户端 ctx.slots 是属性访问,缺声明直接崩。同样是取服务,两条路的安全性不同。

test/inject.test.ts 会在测试阶段拦住这类错误,并且有一条测试专门证明它抓得住这个 bug。

3. read 模式实测不安全,已停用(2026-09-22 实测)

原本想在 read 模式下读任务输出来测「沉默多久」✓ 思路没错 ✗ 但实测结果是不能做:

observe=read
agent sees: ""        ← job_output 什么都拿不到

JobRegistry.read() 的消费游标是按任务记的,不是按调用者记的 ✓ —— 第二个读取者会把差异输出 从第一个那里拿走 ✗。所以插件一旦采样,agent 自己的 job_output 就永远返回空 ✓。

已回滚 ✗ 并把开关名从 DSH_COMMAND_CENTER_OBSERVE 改成了 DSH_COMMAND_CENTER_READ_OUTPUT ✓ —— 因为回滚一度没生效:守望者每次重启宿主都会 重新抓取环境快照 ✓ 把运行中宿主里的旧值写回去 ✗ 于是盗窃被重新武装 ✓。换个没人设置的新名字, 这条路就断了 ✓。

除非将来有了不消费的读取方式,否则不要再打开它 ✓。

4. 观察模式默认 changed-only

JobRegistry.read() 返回的是消费式差异输出。如果消费游标按任务记而不是按调用者记, 插件轮询就会把 agent 自己的 job_output 输出偷走。所以默认不读输出,每个响应里都带 observe: 'changed-only',面板据此显示「无活动数据」而不是画一根没测过的进度条。

改这个插件的流程

浏览器半边的改动会同时打断我自己的工作界面 —— GUI 坏了我就没法修,只能靠别人。所以:

  1. 改代码 → npm test(含 inject 守卫)全绿;
  2. npm run build,并确认 lib/client.js 里 exports.inject 与 dsh-clock 一致;
  3. 需要重启才生效,重启前先说明,不要突然打断对话;
  4. 重启后先读 ~/.dsh/command-center/startup.log 确认 jobs=watched api=4811, 再去看界面。日志和 API 说法不一致时(曾经出现 jobs=watched 配 jobsWatched=false), 那个矛盾本身就是 bug 的位置。

构建

npm install
npm test          # 47 个测试
npm run build     # lib/index.mjs (宿主) + lib/client.js (浏览器)

许可

MIT