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

bobobo2026/dsh-workspace-promote

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
✓ 可直接安装

DeepSeek…

自动检查通过:npm 包已发布且 engines 声明满足基线;该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/15 · 已提供中文文档

DSH host plugin: promote the workspace you just submitted a task in to the top of the sidebar — once per submission, never during task execution. | 提交任务时把该工作区置顶,任务执行期间不重排。

综合分
29.2
GitHub 分
29.2
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-workspace-promote
npm 包 dsh-workspace-promote 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 1 天前真实安装成功
是什么
dsh 原生插件 · ads
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 10 天前

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

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-workspace-promote @ 0.2.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 02:25:12

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-workspace-promote

DeepSeek Harness(DSH)宿主层插件:用户提交任务时,把该任务所在的工作区顶到侧边栏第一位——一次提交只排一次,任务执行期间绝不重排。

一条命令装完,不需要改任何 patch——包自带 profile bundle patch:

dsh plugin --profile web add dsh-workspace-promote

装完重启 dsh web(宿主层插件在启动时挂载)。

它补的是哪个缺口

DSH 侧边栏对两层的处理完全不同:

| 层 | 原生行为 | 够用吗 |
|---|---|---|
| 工作区组内的会话 | 视图选项默认 orderBy: "updated",有新活动的会话会被提升到所属组顶部 | ✅ 原生就够,不需要插件 |
| 工作区本身 | 顺序来自持久化的 workspaceIds 数组,即手动拖拽顺序,不会因为你正在哪个项目干活而变化 | ❌ 本插件 |

所以「我正在做的项目浮到最上面」这个需求,缺的只是工作区这一层——正好是本插件加的东西。

触发语义

插件只在一个条件下重排:user/message 事件且 data.source.kind === "user",也就是真人确实提交的那条 prompt。

同一条 user/message 事件还承载另外两类内容,靠 source.kind 区分,本插件一律忽略:

| source.kind | 是什么 | 本插件 |
|---|---|---|
| user | 真人直接提交的 prompt | ✅ 置顶 |
| plugin | agent.inject() 合成上下文(文件变更通知、AGENTS.md、skill 内容、cron 通知)以及 goal 续跑轮次 | ❌ 忽略 |
| tool | 工具回执(role 同样是 user) | ❌ 忽略 |

执行期事件——assistant/message、step/start、step/end、turn/start、turn/end——同样全部无视。

效果:一次提交 = 一次置顶。 任务执行过程中侧边栏纹丝不动。

反过来,如果直接挂在原始的 session/event 事件流上(最直觉的第一版实现),侧边栏就会持续跳动——因为工具回执本身就是 user 角色的事件。

工作原理

- 命中后调用 workspaceRegistry.insertBefore(id, currentFirst)。
- 若该工作区已在第一位,或工作区不足 2 个,直接返回且不产生任何写操作,所以事件突发不会造成写盘风暴。
- 无状态文件:insertBefore 改的就是持久化的 workspaceIds 顺序,结果天然跨重启保留,也没有「重启后活动样本不足」的问题。
- 未分组(ungrouped)会话与子代理子会话不参与。
- 任何失败只写日志,绝不影响会话本身。

审计日志

~/.dsh/workspace-promote.log(尊重 DSH_HOME)。只追加,用来回答两个问题:当前进程跑的到底是哪个版本的行为、以及它究竟在什么时刻触发。

2026-09-15T09:31:44.809Z boot pid=49220 trigger=human-prompt-only
2026-09-15T09:33:11.770Z promote workspace=039cce9b-... session=session-1ee5c45f-... from=a6680e0c-...

ctx.logger 的输出去向没有保证,而这个文件是确定的。

已知取舍

实时排序会与手动拖拽争夺第一位:把工作区 B 拖到顶部后,只要你在 A 里提交任务,A 就会回到第一位。这是「动态排序」的固有语义,不是 bug。

与 dsh-workspace-sort 的区别

dsh-workspace-sort 同样按活动给工作区排序,但语义是「每个日历日最多重排一次,之后锁死」——早上看到的顺序反映的是截至昨天的活动。本插件的触发点是用户的提交动作,且不保留状态文件。

想要「侧边栏一整天都别动」就选 dsh-workspace-sort;想要「我正在做的项目在最上面」就选本插件。

验收

1. 在别的项目里提交一条任务 → 该项目跳到第一位。
2. 观察该任务执行过程(大量工具调用、多轮 step)→ 侧边栏不应再有任何移动。
3. ~/.dsh/workspace-promote.log 里每次提交只应新增 1 行 promote。

卸载

dsh plugin --profile web rm dsh-workspace-promote

然后重启 dsh web。如果你是手工写进 cordis.patch.yml 的,就删掉那行 workspace-promote 再重启。

注意:不要同时使用两种安装方式。如果你手工加过行、后来又把它作为 bundle 安装,同一个 row id 会被插入两次——先删掉其中一个。

License

MIT

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

💬 加入社群

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

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