dsh-todo-panel

by 1479650473

0 工作流与自动化github 检测到 manifest package.json#dsh收录于 08-16

DeepSeek Harness 持久待办面板:标题切换打开由 todos 投影提供内容的浮动任务面板

Persistent to-do panel for DeepSeek Harness: header toggle opens a floating task panel fed by the todos projection

安装

dsh plugin --profile web add github:1479650473/dsh-todo-panel

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

为 DeepSeek Harness 提供的常驻可切换任务面板:会话头部按钮打开浮动任务面板,数据来自 todos 投影,与官方组合器条带并存。

官方 conversation.input.dock 任务条带(由 @deepseek-ai/dsh-client-ui-conversation 挂载)保持不变——本插件只新增常驻浮动视图,两个界面共享同一投影、始终同步。

特性

  • 头部开关 — 会话头部(conversation.session.header.actions)的清单按钮切换面板;按下态与面板状态实时一致。
  • 浮动面板 — 帧级 shell.overlay 槽上的固定定位卡片:任务列表、状态图形、进行中计数。
  • 同一数据、零重复 — 面板从当前会话摘要读取 todos 投影;关闭或当前会话无任务时隐藏。
  • 双语 — 独立 todo-panel 语言命名空间下的 zh / en 词典。

要求

  • DeepSeek Harness >= 0.1.0-rc.6,且已挂载任务能力(@deepseek-ai/dsh-tool-todo 注册 todos 投影)。按官方投影语义,任务在每轮开始(turn/start)时清空。

安装

dsh plugin add dsh-todo-panel

dsh.bundle 清单(cordis.patch.yml)挂载服务端插件条目,dsh.client 声明立即注入浏览器端(platform: web),重启 profile 即可生效。

截图

(待补充——首个正式版本发布后加入。)

开发

npm install        # 或 pnpm install
npm run typecheck  # tsc --noEmit
npm run test       # vitest(按文件 jsdom + __ModuleLoader__ harness)
npm run build      # tsc 声明 + esbuild 浏览器 bundle → lib/

架构

  • src/client/index.ts — 客户端插件主体:注册 todo-panel 词典,并将开关与浮动面板注入各自槽位。
  • src/client/TodoToggle.tsx — 头部开关(conversation.session.header.actions)。
  • src/client/TodoFloatingPanel.tsx — 浮动面板(shell.overlay);root 作用域条目拿不到会话框架钩子,因此从当前会话的 projectionValues.todos 读取。
  • src/client/TodoGlyphs.tsx — 三种任务状态的图形。
  • src/client/panel-store.ts — 开关与面板共享的跨槽可见性 store。
  • src/client/locales.ts — zh / en 词典。
  • scripts/build.mjs — esbuild bundle:harness 的 window.__ModuleLoader__.load 包装 + CSS Modules 编译为注入的 <style> 标签。

许可证

Apache-2.0 — 见 LICENSE。

原始 README: https://github.com/1479650473/dsh-todo-panel/blob/master/README.zh-CN.md ↗