deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:sixtysevenlf/dsh-save-balance-monitor
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
DSH(DeepSeek Harness)Web UI 悬浮面板插件:双标签页 实时显示 DeepSeek 与 OpenCode Go 的额度余额(标签切换带滑动+淡入动画)。
DEEPSEEK_PLATFORM_TOKEN(登录 platform.deepseek.com 后,浏览器 DevTools → 存储 → Local Storage → userToken 的值)后,显示官网当月 token 总量 / 花费金额 / API 请求次数与日均(官方控制台私有端点 /api/v0/usage/amount|cost);未配置时显示提示。用量数据全部以官网为准(已移除本地 opencode 记录)高价区每小时 tok 上限(手动,高峰自动减半)——填基准每小时(= 官网日均 ÷ 24),高峰时段(09-12/14-18)自动减半即高价区生效上限;小时颗粒度 = 官网日数据定基准 + 本地 session 事件推算实时增量(监听每轮 agent 请求的 provider token 用量累计当前小时);面板「小时」进度条显示当前小时 token / 生效限额,接近或超限有红色告警与语音提醒(小时超限不拦截请求,仅提醒)每日金额上限(手动) / 每日 tok 上限(手动) / 高价区每小时 tok 上限(手动,高峰自动减半) 手动输入 + 金额单位 + 分析模式选择本插件已合并原「余额悬浮窗」(dsh-balance-window)的面板,部署时请将旧插件注册改为
disabled(见安装步骤),避免两个面板重叠。
风格与 DSH 自带「余额悬浮窗」(dsh-balance-window,DeepSeek 余额)一致。
$DSH_HOME/.credentials.yaml 本地文件(设置 → 凭据)| 依赖 | 说明 |
|---|---|
| DeepSeek Harness(web 或桌面端) | 插件运行在 DSH 内 |
| DeepSeek API key | DSH 设置 → 凭据 添加 DEEPSEEK_API_KEY(DeepSeek 余额标签页用) |
| OpenCode Go 订阅 + API key | DSH 设置 → 凭据 添加 OPENCODE_GO_API_KEY(在 opencode.ai/auth 获取) |
| DeepSeek 官网登录会话 token | DSH 设置 → 凭据 添加 DEEPSEEK_PLATFORM_TOKEN(查看自己官网用量/金额/小时粒度的必需项,获取方法见下) |
拿到 dsh-opencode-go-monitor-1.0.0.zip(30 KB 单文件,可直接用微信/QQ/U 盘分享)后:
解压得到 dsh-opencode-go-monitor/ 文件夹(内含 package.json、lib/、README.md)
把整个文件夹复制到 $DSH_HOME/profiles/node_modules/ 下(Windows 默认 C:\Users\<你>\.dsh\profiles\node_modules\)
编辑 $DSH_HOME/profiles/web/cordis.patch.yml(没有则新建,内容为 []),追加:
# 省钱+余额监控悬浮窗
- insert:
- id: opencode-go-monitor
name: 'dsh-opencode-go-monitor'
保存后热加载生效,浏览器硬刷新(Ctrl+Shift+R)即可看到悬浮窗
配置凭据:见下方「前置条件」与「获取 DEEPSEEK_PLATFORM_TOKEN」(登录过官网的浏览器一般会自动读取,零配置)
zip 包内不含任何密钥;需要升级时用新 zip 覆盖
lib/与package.json再刷新即可(或删掉旧文件夹重新解压)。
git clone https://github.com/<owner>/dsh-save-balance-monitor.git dsh-opencode-go-monitor
clone 出来的 dsh-opencode-go-monitor/ 就是插件文件夹(含 package.json 和 lib/),按下方方式一或方式二安装即可。所有密钥都不在仓库里,需要你自己配置(见上文「前置条件」与「获取 DEEPSEEK_PLATFORM_TOKEN」)。
把插件文件夹(含 package.json 和 lib/)整个复制到 $DSH_HOME/profiles/node_modules/dsh-opencode-go-monitor/
$DSH_HOME 默认位置:Windows ~\.dsh;macOS / Linux ~/.dsh(可用 echo $DSH_HOME 确认)
编辑 $DSH_HOME/profiles/web/cordis.patch.yml(没有则新建,内容为 []),追加:
# OpenCode Go 余额悬浮窗
- insert:
- id: opencode-go-monitor
name: 'dsh-opencode-go-monitor'
cordis.patch.yml 修改会热加载,无需重启;刷新浏览器页面(Ctrl+Shift+R)即可看到面板
配置凭据:DSH 设置 → 凭据 → 添加 DEEPSEEK_API_KEY、OPENCODE_GO_API_KEY,以及 DEEPSEEK_PLATFORM_TOKEN(官网用量必需,见下)
若旧版「余额悬浮窗」(dsh-balance-window)还注册着,把它的 insert: 块替换为禁用条目:
- id: balance-window
disabled: true
DeepSeek 官网控制台的用量/金额端点需要登录会话 token(API key 认证不了)。每个用户都要用自己的。
插件会先尝试自动读取:启动后自动扫描本机 Chrome / Edge / 360 极速浏览器(含各 profile)的 Local Storage,找到 platform.deepseek.com 域下的 userToken 并用官网实体验证后直接使用——只要你在这些浏览器里登录过官网,通常无需任何手动配置(读到的 token 只在内存中使用,不落盘、不写凭据文件)。
⚠ 自动读取是"尽力而为":token 若被浏览器压缩进 LevelDB 的 snappy 块(旧数据),可能读不到。此时按下面手动配置一次即可(读不到时面板会有提示)。
手动配置(自动读取无效时):
https://platform.deepseek.comuserToken,复制它的值(很长一串,eyJ... 开头)localStorage.getItem('userToken') 回车,复制引号里的内容DEEPSEEK_PLATFORM_TOKEN(或写进 ~/.dsh/.credentials.yaml:DEEPSEEK_PLATFORM_TOKEN: <值>)⚠ token 与你的官网登录会话绑定:退出登录、清理浏览器缓存后失效,重新按上面取一次即可。token 只存在你自己机器的凭据文件里,绝不提交进代码/仓库。
dev_install_package dir=<本文件夹绝对路径>
| 变量 | 默认值 | 说明 |
|---|---|---|
OGM_API_KEY |
— | OpenCode Go 备用 key(无 DSH 凭据时使用) |
OGM_PLATFORM_TOKEN |
— | DeepSeek 官网 userToken 备用(无 DSH 凭据时使用) |
OGM_BASE |
https://opencode.ai/zen/go/v1/usage |
余额接口地址 |
| 现象 | 处理 |
|---|---|
| 状态行「余额失败:未配置 OPENCODE_GO_API_KEY 凭据」 | DSH 设置 → 凭据 添加 OPENCODE_GO_API_KEY,或设置环境变量 OGM_API_KEY |
| 状态行「余额失败:HTTP 401」 | key 无效/过期,到 opencode.ai/auth 重新生成 |
| 面板 DeepSeek 页「官网用量: 未配置 DEEPSEEK_PLATFORM_TOKEN 凭据」 | 按上文「获取 DEEPSEEK_PLATFORM_TOKEN」配置 |
| 面板「官网用量: Platform token 无效或已过期」 | token 失效,重新从浏览器 localStorage 取新的 |
| DeepSeek 余额显示为负 | 账户余额已用超,注意在 platform.deepseek.com 充值 |
| 面板完全不显示 | 确认 cordis.patch.yml 注册行格式、profiles/node_modules/dsh-opencode-go-monitor 路径;浏览器硬刷新(Ctrl+Shift+R);F12 控制台看红色报错 |
| 两个面板重叠 | 直接把其中一个拖开即可(位置记忆) |
cordis.patch.yml 删除注册行(热加载立即移除)profiles/node_modules/dsh-opencode-go-monitor/ 文件夹├── package.json # 插件清单(dsh.client 双半声明)
└── lib/
├── index.js # host 半:/api/opencode-go/balance(官方接口,凭据读 key,60s 缓存)
│ # /api/opencode-go/usage(可选:本地 SQLite 只读聚合)
└── client.js # client 半:shell.overlay 悬浮面板(拖动/缩放/记忆) CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。