前言¶
DeepSeek Harness (DSH) 采用「一切皆插件」的架构。对于需要长时间在桌面端工作的开发者而言,界面的个性化与资源消耗的可视化是提升效率的关键。针对这一需求,下面介绍由 Smith-yue 维护的 TypeScript 插件 dsh-skin-token-dashboard。该插件不依赖外部网络,专注于提供本地化的桌面皮肤切换与基于官方会话投影的 Token 用量统计。
插件概览¶
这是一个面向 DeepSeek Harness Desktop/Web 的 TypeScript 插件工程。它主要解决两个问题:
1. 桌面外观定制:提供两套可切换的桌面皮肤(深海夜航与暖纸日光),并支持本地图片轮播。
2. Token 追踪:通过官方 tokenUsage 会话投影读取数据,提供详细的 Token 统计面板。
项目信息:
* 所有者:Smith-yue
* 许可证:MIT
安装与启用¶
安装前需确保环境满足以下条件:
* Node.js 版本为 ^22.19.0 || >=24.0.0
使用官方 CLI 将插件安装到 Web profile:
npx -y @deepseek-ai/dsh plugin --profile web add dsh-skin-token-dashboard
安装完成后,必须完全退出并重新打开 DSH Desktop,才能在界面中看到新功能。在 DSH Desktop 插件市场中搜索 dsh-skin-token-dashboard 也可以完成相同操作。启用后,进入“设置 → 通用 → 桌面皮肤”即可切换主题。
核心功能¶
桌面皮肤与背景¶
插件内置两套完整皮肤(深海夜航暗色、暖纸日光亮色),并保留 Harness 原生聊天统计条。背景支持以下配置:
* 内置背景:随包发布五套摄影背景。
* 本地轮播:支持递归扫描本地子文件夹中的图片(支持 AVIF、BMP、GIF、JPEG、PNG、WebP,最多 2000 张)。
* 控制选项:可设置 1-1440 分钟的轮播间隔,支持暂停、继续或立即切换下一张。
* 自定义覆盖:支持自定义 CSS 背景色、图片透明度,以及背景色/渐变覆盖透明度。所有设置(皮肤、颜色、文件夹路径、轮播参数)重启后自动恢复。
Token 用量统计¶
插件在“设置 → Token 用量”中提供了一个详细面板,实时展示当前会话的汇总数据:
* 会话总量
* 计费输入
* 输出
* 缓存命中率
* 四类 Token 构成(未缓存输入、缓存读取、缓存写入、输出)
这些数据基于官方 tokenUsage 会话投影读取,不依赖额外的统计数据库,也不会复制消息内容。
API 使用¶
插件在 Host 端注册了 ctx.skinTokenUsage 服务。开发者可以通过以下 TypeScript 代码读取并打印 Token 统计:
const usage = ctx.skinTokenUsage.read(session)
if (usage) {
console.log(usage.billedInputTokens)
console.log(usage.outputTokens)
console.log(usage.totalTokens)
console.log(usage.cacheHitRate)
}
read() 方法为同步一致性读取,仅返回汇总计数,不返回原始 prompt、response 或工具内容。
隐私与安全¶
插件在隐私设计上较为克制:
* 不发起网络请求:所有数据读取均在本地完成。
* 不保存会话内容:插件不复制消息内容,Token 数据仅从 Harness 已有的持久会话投影中读取。
* 文件访问限制:Host 文件读取 RPC 仅接受本机回环连接,只读取已由原生选择器授权并保存的目录,拒绝路径越界和符号链接穿透。
* 数据持久化:皮肤偏好与用户选择的本地背景文件夹路径写入 $DSH_HOME/settings.yaml,图片内容本身不会复制到设置或数据库中。
适用场景¶
该插件适合需要精细化管理 DeepSeek Harness 桌面体验的开发者或用户。如果你希望自定义工作台背景,同时需要清晰掌握上下文压缩、缓存命中等 Token 细分数据,该插件提供了无需额外数据采集的轻量级解决方案。
相关链接¶
- GitHub 仓库:https://github.com/Smith-yue/harness-plugin
- 插件目录:https://www.skillhub.cn/plugins/Smith-yue/harness-plugin