spacexun2
dsh-worktime-board
🐂🐴 牛马修仙看板:DeepSeek Harness 工时统计 + 十二境界修仙面板(日/周/月 + 学年年历,炼气→宇宙洪荒)
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 15, 2026
- Updated
- Aug 16, 2026
Introduction
🐂🐴 牛马修仙看板(dsh-worktime-board)
DeepSeek Harness 工时统计 × 修仙养成:把 agent 的每一分钟劳动都算成修仙值, 从「炼气」一路修到「宇宙洪荒」。右下角浮动看板,日 / 周 / 月三档统计 + 学年年历。

✨ 功能
- 右下角悬浮角标(时长 / 修仙值可切换,忙碌呼吸灯)→ 点击展开看板;面板可拖动、可调高度(位置记忆);✕ 收起。
- 🧘 修仙值(积分制,无上限):每 5 分钟活跃槽得分 = 修仙时段加成 × 基础分
- 基础分 =
分钟×150 + 调用×10 + 步骤×10 + 输入×150 + token(输入)÷100 + token(输出)÷80 - 🌙 修仙时段(22:30–06:30)得分 ×1.25;分钟按并行不叠加(并集),调用 / 步骤 / 输入 / token 按总量
- 周 / 月 = 活跃日均口径
- 基础分 =
- 十二境界(阈值 50 起、最高 100 万):炼气 → 筑基 → 金丹 → 元婴 → 化神 → 炼虚 → 合体 → 大乘 → 渡劫 → 真仙 → 金仙 → 宇宙洪荒,境界按修仙值实时显示、字号随境界长大
- 💥 突破奖励:每突破一个境界,送「下一境界门槛 × 5%」进度分(累计只升不降)
- ⚠️ 晋升失败:每次突破有 1% 概率失败 → 回退到下一级 0% 进度(存量数据豁免,失败次数计入看板)
- 🧘 入定成长:每连续工作 25 分钟(允许中间断 1 个 5 分钟槽),成长系数 +0.1,最终修仙值额外相乘
- 多维热力:时长 / token / 修仙值三档切换;日 = 24h 槽,周 / 月 = 日历日(月视图按自然周聚合)
- 📅 学年年历:8月1日–次年7月31日(当前 26.8.1–27.7.31),GitHub 贡献风格色块 + 绝对阈值分档;点击某天看当日完整数值(修仙值 / 时长 / 调用 / Token / 修仙时段)
- 🔗 线程出勤甘特(点击行跳转会话)+ 🏆 卷王榜(卷王分 TOP3)
- ⚙️ 计分系数可配置:编辑
$DSH_HOME/worktime-board/config.json热重载生效,公式文案随配置动态显示 - 🤖 agent 工具
worktime_summary(range?, ranch?):任意线程/子 agent 一句话查工时
📦 安装
本插件是标准 dsh bundle(声明了 dsh.bundle.patch + dsh.client),通过 profile 插件机制安装:
# 方式一:GitHub 源直接安装(构建产物 lib/ 已入库,无需本地构建)
dsh plugin --profile web add github:spacexun2/dsh-worktime-board
# 方式二:本地目录(有源码时,从插件目录的上一级执行)
dsh plugin --profile web add ./dsh-worktime-board
安装后重启 DSH(dsh web),右下角出现 🐂🐴 角标即成功。
也支持 dsh-super-injector(超级模组)运行时注入:
dev_inject_plugin <插件目录>,免重启。
⚙️ 配置
$DSH_HOME/worktime-board/config.json(支持 // 注释,改完热重载插件即生效):
| Key | 默认 | 含义 |
|---|---|---|
minutePerMin | 150 | 每分钟修仙值 |
callPts | 10 | 每次工具调用 |
stepPts | 10 | 每步(生成+执行循环计一步) |
userInputPts | 150 | 每次用户输入 |
inputTokenDiv | 100 | 输入 token 除数 |
outputTokenDiv | 80 | 输出 token 除数 |
breakthroughPct | 0.05 | 突破奖励 = 下一境界门槛 × 该比例 |
breakthroughFailPct | 0.01 | 突破失败概率 |
tomatoGrowthPerSeg | 0.1 | 每入定段(25 分钟)成长系数增量 |
retentionDays | 400 | 数据保留天数(年历需要一年数据,上限 730) |
🗂️ 数据
- 存储:
$DSH_HOME/worktime-board/data.json(5 分钟槽活动位图 + 调用/token 计数,60s 批量落盘) - 接口:
GET /plugins/dsh-worktime/state?range=day|week|month(client 轮询) - 隐私:全本地、零外发、不注入消息打扰
🛠️ 开发
# 构建(无 DSH_CHECKOUT 环境;pnpm exec 会被 verify-deps 拦截,直接调二进制)
node node_modules/typescript/bin/tsc -p tsconfig.json # host → lib/
node node_modules/tsdown/dist/run.mjs # client → lib/client.js
node --test test/core.test.mjs # 单测(node 24 原生 TS,零依赖)
- 依赖 junction:
node_modules/@deepseek-ai/{cordis,schemastery}→ 全局 dsh 内部 node_modules(必须用@deepseek-ai/*scope)。 - 注入调试:
dev_inject_plugin→ 刷新浏览器;dev_reload_package dsh-worktime-board热重载。
📄 License
BSD-3-Clause