johnwick128-ship / dsh-opencode-subscription

Listed

在 DSH 中管理 OpenCode Go/Zen 官方订阅:官方订阅直达(支付宝)、API Key 安全验证接入、套餐额度查询与换算、主界面常驻额度徽标

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:johnwick128-ship/dsh-opencode-subscription

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 8861f22Synced Aug 18, 2026

DSH OpenCode 订阅助手(dsh-opencode-subscription)

在 DeepSeek Harness Web GUI(DSH)中一键管理 OpenCode Go / Zen 官方订阅:官方订阅直达(支持支付宝)、API Key 安全验证接入、Go 套餐剩余额度查询与换算、主界面常驻额度徽标。

话题:dsh-plugin | 平台:DeepSeek Harness(dsh)Web GUI

功能

功能说明
官方订阅直达一键打开 OpenCode 官网(域名白名单,防钓鱼),官方支付页支持支付宝扫码
网络可达性检测探测 opencode.ai 连通性,不可达时提示检查代理(含 IPv4 优先修复)
API Key 安全接入Key 只发往官方端点做只读验证(~1 token),验证通过后存入 DSH 本机凭据库(OPENCODE_API_KEY),settings 只存引用
模型路由注册自动注册 pi-ai 官方 catalog 路由 opencode-go,DSH 模型选择器直接可选 deepseek-v4-flash / deepseek-v4-pro
套餐额度查询调用官方 GET /zen/go/v1/usage,展示滚动 5h / 周 / 月三个窗口的已用%、剩余%、重置时间
额度换算按套餐总额 × 剩余% 估算剩余美元;按 deepseek-v4-flash 官方单价估算 token 数(总额可调)
主界面常驻徽标输入框下方统计行显示 Go 额度 5h剩X% · 周剩X% · 月剩X%,每 5 分钟自动刷新
一键移除删除本地 Key + 注销模型路由

安全设计(第一优先级)

  1. 插件零接触支付信息:付款(含支付宝扫码)始终在 OpenCode 官方网站(opencode.ai 域名白名单、完整 URL 展示)完成,卡号/支付宝信息只提交给官方支付服务商;
  2. Key 只发官方端点:验证走 https://opencode.ai/zen/go/v1/chat/completions(只读、最小请求),用量查询走 https://opencode.ai/zen/go/v1/usage(只读、零消耗);
  3. Key 存储:存入 DSH 官方凭据库(~/.dsh/.credentials.yaml,用户级 ACL),settings 只存 apiKeyEnv: OPENCODE_API_KEY 引用;不落日志、不回显、不经过对话;
  4. 不保存账号会话:插件不存储 opencode 登录态(登录只发生在你的浏览器与官方域名之间);
  5. 审计通过:全量扫描确认 Key 在本机只有凭据库一个明文落点,RPC 参数与子进程环境均不记录。

安装

方式一:动态插件(快速体验)

在 DSH 会话中让 Agent 执行:

  1. cordis_define(plugin idPrefix: ocpay)——代码见 plugin.json
  2. cordis_run 激活;
  3. 设置页出现 "OpenCode 订阅",主界面统计行出现额度徽标。

动态插件随 DSH 进程重启失效(Key 与模型路由配置持久)。

方式二:持久化(推荐)

  1. 复制 plugin.json~/.dsh/oc-subscription/plugin.json
  2. 复制 oc-restore.js~/.dsh/profiles/web/oc-restore.js
  3. ~/.dsh/profiles/web/cordis.patch.yml 追加:
- id: oc-restore
  name: './oc-restore.js'
  1. 重启 DSH。恢复插件会在首个会话创建时自动重放插件(define + run)。

使用流程

  1. 设置 → OpenCode 订阅 → 点"前往 OpenCode 官网完成订阅(支付宝)"→ 官方页面登录,Go 套餐用支付宝扫码(首月 $5 含 $60 额度,之后 $10/月);
  2. 官方控制台(Dashboard)生成 API Key(sk-oc-...);
  3. 插件粘贴 Key → 验证并接入(自动识别套餐,写入凭据库 + 注册模型路由);
  4. 输入框 /model 选择 opencode-go / deepseek-v4-flash
  5. 主界面统计行常驻显示剩余额度,设置页可查详细窗口与换算。

官方端点(已实测)

端点用途
GET https://opencode.ai/zen/v1/models模型列表(公共,不鉴权)
POST https://opencode.ai/zen/go/v1/chat/completionsGo 套餐对话(鉴权,401=Key 无效)
GET https://opencode.ai/zen/go/v1/usageGo 套餐用量(返回 {usage:{rolling,weekly,monthly}},各含 percent/resetsAt

Go 套餐可用模型(16 个,已实测)

2026-08-15 对每个模型发最小 1-token 请求实测,16/16 全部可用(HTTP 200)。验证 Key 时全部自动注册到 opencode-go 路由,DSH 模型选择器可直接选用。

模型 ID名称协议上下文最大输出
deepseek-v4-flashDeepSeek V4 Flashopenai-completions1M384K
deepseek-v4-proDeepSeek V4 Proopenai-completions1M384K
glm-5.1GLM-5.1openai-completions202K32K
glm-5.2GLM-5.2openai-completions1M131K
hy3Hy3openai-completions256K64K
kimi-k2.6Kimi K2.6openai-completions262K65K
kimi-k2.7-codeKimi K2.7 Codeopenai-completions262K262K
kimi-k3Kimi K3 (2x usage)openai-completions1M131K
mimo-v2.5MiMo V2.5openai-completions1M128K
mimo-v2.5-proMiMo V2.5 Proopenai-completions1M128K
minimax-m2.7MiniMax-M2.7openai-completions204K131K
qwen3.6-plusQwen3.6 Plusopenai-completions1M65K
grok-4.5Grok 4.5openai-responses500K500K
minimax-m3MiniMax-M3anthropic-messages1M131K
qwen3.7-maxQwen3.7 Maxanthropic-messages1M65K
qwen3.7-plusQwen3.7 Plusanthropic-messages1M65K

重新验证可用性:仓库内 test-models.js(从凭据库读取 Key,逐个模型发最小请求,不输出 Key)。

已知限制

  • 官方用量 API 只返回百分比percent + resetsAt),不提供 token 计数值——插件提供美元/token 换算(估算);
  • 额度查询与模型调用均依赖外网(云服务本质);
  • 本机到 opencode.ai 的 IPv6 路由可能间歇不通,插件已强制 IPv4 优先(--dns-result-order=ipv4first)。

相关项目

许可

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Plugin manifestDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 15, 2026, 1:55 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.