dsh-personal-center
Personal center for DeepSeek Harness: cross-session usage statistics with per-provider and per-model breakdown (auto-discovers configured models), per-model cost estimation, global custom instructions, a data-driven desktop pet with bitmap & vector skins, and a conversation status overview, all loca
Install
dsh plugin --profile web add dsh-personal-center
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
DSH 个人中心 · dsh-personal-center
DeepSeek Harness 的个人中心插件:设置 →「个人配置」分区,提供 Token 用量(含成本估算)/ 个性化自定义指令 / 桌面宠物。
一个面向 DeepSeek Harness(DSH)桌面端 / Web 端的本地插件。在设置里新增「个人配置」分区,含三个外层 tab:
- Token 用量:真实用量统计 —— 今日/累计 Token、会话数、工具调用、Token 活动热力图(每日·每周·月度累计)、按供应商分布(含各模型明细)、常用工具、会话回顾;内含子 tab(概览 / 回顾 / 模型成本);
- 个性化:全局自定义指令(等价于 ChatGPT / Codex 桌面端的「个性化 → 自定义指令」),对本机所有聊天生效;
- 宠物:圆滚滚小黑鲸 / 小蓝鲸(位图)+ 圆滚滚小黑 / 小蓝(矢量)皮肤 —— 由真实用量数据驱动 5 种情绪(开心/忙碌/疲惫/钱包痛/打盹),点击吐数据气泡、可拖拽记忆位置、右键快捷菜单,30 秒轮询;顶部「会话状态」卡可开关会话状态概览(实时列出运行中/失败/完成,双击某条直接进入对应会话)。
「模型成本」位于「Token 用量」的子 tab 内:按模型估算成本(支持峰谷分时、分币种、官方预设价),外加缓存命中率统计。
纯本地运行,不联网、不读取聊天正文,详见 [PRIVACY.md](PRIVACY.md)。中英文双语界面,随 DSH 语言自动切换。
📸 截图
四大分区(v1.0)
Token 用量 · 个性化
 · 
宠物

功能细节
浅色 · Token 用量 · 深色 · 回顾
 · 
浅色 · 宠物面板 · 深色 · 宠物面板
 · 
会话状态概览(双击进入会话)

五种情绪动画(开心 / 忙碌 / 疲惫 / 钱包痛 / 打盹):
黑鲸 · 蓝鲸
 · 
新增动作( v0.8.0 )(思考中 / 等你回复 / 完成庆祝 / 拖拽 / 点击打招呼):
黑鲸 · 蓝鲸
 · 
模型成本 · 深色

个性化 · 按工作区(分层指令 + 模板库)

