dsh-llm-opencode-go:DeepSeek Harness 的 OpenCode Go 模型推理插件

前言

DeepSeek Harness (DSH) 采用插件化架构,允许开发者通过组件扩展推理能力。针对 OpenCode Go 的模型接入,需要专门的适配器。dsh-llm-opencode-go 插件解决了在 DSH 环境中调用 OpenCode Go 服务的问题,它将 OpenCode Go 的协议与 DSH 的标准接口进行了桥接。

这是什么

dsh-llm-opencode-go 是一个 DeepSeek Harness 插件,由用户 NOirBRight 维护。它是一个 OpenCode Go 的集成层,旨在让 DSH 能够调用 OpenCode Go 的模型进行推理。该插件使用共享的 pi-ai adapter 处理聊天交互,同时利用原生 Go 端点处理模型发现和订阅使用等非聊天协议功能。

核心功能

  1. 混合协议支持:聊天使用共享 pi-ai adapter,根据模型配置,支持 OpenAI Completions、Responses 和 Anthropic Messages 三种协议。
  2. 原生端点访问:模型发现(GET /zen/go/v1/models)和订阅使用情况检查(GET /zen/go/v1/usage)通过原生 Go 端点实现,不依赖聊天协议。
  3. Web 配置界面:在 Settings → LLM Providers 下提供卡片配置入口,支持设置 API Key、Base URL 和模型列表。
  4. 能力支持:支持视觉(Vision)和思考(Thinking)能力。
  5. 路由与加载:Host 路由为 opencode-go,Loader entry 为 llm-opencode-go。

安装与启用

安装前需确保 DSH 版本兼容(支持 0.1.7-alpha.2 及以上),并安装 dsh-llm-providers-ui 以在 Web 模式下显示配置页面。

dsh plugin --profile web add --force \
  https://github.com/NOirBRight/dsh-llm-providers-ui/releases/download/v0.2.13/dsh-llm-providers-ui-0.2.13.tgz
dsh plugin --profile web add --force \
  https://github.com/NOirBRight/dsh-llm-opencode-go/releases/download/v0.1.34/dsh-llm-opencode-go-0.1.34.tgz
dsh web

典型用法

安装完成后,在 Web 界面配置插件。API 密钥可通过环境变量 OPENCODE_API_KEY 设置。

  1. 设置 API Key:在 LLM Providers 设置中配置,通过 apiKeyEnv: OPENCODE_API_KEY 引入环境变量。
  2. 选择协议类型:为每个模型配置 api 字段,例如选择 openai-responses。
  3. 获取模型列表:通过 Host 端点 GET /zen/go/v1/models 获取可用模型及其上下文窗口、视觉和思考能力。
  4. 检查订阅使用:通过 Host 端点 GET /zen/go/v1/usage 检查剩余配额。

适用场景与注意

该插件适合需要在 DSH 中统一管理 OpenCode Go 模型资源的开发者。

  • Web 模式依赖:在 Web 模式下,必须安装 dsh-llm-providers-ui 才能显示 Providers 页面和该插件卡片,否则仅保留命令行路由能力。
  • 环境变量配置:API Key 仅支持通过环境变量注入,不支持在配置文件中明文写入。
  • 已知限制:
    • CodexHub 锁文件冲突:如果存在 CodexHub 生成的锁文件,可能会阻塞 DSH 的凭证操作。
    • 参数不支持:GenerateOptions.stop 参数不被共享的 PiAiAdapter 支持。
    • 注册冲突:插件不调用 registerConfigurableProviders,这表明它与 llm-pi-ai 存在目录或功能上的重叠。

短结尾

dsh-llm-opencode-go 提供了 OpenCode Go 模型在 DSH 中的标准接入方案。通过配置环境变量和原生端点,开发者可以充分利用该模型的视觉与思考能力。更多细节请参考项目主页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