Back to home

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默认含义
minutePerMin150每分钟修仙值
callPts10每次工具调用
stepPts10每步(生成+执行循环计一步)
userInputPts150每次用户输入
inputTokenDiv100输入 token 除数
outputTokenDiv80输出 token 除数
breakthroughPct0.05突破奖励 = 下一境界门槛 × 该比例
breakthroughFailPct0.01突破失败概率
tomatoGrowthPerSeg0.1每入定段(25 分钟)成长系数增量
retentionDays400数据保留天数(年历需要一年数据,上限 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