packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
在 DSH 网页端 ask_user_question 弹窗中为每个选中选项增加可选的补充说明输入框,提交时补充内容随答案一并传给模型。
DSH(DeepSeek Harness)「交互式问答」弹窗增强插件:用户点选某个选项后,在该选项正下方出现一个可选的补充说明输入框;填写的内容与选中的选项一并传给模型。
QuestionComposer 的忠实移植,同一套 CSS 令牌与几何)。{ "answers": [ { "id": "...", "selected": ["选项文字"], "custom": "…" } ] }。custom 的组装规则:单选 = 补充文本原文;多选 = 每个有补充的选项一行、格式「选项文字: 补充」(模型可分清哪句对应哪个选项);底部自由回答行若有内容追加在最后。不填补充说明时行为与原版完全一致。启用后,单选点选项不再自动跳到下一题(原版会跳,但那会让用户没机会填写补充说明),而是停留在当前题并展开输入框;在输入框里回车或点「下一题」按钮进入下一题,最后一题回车即提交。
conversation.composer 链式槽以 priority: -10(官方在默认 0)注册增强版组件,链选举「数值小者先跑、第一个 select 非 null 者胜出」,因此增强版先被询问并接管通用问题卡的渲染;官方插件的卡片注册、倒计时、投影、续答机制原样复用(src/client/carrier.ts 以结构化方式消费官方载体对象)。select 返回 null → 安全降级为官方弹窗(功能缺失但弹窗可用)。userQuestions.answer() 只校验「每题恰好回答一次」,不禁止 selected 与 custom 并存;工具结果与超时续答消息都是原样 JSON 透传。pnpm install
pnpm run build # 产出 lib/index.js(宿主半)与 lib/client.js(浏览器半)
pnpm run check # 产物语法检查
# 安装到 desktop 配置(会写入 dsh.profile.bundles,需重启 DSH 生效)
dsh plugin --profile desktop add <本目录路径或 npm 包名>
针对 DSH 0.2.0-rc 族(@deepseek-ai/* peer ^0.2.0-rc.1)。官方弹窗组件内部结构若在后续版本变化,需同步调整 src/client/carrier.ts 的结构匹配与 src/client/composer.tsx 的移植。