dsh-todo-enhancer
Manifest validDeepSeek Harness Plugin: Host half injects rules into the system prompt, requiring the LLM to wrap content needing user decisions in paired markers `<!-- dsh-todo:start -->…<!-- dsh-todo:end -->` (rendered invisible); the Client half only enhances the UI above the input box by displaying a table with checkboxes for the marked blocks, supporting single-line/whole editing and "Send directly", "Fill into dialog", and "Close", and closes after any operation is completed.
dsh-todo-enhancer
让「需要用户决策的内容」以带复选框的表格呈现在输入框上方:勾选确认、行内编辑,然后直接发送 / 填入对话框 / 关闭,任意操作后面板自动关闭。 Turn "content that needs your decision" into an editable checkbox table above the composer — check, edit, then send / fill the draft / close; any action closes the panel.
DeepSeek Harness 双半区插件:Host 半区向系统提示词注入标记规则;Client 半区把 LLM 用标记包裹的决策清单渲染为可编辑表格。 A DeepSeek Harness plugin (Host + Client halves): the Host injects a marker rule into the system prompt; the Client renders LLM decision lists — wrapped in markers — as an editable table above the composer.
功能 / Features
- 标记驱动识别,杜绝误报:只解析
<!-- dsh-todo:start -->…<!-- dsh-todo:end -->标记块;普通陈述性列表(编号 / 项目符号 / checkbox)一律不触发。每个标记块 = 一个独立面板;块前紧邻的标题行作为列表标题。 - 复选框表格:勾选 = 确认执行;行内直接编辑文本;删除行 / 添加行;全选 / 全不选。
- 整体编辑:列表标题可改;「整体补充说明」多行文本会追加在发送内容末尾。
- 三种操作(任选其一,面板随即关闭):直接发送(填入输入框并立即提交)/ 填入对话框(仅填入 draft)/ 关闭。
- 时序保证:仅在对话全部输出完成(
session.running === false)后渲染;流式输出中隐藏。 - 来源纯净:思维链(reasoning)与工具调用块永不参与;dsh 自身的
todo_write任务清单不处理。 - 人类口吻序列化(而非逐字粘贴表格原文):
关于“发布检查”,我决定执行以下内容:
1. 确认版本号与发布说明一致
2. 检查回滚预案是否就绪
补充:发布窗口定在今晚十点
设计:标记驱动,杜绝误报 / Design: marker-driven, no false positives
普通启发式(把编号 / checkbox 列表都当作待办)会把陈述性列表误判为「需要用户决策」。本插件改为契约式识别:
-
Host 半区向系统提示词注入一条规则(
systemPrompt.section,order 120):凡有需要用户决策或确认的内容(待执行任务、待挑选选项、待批准方案),必须用成对标记包裹:<!-- dsh-todo:start --> - [ ] 事项一 - [ ] 事项二 <!-- dsh-todo:end --> -
Client 半区只认标记块:标记是 HTML 注释,渲染后不可见、不破坏正文美观;头尾成对、天然区分多个清单(同一条回复可含多个标记对)。没有标记的普通列表一律不触发增强 UI。
安装 / Install
支持从 GitHub 直接安装(公开仓库,需能访问 github.com;公开克隆无需登录,若本机 git 配置要求凭据则按 Git Credential Manager 授权即可):
dsh plugin --profile web add github:EmptyCollin/dsh-todo-enhancer
配合峰谷排队插件(dsh-peak-valley-queue)使用时,建议一条命令同时安装两个独立插件(两者都会加入 bundle 层):
dsh plugin --profile web add github:EmptyCollin/dsh-peak-valley-queue github:EmptyCollin/dsh-todo-enhancer
- 安装后重启 dsh 服务(bundle 层在启动时加载),并刷新浏览器页面(重新拉取插件清单)。
- 其他 profile 把
web换成对应 profile 名。 - 离线 / 尚未推送 GitHub 时,用本地路径安装:
dsh plugin --profile web add D:\dsh-plugin\dsh-todo-enhancer。 - Host 半区:
lib/index.js;Client 半区:lib/client.bundle.js(由lib/client.js经npm run build:client生成的模块加载器 bundle,产物已提交、无 prepare 脚本,安装无需构建)。 - 若 profile 装有 dshmarket,其也会自动挂载此类插件。
使用 / Usage
面板是标记触发式的,平时不可见:
- 重启服务并刷新页面后,向 LLM 发送会产出「需要你决策」内容的消息(例如「列出 3 个可选方案,让我选一个」);
- Host 规则会要求 LLM 用标记包裹清单,回复完成后输入框上方出现面板;
- 勾选 / 编辑后,选择「直接发送」「填入对话框」或「关闭」。
工作原理 / How it works
- Host:
ctx.get('systemPrompt').section({ name: 'dsh-todo-enhancer:decision-markers', order: 120, text })—— 会话作用域内注入标记规则。 - Client:注册
conversation.input.dock(id=todo-enhanced,order=5);数据源为槽位所有者 propssession;session.running作为「输出完成」闸门;动作走标准 propsinputActions.setDraft/submit。 - 纯前端 + 单服务调用,无持久化;样式与注册随插件卸载自动回收。
目录结构 / Structure
cordis.patch.yml # dsh.bundle 补丁:把本包插入 profile 的 bundle 层
lib/
index.js # Host 半区(提示词注入,导出 { name, apply })
client.js # Client 半区源码(import React,导出 { name, inject, apply } + 纯函数)
client.bundle.js # Client bundle(__ModuleLoader__ 自注册形式,由 client.js 生成,产物已提交)
dynamic-host.js / dynamic-host-body.txt # Host 动态函数体(export const hostBody,供 cordis_define 开发用)
dynamic-client.js / dynamic-body.txt # Client 动态函数体(export const clientBody)
scripts/
build-bundle.mjs # 从 lib/client.js 生成 lib/client.bundle.js
开发 / Development
npm run build:client # 由 lib/client.js 重新生成 lib/client.bundle.js(产物已提交,仅改动源码后需重跑)
npm run check # 重新生成 bundle 并对全部入口 node --check
node test.mjs # 离线冒烟测试(无标记不触发、多标记块多面板、思维链排除、Host 段落注册、动态体求值)
License
MIT
Comments
Loading…
From the same category
by nexu-io
🎨 Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. 🖥️ Local-first desktop app. 🖼️ Your coding agent becomes the design engine: prototypes, landing pages, dashboards,
★ 98.5k
Apache-2.0
TypeScript
Sep 28, 2026
by Molunerfinn
:rocket: The Ultimate Image Uploader for Efficient Creators. Supports Obsidian, Typora, VS Code etc. and 60+ image hosting services (S3, GitHub, Cloudflare R2, Imgur, Aliyun OSS...). Paste, upload, d
★ 27.3k
MIT
TypeScript
Sep 24, 2026
by zhu1090093659
DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
★ 8.1k
Apache-2.0
TypeScript
Sep 28, 2026
dsh plugin --profile web add dsh-webby YaoApp
✨ All your agents and workspaces in one place, on every device you own. Track tasks on a board, accessible from desktop, mobile, browser, or API. Self-hosted.
★ 8k
Go
Sep 28, 2026
by omdsh-dev
开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,
★ 3.9k
↓ 51.6k/wk
MIT
TypeScript
Sep 28, 2026
dsh plugin --profile web add dsh-better-sidebarby ccch1mneyyy
DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rol
★ 3.7k
↓ 8.2k/wk
MIT
TypeScript
Sep 28, 2026
dsh plugin --profile terminal add @deepseek-harness-tui/dsh-tui