zzyyyds88/dsh-solo-leveling--plugins-task-board-host ↗★ 1
dsh-plugin-task-board-host
提供任务看板的后端账本与调度服务 适合需要为前端任务看板提供数据存储与定时任务调度支持的系统。
安裝
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zzyyyds88/dsh-solo-leveling#e9b423a6edb54375cce99c30741d5561ab2b141c&path:plugins/task-board-host說明文件
閱讀完整 README ↗DSH 纯插件集(Solo Leveling Plugins)
官方 DeepSeek Harness 的插件集 —— 不再 fork,不改任何官方源码。 基线:官方 npm 包
@deepseek-ai/dsh@0.1.5-rc.2。
形态变更(2026-09):本仓库曾是「大宝贝定制版」——把 harness 源码平铺仓库根、自维护基线的 fork 整合包。 该形态已废弃,现改为纯插件集。原因与迁移过程见 docs/工作区/纯插件迁移方案.md。
这是什么
一套跑在官方原版 DSH 上的插件。官方宣称「一切皆插件」,实测也确认:当年为了访问门禁、设置命名空间暴露、LLM 重试兜底而不得不改官方包的那批需求,官方 0.1.5 已自己实现或换成了别的方式,剩下的差异化能力全都能以插件形态做出来。
所以本仓库现在只做一件事:给官方 DSH 加插件,让它更好用。
插件清单
| 插件 | 半 | 作用 |
|---|---|---|
dsh-plugin-git-graph-host + -ui | host + client | Git 图谱:分支选择器、提交历史、分支泳道;host 侧 /git/* 路由做工作区圈根校验 |
dsh-plugin-task-board-host + -ui | host + client | 任务看板:五列看板;台账与 cron 调度在 host 进程(关掉网页照跑),数据落 $DSH_HOME/task-board/ledger.json;/api/task-board/* 供看板与外部复用 |
dsh-plugin-mobile-adapt | host + client | 手机端适配:窄屏下侧栏/右侧栏变抽屉、虚拟键盘避让、输入区 16px 防 iOS 缩放、设置弹层触控优化;断点与抽屉宽度进设置卡 |
dsh-plugin-pet | host + client | 网页桌宠:随任务/工具/上下文切换表情的 Live2D 女仆,状态气泡、音效语音、账房 token 统计 |
dsh-plugin-skin-center | host + client | 皮肤中心:列表 / 试穿 / 一键应用(host /api/skin-center/* 热切换);skin-background 背景命名空间 |
dsh-plugin-skin-maid-atelier | host + client | 皮肤资产:Abyssal Maid Atelier(深渊女仆工坊),侧栏立绘、蕾丝装饰、标题栏品牌字 |
所有插件共用一个约定:可调参数一律进「设置 → 插件 → 插件配置」卡片,保存即生效,不硬编码。
安装与运行
1. 装官方 DSH
npm i -g --allow-scripts=@deepseek-ai/dsh-subprocess-local,koffi,node-pty,@google/genai,protobufjs \
@deepseek-ai/dsh@0.1.5-rc.2
--allow-scripts不能省:npm 11 默认拦截 native 依赖的安装脚本,不补跑会缺文件系统与终端能力 (koffi / node-pty 的原生绑定不会编译)。
2. 装插件
dsh plugin --profile web add /path/to/dsh-plugin--0.1.0.tgz
装完会自动追加进 $DSH_HOME/profiles/web/package.json 的 dsh.profile.bundles 层栈,
无需手动改任何配置。
3. 起实例
dsh web
启动行会打印带 token 的 URL(并带一个 LAN 地址,见下)。
作为 systemd 常驻服务
[Unit]
Description=DeepSeek Harness Web
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
Environment=HOME=/root
Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ExecStart=/usr/bin/dsh web --no-open
Restart=always
RestartSec=3
KillMode=control-group
[Install]
WantedBy=multi-user.target
Environment=HOME= 必须显式给——systemd 不保证为 root 注入 HOME,缺了会解析不到 $DSH_HOME。
取启动 token:journalctl -u dsh-web | grep 'dsh web:' | tail -1。
局域网访问
官方 CLI 故意拒绝 --host 0.0.0.0(避免误敲一个 flag 就把 RCE 暴露到网络),
但 host 配置字段本身支持它——官方 README 也明确描述了这个部署形态。写 $DSH_HOME/cordis.patch.yml:
- id: webserver
config:
host: '0.0.0.0'
port: 3080
注意 config 是整段替换,必须重述 port。生效后启动行会自动带上 LAN 地址,
且该地址自动进 trustedHosts,不需要 --trusted-host。
已知限制(官方设计如此,非本仓库缺陷)
| 限制 | 说明 |
|---|---|
| 局域网页面改不了设置 | 官方 ui-settings 明确限制:非 loopback 页面拿不到可写 settings("every row it backs is inert even though Connection authentication covers the API")。要在界面上配置,走 SSH 端口转发 ssh -N -L 3080:127.0.0.1:3080 后开 http://127.0.0.1:3080/ |
| 无 TLS | 官方 webserver 不带 TLS,token/Cookie 在局域网明文传输 |
| token 每次启动都换 | 但会话 Cookie 是持久的(默认 30 天、跨重启有效)。用一次 token 换到 Cookie 后,直接访问 http://:3080/ 即可 |
| 没有登出/吊销接口 | 官方无 logout/revoke/rotate。想踢设备只能删 $DSH_HOME/.credentials.yaml 里的签名密钥(全体失效) |
| Cookie 按 authority 绑定 | 127.0.0.1 与局域网 IP 的 Cookie 不通用,固定用一个地址 |
完整痛点清单见 docs/工作区/纯插件形态-痛点清单.md。
目录结构
plugins/ 8 个插件包源码(构建前提见 plugins/README.md)
docs/工作区/ 工作区文档:迁移方案 / 退役审查 / 痛点清单
本仓库不含 harness 源码(旧 fork 形态的遗留已清理)。 构建插件需要一份外部的 harness 源码检出——官方未发布客户端打包 preset, 仓外插件必须自行复现那套 lazy-CJS factory 产物;步骤见 plugins/README.md。
相关文档
| 文档 | 内容 |
|---|---|
| 纯插件迁移方案 | 处置决策、迁移配方、rc.2→0.1.5 完整 API 映射表、逐项验收证据 |
| 插件退役审查 | 逐个插件的退役判据、官方能力对照表、0.1.5 DOM 钩子清单 |
| 纯插件形态-痛点清单 | 使用痛点、已放弃的能力、等官方正式版后的动作 |
已退役的能力(不要再问「为什么没有 X」)
| 退役项 | 原因 |
|---|---|
| 访问门禁 + TLS | 改用官方 token 门禁;官方无 TLS,一并放弃 |
live-stats 实时统计 | 官方 ui-chat 的 StatsPills 已覆盖(TPS/TTFT/token/缓存命中) |
describe-image 图像理解 | 官方 DeepSeek 提供方现在只有多模态模型(deepseek-flash 等),原生识图;且官方对文本模型传图是硬拒绝 |
defaults 默认值 | 零消费方(其消费方在退役的 fork 里),是空壳 |
aionui-panel 右侧面板 | 文件树/预览被官方右侧栏四件套全覆盖 |
mobile-remote 手机遥控 | 手机端操纵整体移出范围,只做 web 端 |
许可
MIT。收录的皮肤资产(Abyssal Maid Atelier)遵循 CC BY-NC-SA 4.0。