- dsh-scheduler: shell 请求无 args 字段,改 stdin 传脚本 + JS 字面量持久化(Unicode 安全) - dsh-usage: 余额查询同样改 stdin 机制 - 记录 CollectedOutput.text / sandboxPolicy danger-full-access / exitCode / workdir 等关键经验
dsh-usage — 用户头像 + API 消耗面板
在 DeepSeek Harness 侧边栏底部(设置旁)添加一个 Codex 式用户头像入口, 点击弹出模态面板,展示 DeepSeek 官方 API 余额/消耗,并可一键打开官网用量页。
效果
- 侧边栏底部(设置按钮旁):圆形 🐋 头像按钮(窄栏只显图标,宽栏带"API 用量"文字)
- 点击 → 居中模态面板:
- 账户可用状态
- 各币种:总额 / 赠送余额 / 充值余额(来自官方
GET https://api.deepseek.com/user/balance) - 按钮:刷新 / 打开官网用量页 / 关闭
实现
| 端 | 机制 |
|---|---|
| Host | harness.handle('usage/balance'):shell 运行 node 脚本读取 %DSH_HOME%\.credentials.yaml 的 DEEPSEEK_API_KEY,调用官方余额 API,返回 JSON(密钥不出进程日志);usage/openPortal:打开官网用量页 |
| Client | sidebar.footer.action 注册头像按钮;shell.overlay 注册模态面板;两个组件通过插件内微型 store 共享开关状态;样式用主题 CSS 变量(--dsw-alias-*) |
为什么用官方 API
DeepSeek 官方提供余额接口(/user/balance),返回 is_available + balance_infos[]。
用量明细官网暂无公开 API,故面板提供"打开官网用量页"(platform.deepseek.com/usage)兜底。
文件
host.js— Host 半(RPC + 官方 API 调用)client.js— Client 半(头像 + 模态 UI)- 部署方式:通过动态 Cordis 插件(
cordis_define/cordis_run)或本仓库presets/下的预设文件
前置
%DSH_HOME%\.credentials.yaml中存在DEEPSEEK_API_KEY- 官方余额 API 需可访问(api.deepseek.com)