dsh-time-auditor
Verifieddsh-time-auditor · v0.1.2 · MIT · Web UI
时间稽查官:住在 DeepSeek Harness 里的防沉迷角色。观察你的使用时长,超时后现身、翻日志戳穿你、逼你写下承诺赎回时间,还会调动 AI 毒舌提醒。
Install
dsh plugin add dsh-time-auditor Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
⏳ 时间稽查官 (dsh-time-auditor)
住在 DeepSeek Harness 里的防沉迷角色。它不阻止你——它观察你、翻你的日志、拿你亲口写下的承诺打你的脸,还会调动 AI 毒舌提醒。
一个会记仇、会毒舌、会执法的落盘插件。软性防沉迷,不强制打断。
✨ 特性
🕐 观察
- 实时计时:
本次/今日双进度(输入框下方常驻读数胶囊,80% 变黄、100% 变红) - 页面可见才计时,切后台自动暂停;跨天自动归零
- 数据存 host 磁盘
~/.dsh/dsh-time-auditor-state.json,跨重启/跨端口保留(dsh 每次重启端口会变,localStorage 按端口隔离会丢,故走 host 持久化)
⚖️ 现身 & 偷时间
- 超时后稽查官现身:卡片脉冲 + 沙漏摇摆 + 每 10 秒飘出「+1分钟 已被没收」碎片
- 累计被没收的时间碎账,永远显示(只增不减,看得见你输给了自己多少)
🔍 戳穿(真实日志驱动)
- 读你今天真实开过的会话,规则引擎生成 5 档文案:深夜 / 多会话 / 标题漂移 / 周末 / 兜底
- 承诺猎手:赎回时写下的话被记住,下次现身翻你之后的新会话打脸——「你说『写周报』是 37 分钟前的事。之后你又开了 3 个新会话。那件事,做完了吗?」
- 执法强度:连续点「稍后」不休息,稽查官逐级变冷——「你连续 3 次点稍后了。稽查官不拦你,只是告诉你:你停不下来。」
- 周末人格:周六/周日白天还在用 Harness,直接被嘲讽
🤖 AI 觉醒(LLM 生成)
- 超时现身时,自动复用 Harness 当前默认模型生成一句毒舌戳穿(30 字内、人设固定)
- 规则文案秒出 → LLM 版 5 秒内无缝替换
- 零配置:跟随你正在用的模型;无模型/超时/报错自动降级到规则文案,绝不阻塞
🚔 执法(软限制)
- 超时后拦截高消耗自主工具(
workflow/subagent/subagent_fork/ralph),先给阶段性结论、确认是否继续 - 承诺注入 systemPrompt:超时后 AI 每轮都记得你欠它的事——「用户上次承诺:『写周报』(37 分钟前)——合适时提醒他兑现」
📦 安装
方式一:从 npm(已发布 ✅)
dsh plugin --profile web add dsh-time-auditor
方式二:从 Gitee 仓库
dsh plugin --profile web add https://gitee.com/XMTab/ldwzz.git
方式三:本地目录
把整个 dsh-time-auditor 目录拷到目标机器,然后:
dsh plugin --profile web add /path/to/dsh-time-auditor
安装后重启 dsh web 生效(host 半边 + client bundle 的 rev 都需要重启刷新)。
验证是否生效:
curl http://127.0.0.1:<port>/plugins/dsh-time-auditor/audit
# 应返回 {"line":"...","facts":{...}}
端口每次启动可能变化,以 dsh web 打印的 URL 为准。
🎮 使用
- 打开一个会话,输入框下方会出现
⏳ 本次 X / 60分 · 今日 Y / 8小时读数胶囊 - 默认阈值:单次 60 分钟 / 每日 480 分钟(8 小时)
- 设置 → 时间稽查官:改阈值、重置计时、查看碎账
- 超时后稽查官现身——写下「接下来 30 分钟要完成的一件事」赎回你的时间
想快速体验?把「单次提醒」改成 1 分钟,一分钟后看效果。
🔧 配置
| 项 | 默认 | 位置 |
|---|---|---|
| 单次提醒阈值 | 60 分钟 | 设置页 |
| 每日提醒阈值 | 480 分钟 | 设置页 |
| LLM 戳穿模型 | 跟随 Harness 默认模型 | 自动,无需配置 |
| 拦截工具名单 | workflow / subagent / subagent_fork / ralph | src/index.js 内 HEAVY_TOOLS |
🗂️ 项目结构
dsh-time-auditor/
├── package.json # dsh.bundle.patch + dsh.client 声明(落盘插件元数据)
├── cordis.patch.yml # 注册 time-auditor 组合行
├── src/index.js # host 半边:状态同步 / 审计 / LLM / 拦截 / 人格注入
├── lib/client.js # 浏览器半边:计时 / 状态恢复 / 三处 UI / 动画
└── README.md
- host 半边(
src/index.js):sessionQuery读日志、webServer暴露端点、tools/pre-execute拦截、systemPrompt注入人格、状态写盘持久化 - 浏览器半边(
lib/client.js):window.__ModuleLoader__.load格式的 bundle,计时 + UI + 动画 + 启动时从 host 恢复状态
🧩 工作原理
浏览器半边(计时 + 启动恢复)
│ GET /state(启动时拉取磁盘状态)
│ POST /state(同步状态 + 承诺 + 阈值,host 写盘)
▼
host 半边(~/.dsh/dsh-time-auditor-state.json 持久化)
├─ /audit 规则戳穿(读今天真实会话)
├─ /audit/llm LLM 毒舌(复用默认模型,5s 超时降级)
├─ tools/pre-execute 超时拦截高消耗工具
└─ systemPrompt 健康人格 + 承诺注入
📜 许可
MIT