前言¶
用 DeepSeek Harness(DSH)做开发久了,手边通常不止一个活:几个正在改的仓库、几个开了头没下文的半成品、一堆散在不同工作区的会话。会话记录躺在各自的工作区里,项目的当前状态和下一步要靠脑子记,或者靠翻目录、翻 git log 自己拼。看板类工具要么偏重流程管理、要么不贴合本地仓库和 DSH 会话,定时汇报基本要自己写脚本凑。
下面介绍 peng456 维护的社区插件 dsh-project-deck,它把「项目注册表 + 可视化面板 + 定时微信播报 + 自动发现 + 多机扫描」这几件事打包到一个插件里:先把仓库或目录登记进来,再让面板和定时播报替你盯着进度。
这是什么¶
dsh-project-deck 是一个面向 DSH 的项目管理插件,npm 包名为 dsh-project-deck,当前版本 0.1.8,作者 peng456,许可证 MIT,plugin 元数据里声明 engines.node >= 22.15。它解决的是「仓库、半成品和散在各处的会话没有统一视图」的问题,README 里把它概括为把仓库、目录和半途项目变成一块看得见进度的甲板。
它由两部分组成:
1、一个在本地运行的后端,提供 deck 命令行、Web 面板和定时器;
2、一个挂进 DSH 的前端插件,在桌面端左下角放一个 📋 入口,点开就是面板。
核心功能¶
README 把能力分成四块,下面逐条说明。
1、项目注册表。用 deck add <id> --root <path> 登记一个项目,可以带别名、类型、优先级和下一步说明,之后用 deck list、deck status、deck doctor 查看整体状态。
2、可视化面板。每个项目一张卡片,显示 git 状态、最近活动、下一步;点项目标题可以跳到它最近的 DSH 会话。面板入口可以拖到页面任意位置,位置会被记住。
3、定时播报。默认每 4 小时推一条微信消息(文字 + 看板图),有变化的项目排在前面并展开,没变化的折叠成一行;每到空闲时段(schedule.quiet,默认 00:30–06:30)不播报也不扫描。
4、自动发现与多机扫描。定时扫 DSH 工作区、git 仓库和标记文件,超过分数线的新项目自动登记;另一台机器或手机上可以跑只读扫描器节点,把项目清单上报给主机。
另有 off / assist / auto 三个等级的自主推进开关:assist 只给选项和推荐,auto 会自己查事实、选方案、做可逆的事,把 push / 删除 / 发布这类不可逆动作放进审批队列等你确认,规则写在仓库的 docs/AUTONOMY.md。
安装与启用¶
README 给出的安装分两步,先是后端,再是 DSH 插件。
# 1. 后端(CLI + 面板 + 定时器)
git clone https://github.com/peng456/dsh-project-deck && cd dsh-project-deck && ./install.sh
# 2. DSH 插件(npm 或 GitHub 二选一)
dsh plugin --profile desktop add dsh-project-deck
# dsh plugin --profile desktop add github:peng456/dsh-project-deck
# 或 Desktop → 插件 → 搜索/安装 dsh-project-deck
第一步在安装面板的同时装好 deck CLI 和定时器;第二步把插件挂进 DSH。装完重启 DSH,左下角会出现 📋 图标,可以拖动并记住位置。
如果只想先看看效果,README 提供了一个不需要安装任何依赖的 demo(需要 Python 3.9+):
git clone https://github.com/peng456/dsh-project-deck
cd dsh-project-deck
python3 backend/deck demo # 生成 4 个假项目,起面板
# → http://127.0.0.1:9299
这个命令会生成 4 个示例项目并起一个面板,浏览器打开 http://127.0.0.1:9299 就能看到长什么样。
典型用法¶
登记和查看项目:
deck add blog --root ~/code/blog --kind content --note "每周一篇实测"
deck list / status / doctor
deck report # 立刻播报(文字 + 图)
deck scan / scan --add # 发现新项目
deck nodes add --id phone --name "我的手机" --platform android
deck demo # 演示环境
deck add 把一个本地目录登记成项目,--kind 标类型,--note 写下一步;deck scan --add 会把扫描到的新项目真正写进注册表。deck report 用于临时手动发一条播报,验证通道是否通。
播报出来是一段纯文本,README 给的样例形如:
项目播报 · 11-05 06:49
12 个项目|活跃 12 · 阻塞 0 · 近 6 小时更新 3
- **个人 Agent**(代码)· 刚刚
进展:新增 1 个会话(共 5)·「多项目管理机制」
下一步:给 12 个项目建 STATE 骨架
- **API 服务**(代码)· 12 分钟前
进展:git 2 次提交(fix: 鉴权)· 3 个文件待提交
下一步:迁 v2 接口,补 12 个测试
无变化:官网改版、基础设施、…
有变化的项目展开写进展和下一步,没有变化的归到「无变化」一行折叠掉。
配置文件¶
默认配置放在 ~/.project-deck/config.json,README 列出的键如下:
| key | 默认 | 说明 |
|---|---|---|
report.intervalHours |
4 | 播报周期 |
report.image |
true | 附看板图(需要 Chrome 无头截图) |
scan.intervalHours |
12 | 自动发现周期 |
scan.threshold |
70 | 自动登记分数线 |
schedule.quiet |
00:30–06:30 | 安静时段,不播报不扫描 |
panel.allowLanRead |
true | 允许手机通过局域网看面板(只读) |
其中 report.image 依赖 Chrome 无头模式截图,scan.threshold 决定扫描到的新项目达到多少分才被自动登记。README 同时提醒不要把 nodes.json / config.json 提交进仓库,因为里面有 token。
通知渠道¶
播报的发送器通过 report.delivery 选择,README 强调默认不依赖任何外部服务,其中 ilink 是内置的微信连接:在面板点「连接微信」→ 扫码 → 在微信里给 bot 发一句话即可推送。其他通道分别是复用本机 wxpush 网关、ServerChan SendKey、任意 webhook(兼容企业微信机器人)和自写脚本(stdin 收文本,退出码 0 视为成功)。
"report": {
"enabled": true,
"image": false, // 附图仅 wxpush 通道支持
"delivery": {
"type": "wxpush", // wxpush | serverchan | webhook | command
"url": "http://127.0.0.1:9098", // wxpush(ilink 模式忽略)
"key": "", // ServerChan SendKey
"webhook": "", // 任意 webhook(企业微信机器人等)
"command": "" // 自写脚本:stdin 收文本,退出码 0 = 成功
}
}
配好后在面板顶部的「通知渠道」下拉里选保存即可,ilink 模式下会直接显示二维码。deck status 会显示当前通道和连通状态,通道不通时播报不会堆积,只会跳过;附图通道有有限重试。
多机扫描¶
节点只读上报,不传文件内容。README 给了三种实现,都在仓库的 backend/ 目录下:
# Python / Node / Windows PowerShell 三种实现都在 backend/
python3 deck-node push --server http://<host>:9199 --token <token> --id my-phone
node deck-node.js loop --server ... --token ... --id my-laptop
powershell -File deck-node.ps1 -Server ... -Token ... -Id my-win
--server 指向主机面板所在地址,--token 是主机上分配给该节点的 token,--id 是节点标识。先用 deck nodes add 在主机端登记节点,再在节点机器上跑对应的扫描脚本。
安全与权限¶
README 的安全部分给出三条:
1、面板写接口只对本机开放;读接口可以开局域网(给手机看面板只读用),POST /api/node-scan 始终要求每节点 token;
2、微信推送走本地 wxpush(iLink),token 在几小时无互动后会过期,过期时播报跳过而不是堆积,给 bot 发一句话即可恢复;
3、nodes.json / config.json 含 token,不要提交到仓库。
需要留意的是,插件随当前 DSH 进程运行,拥有该进程的权限。安装前建议先读一遍源码,确认它访问的文件路径、命令和 network 行为符合预期,再决定是否在生产工作区启用。该插件是社区维护(peng456),不是 DeepSeek 官方组件。
小结¶
dsh-project-deck 的价值在于把「项目有哪些、各自什么状态、下一步是什么」这件事从记忆和翻目录变成注册表 + 面板 + 定时微信播报:登记一次,面板和播报替你盯着 git 变化和会话进展,多机节点还能把另一台机器上的项目清单一起汇总。它对本地仓库和半成品比较对口,不适合替代面向团队的项目管理工具。
- 目录页:https://www.skillhub.cn/plugins/peng456/dsh-project-deck
- GitHub:https://github.com/peng456/dsh-project-deck
分类为「工作流」,安装前请核对上述源码与许可证(MIT)。