SkylerFee/dsh-llm-opencode-go-live ↗★ 0

@skylerfee/dsh-llm-opencode-go-live

OpenCode Go 动态模型目录插件 适合需要动态读取和同步 OpenCode Go 模型目录的用户。

套件
@skylerfee/dsh-llm-opencode-go-live
相容性
待驗證
Harness 依賴範圍
>=0.1.7-rc.1
Cordis 依賴範圍
~4.0.4
版本
0.1.0-alpha.3
授權
MIT
最近更新
2026年9月29日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:SkylerFee/dsh-llm-opencode-go-live

@skylerfee/dsh-llm-opencode-go-live

English | 中文

CI License: MIT Node: >=22.19 Release: v0.1.0-alpha.3

An OpenCode Go live model catalog plugin for DeepSeek Harness. It reads the opencode-go catalog from Models.dev, registers the separate opencode-go-live route, contributes its own Models settings card, and uses pi-ai for model requests. The built-in opencode-go route remains available.

Quick Start

Node.js 22.19 or newer (the floor pi-ai declares), pnpm, and DeepSeek Harness 0.1.7-rc.1 or newer are required. The plugin's peers are @deepseek-ai/cordis ~4.0.4 together with @deepseek-ai/dsh-credentials, @deepseek-ai/dsh-llm, @deepseek-ai/dsh-llm-pi-ai and @deepseek-ai/dsh-settings at >=0.1.7-rc.1 — the image-input hooks it wires in ship in those versions. From the DSH repository root, install the bundle from a released tag:

pnpm dsh plugin --profile web add github:SkylerFee/dsh-llm-opencode-go-live#v0.1.0-alpha.3

A git install fetches sources rather than built artifacts, and pnpm blocks a dependency's build scripts until the consumer allows them: the first attempt stops with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED and prints the key to allow. Add that key to the Web profile's pnpm-workspace.yaml, run the command again, and confirm the installed package contains lib/index.js — the usage guide has the exact snippet.

A local checkout or a pnpm pack tarball works too — see the usage guide for both commands.

Restart the Web profile. Open Settings → Models, click Edit in the plugin-owned OpenCode Go (Live) card, enter your API key, and apply it. Choose a model under opencode-go-live in the model picker. DSH stores the key through its credentials service under the default reference OPENCODE_GO_LIVE_API_KEY, which is deliberately distinct from the OPENCODE_GO_API_KEY that the Models page derives for the built-in opencode-go route, so the two routes never share one credential record. The bundle stores a catalog snapshot at cache/opencode-go-live.json under the Harness home — ~/.dsh/cache/opencode-go-live.json by default, or under $DSH_HOME when that variable is set. Installation does not change the default model.

The plugin's card in Settings → Models — the key editor, and the dynamic model list after the catalog resolves:

Editing the OpenCode Go (Live) card in Settings → Models

The OpenCode Go (Live) card with its dynamic model list expanded

In a session, the live models sit in their own group in the model picker, with the reasoning level beside them:

Model picker showing the OpenCode Go (Live) group

Model and reasoning level menu in a session

Documentation

  • Usage guide: installation, key setup, configuration, and troubleshooting.
  • Architecture: component responsibilities, Mermaid data-flow and sequence diagrams, catalog refresh, and request behavior.

The plugin requires the DSH llm and credentials services; the Web settings page also uses settings. A failed refresh retains the last successful catalog. With no catalog, the provider remains visible but has no live models. Calls without a credential return MISSING_CREDENTIAL. A visible model does not establish that the upstream API will authorize its requests.

Image inputs (a read_image tool result or a pasted screenshot) are resolved through the host's durable attachment service, exactly as on the built-in routes; when no attachment service is mounted, a request carrying an image fails with UNSUPPORTED_CONTENT instead of silently dropping it. File attachments never reach any provider as bytes: request assembly projects every file block to deterministic handle text on all routes. Declared input modalities follow the remote catalog's modalities.input (text and image), and a model that declares no image input receives text-only image placeholders.

Verification

Verified on macOS only. The plugin's installation, the catalog refresh against the live Models.dev source, the Models settings card, and model calls were all exercised on a single macOS machine; Linux and Windows have not been run.

CI executes the build and the offline test suite on ubuntu-latest. That is a build signal, not a runtime verification: the tests use fixed catalog doubles, and no automated run reaches the real OpenCode Go API.

License

MIT © 2026 SkylerFee — see LICENSE.