在 DeepSeek Harness (DSH) Web 环境中,查看 OpenCode Go 套餐的剩余额度通常需要手动检查或进入设置。此插件通过在侧边栏直接显示用量与倒计时,并为 Agent 提供查询工具,提供了一种即时的状态可视化方案。
核心功能¶
插件包含以下功能:
- 侧边栏展示:自动在侧边栏显示 rolling(5小时)、weekly(周)、monthly(月)三档用量百分比与倒计时。
- 中央面板:点击条目打开中央列面板,展示状态徽章、重置时间、详细进度条及每秒跳动的倒计时。
- Agent 工具:提供
opencode_go_balance工具,助手可直接回答套餐剩余额度。 - 数据缓存与防护:内存缓存 30s TTL,API 路由带回环防护(仅本机/同源),密钥仅用于本机请求,响应返回掩码
keyHint。 - 自动刷新:60秒自动刷新余额数据。
安装¶
使用以下命令安装插件:
dsh plugin --profile web add @dong-victor/dsh-opencodego-usage
安装后需重启 dsh web 使新的 bundle 层生效。
配置¶
插件支持可选配置项,在 cordis.patch.yml 的 config 字段中设置:
- insert:
- id: opencode-go
name: '@dong-victor/dsh-opencodego-usage'
config:
enabled: true
announceToAgent: true
# apiBaseUrl: 'https://opencode.ai'
# apiKeyEnv: 'OPENCODE_GO_API_KEY'
# cacheTtlMs: 30000
# timeoutMs: 15000
前置条件¶
- 插件复用 DSH 已有的 LLM 接线,依赖
llm-pi-ai的opencode-go路由配置。 - 密钥通过
OPENCODE_GO_API_KEY凭据引用提供(非DEEPSEEK_API_KEY)。 - 端点默认为
https://opencode.ai。
技术架构¶
- 宿主半面 (
lib/index.js):提供GET /api/dsh-opencode-go/balance回环防护接口,解析密钥与端点,注册 Agent 工具与提示词。 - 浏览器半面 (
lib/client.js):纯 JS 零构建依赖,通过 MutationObserver 实现自愈,支持 React 重渲染适配。
开发与测试¶
插件依赖 @deepseek-ai/dsh-tools (peer 依赖),测试需安装 jsdom:
npm install
npm test
使用示例¶
- 查看余额:打开 DSH Web,侧边栏「Go 余额」条目直接显示进度与倒计时。
- Agent 查询:在对话中询问「opencode Go 套餐还剩多少」,Agent 会调用工具返回结果。