✨ 功能
Token 用量(统计)
- 今日概览:Token 消耗 / 会话 / 工具调用;
- 累计数据:累计 Token / 最长聊天时长 / 会话总数 / 缓存命中率 / 估算成本;
- Token 活动:GitHub 贡献图风格热力图,支持 每日 / 每周 / 累计 三态切换;
- 按供应商分布:按 provider 分组的 Token、请求数、缓存命中率与成本(供应商小计 + 其下各模型明细;多供应商 / 多模型分别统计);
- 常用工具:按调用次数排序(含
mcp__<server>__<tool>形式的 MCP 工具); - 会话回顾:最近会话列表(标题 / 日期 / 时长 / Token / 缓存命中率),自动排除已归档会话。
数据来源:扫描本机会话日志(session.v4 / session.v3 / 旧版会话日志)实时聚合,只读数字、不读正文。见 [docs/common/DESIGN.md](docs/common/DESIGN.md)。
模型成本(估算)
- 按模型 × 每百万 token 单价估算成本,分币种(¥/$)分别合计;
- 支持 峰谷分时(DeepSeek 官方口径:北京 9:00-12:00、14:00-18:00 为高峰,空闲=高峰一半);
- 内置官方预设价(deepseek / kimi / gemini / gpt),提供「提供方→模型」联想添加,可自改;
- 展示:本周 / 本月 / 累计 成本。
个性化(分层指令:v0.7)
- 全局指令(身份基线):输入身份 / 工作原则 / 回答偏好,保存后本机所有会话的下一次请求自动带上;
- 按工作区指令(项目适配):为每个工作区配置专属指令,会话按 cwd 最长前缀匹配自动注入「全局 + 工作区」合并文本;未配置的工作区回退仅全局(与旧版行为一致);
- 指令模板库:内置 5 个高质量模板(产品经理 / 开发者 / 写作 / 翻译 / 通用助手),一键应用到全局或当前工作区;支持把当前指令「存为模板」、编辑、删除;
- 注入预览:底部实时显示「全局 + 当前工作区」合并后的最终指令 + ≈token 估算,切换工作区联动更新;
- 全部纯本地(settings.yaml)、零网络、不迁移现有
custom-instructions数据,中英文双语、DSH 设计令牌。
桌面宠物(黑鲸 / 蓝鲸)
- 界面右下角圆滚滚小黑鲸(默认 S 尺寸),纯前端零依赖(素材为宿主托管的动画 WebP,真 alpha 透明,深色主题有描边光);
- 矢量皮肤「圆滚滚小黑 / 圆滚滚小蓝」(v1.1,皮肤 id
black-vector/blue-vector):纯 DOM 渲染(圆形渐变身体 + 胶囊眼),零素材;鼠标跟随四层(眼睛朝向 / 头位移 / 上下"驼"形变 / 渐变光源)+ 转向透视(转向侧眼睛变小 + 两眼间距压缩)+ 靠近眨眼 / 点眼眯线 / 点身挠痒 / 随机头放大;与位图皮肤并存、互斥,位图↔矢量切换销毁重建实例; - 宠物列表:圆滚滚小黑鲸 / 圆滚滚小蓝鲸各一张完整配置卡(预览 + 今日统计 + 不透明度 + 开关),开关互斥只能启用一只;左边形象图在面板打开期间交替随机播放小表情动画(每 10s 轮换一只,启用瞬间再动一次 = 唤醒);未启用的卡片保持静态(固定表情 + 占位统计);
- 常驻显示,平时静止不打扰(参考 Codex 宠物设计):待机时显示单帧静态表情,不做循环动作;情绪变化时会播放对应动画,约 2 秒后回到静止;鼠标悬停或点击也会按当前情绪做个小动作;
- 5 种数据驱动情绪,30 秒轮询
/personal-center/stats,优先级:钱包痛 > 疲惫 > 忙碌 > 打盹 > 开心; - 开心 = 缓存命中率 ≥ 70%;忙碌 = 今日工具调用 ≥ 400 次;疲惫 = 今日 Token ≥ 2 亿;钱包痛 = 今日成本 ≥ ¥10(需配置价格);打盹 = 无活动 ≥ 10 分钟(阈值已按本机真实数据校准);
- 点击弹出随机数据气泡(今日 Token / 缓存命中率 / 最常用工具 / 今日成本),3 秒后消失;
- 会话状态概览:宠物页顶部「会话状态」卡可开关状态概览(默认开);开启后悬停宠物右上角「会话状态」按钮(或点击宠物)→ 毛玻璃面板,实时列出会话状态(运行中 / 失败 / 已完成 / 待机 + 摘要计数,运行中/失败置顶);双击某条直接进入对应会话;失败如实标红(绝不伪装绿色成功);数据来自平台已有
sessions投影,事件驱动、零轮询;点面板外或 ESC 关闭;关闭会话状态时按钮隐藏、宠物情绪回到用量驱动; - 自由拖拽:拖到哪就停在哪,松手后位置记忆到宿主配置(刷新后恢复);窗口缩放按比例跟随(缩小/拉大都跟随,始终留在视口内不丢出);
- 右键快捷菜单:隐藏宠物;
- 「宠物」tab 极简面板:顶部「会话状态」卡(标题 + 开关 + 说明,宠物未启用时置灰)+ 下方两张宠物卡片(预览 + 宠物名 + ⓘ 提示 + 今日统计 + 不透明度档位(30%/60%/100%) + 启用开关);开关互斥、交互只靠开关(无 hover/选中视觉);
enabled:false时不创建任何 DOM、不轮询;接口失败保留上一状态不崩溃;- 只使用聚合数字(今日 Token/工具调用/成本、缓存命中率、最近活动时间),不读聊天正文。
🛠 安装
方式一:插件控制台 / CLI(推荐)
dsh plugin --profile web add github:PolinniZhong/dsh-personal-center
或打开 Web GUI → 设置 → 插件 → 插件控制台,搜索「个人中心」安装。
方式二:本地开发(link 依赖,和 dsh-omi-voice 同款)
1. 克隆本仓库到本地任意目录;
2. 在 profile 的 package.json 中加入依赖:
"dsh-personal-center": "link:/绝对路径/DSH 个人中心"
3. 在 profile 的 dsh.profile.bundles 列表中加入 "dsh-personal-center";
4. 重启 DSH 应用。
注:重启后,若 node_modules 中没有该包,可手动建立软链接:
ln -s /绝对路径/DSH 个人中心 <DSH_HOME>/profiles/web/node_modules/dsh-personal-center
卸载
设置 → 插件 → 插件控制台,停用 / 删除 dsh-personal-center;或删除 package.json 中的依赖与 bundles 条目。
🗺 路线图
版本 · 内容 · 状态
v0.1 · 个性化 → 自定义指令(全局注入) · ✅ 可用
v0.2 · 「个人」分区:统计(真实数据)+ 个性化 · ✅ 可用
v0.3 · 成本估算(峰谷分时/分币种/官方预设)、缓存命中率、会话回顾(排除归档)、Token 活动(每日/每周/月度累计) · ✅ 可用
v0.4 · 桌面宠物(5 情绪、常驻显示/平时静止/情绪变化动画、拖拽位置记忆、极简面板) · ✅ 可用
v0.5 · 宠物行为打磨 + 会话状态概览(动作级实时状态) · ✅ 可用
v0.6 · 宠物会话状态概览升级(动作级实时显示) · ✅ 可用
v0.7 · 个性化指令增强:全局 + 按工作区(分层自动注入)+ 模板库 + 注入预览 · ✅ 可用(v0.7)
v0.8 · 桌宠 5 个新动作(思考/等待/庆祝/拖拽/打招呼)+ 会话状态情绪实时驱动 · ✅ 可用(v0.8.1)
v0.9 · 「个人配置」改名、「宠物」单页(会话状态卡 + 宠物卡)、会话状态修复(运行中置顶/双击进入/悬停稳定)、i18n 补全、宠物随窗口按比例跟随 · ✅ 可用(v0.9.0)
v1.0 · 设置头部 sticky + 毛玻璃、i18n 模板库本地化、代码治理重构(模块类前缀 + SDD) · ✅ 可用(v1.0.0)
后续规划(尚未实现):用量导出(JSON/CSV)、年度对比、更多皮肤/表情 —— 详见 [docs/common/PLAN.md](docs/common/PLAN.md)。
🤔 为什么做这个(立项评审摘要)
1. 技术可行:DSH 是插件化架构(宿主插件 + 浏览器 bundle),本仓库即是范例;会话日志记录了每次请求的 token 用量与工具调用事件,MCP 工具以 mcp__<server>__<tool> 命名可直接归类;
2. 符合用户心理:量化反馈(类似 GitHub 贡献图)、成本透明(按 token 计费)、差异化(官方暂无个人中心/全局统计)、隐私友好(只聚合数字);
3. 风险与对策:安装门槛 → 一键安装;数据准确性 → 直接读权威日志;性能 → 宿主端聚合 + 60s 缓存。
📁 仓库结构
├── package.json # dsh.bundle.patch + dsh.client 声明 ├── cordis …(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::10,最后更新 2026-10-30