CJYLZS/dsh-opencode-go-autosync ↗★ 3
dsh-opencode-go-autosync
将 opencode-go 模型从官方 API 同步至 llm-pi-ai 供应商 opencode-go-autosync,支持在设置中一键创建或更新,并可预览上游模型。
AI 分析
核心用途是自动同步和配置 Opencode Go 的模型列表。适合使用 Opencode 服务的用户,免去手动配置模型参数的繁琐步骤。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:CJYLZS/dsh-opencode-go-autosync说明文档
阅读完整 README ↗使用
- 打开 DSH 设置页 → Plugins,找到 Opencode Go 同步 卡片。
- 点 一键创建/更新。首次会创建
opencode-go-autosync,再次点击仅刷新模型列表。 - 预览上游 可不落盘查看上游模型数。
目标供应商名默认为
opencode-go-autosync,可在插件配置中改为任意名字(如opencode-go-custom)。
API Key 配置
本插件不存密钥,只把供应商的 apiKeyEnv 指向一个环境变量名,密钥由 DSH 凭据体系解析。
1. 设置供应商的凭据引用
- 设置页:模型 → 选中
opencode-go-autosync→apiKeyEnv填OPENCODE_API_KEY(或OPENCODE_GO_CUSTOM_API_KEY等自定义名)。 - 或直接编辑
~/.dsh/settings.yaml:
llm-pi-ai:
providers:
opencode-go-autosync:
apiKeyEnv: OPENCODE_API_KEY
api: openai-completions
baseURL: https://opencode.ai/zen/go/v1
compat:
thinkingFormat: openai
supportsReasoningEffort: true
插件首次创建时会自动写入上述 api / baseURL / compat / apiKeyEnv 默认值(apiKeyEnv 取上游 env[0],默认为 OPENCODE_API_KEY)。
2. 写入密钥值
任选其一(优先级:设置凭据 > 环境变量):
- 推荐:DSH 设置页的凭据/密钥管理中,为
OPENCODE_API_KEY填入真实 key(存入~/.dsh/.credentials.yaml,设置页脱敏显示)。 - 或在启动 DSH 的环境中导出:
export OPENCODE_API_KEY="sk-..."
pnpm dsh --profile web
- 或写入
~/.dsh/.env/ 项目.env(被loadLayeredEnv载入):
OPENCODE_API_KEY=sk-...
验证:设置页中该供应商显示已配置;对话选 opencode-go-autosync 下任意模型可正常出流。
插件配置
cordis.patch.yml 中 opencode-go-sync 的 config:
| 字段 | 默认 | 说明 |
|---|---|---|
sourceURL | https://models.opencode.ai/api.json | 上游目录地址 |
sourceProvider | opencode-go | 上游 JSON 中的 provider key |
targetProvider | opencode-go-autosync | 写入 llm-pi-ai.providers. 的目标名 |
targetApiKeyEnv | 上游 env[0] | 覆盖目标的 apiKeyEnv(不设则用上游默认值) |
targetBaseURL | 上游 api | 覆盖目标的 baseURL |
targetCompat | {thinkingFormat: openai, supportsReasoningEffort: true} | 覆盖目标的 compat |
extraIds | [] | 额外保留的私有模型 id(如 hy3-preview),上游没有时仍以空条目写入 |
autoSync | false | 是否定时自动同步 |
autoSyncIntervalMs | 21600000 (6h) | 自动同步间隔,最小 60s |
示例(profiles/web/cordis.patch.yml 覆盖):
- id: opencode-go-sync
config:
extraIds: [hy3-preview, muse-spark-1.2]
autoSync: true
autoSyncIntervalMs: 43200000