OpenCode
通过 @ai-sdk/openai-compatible 将 Inferway 添加为 OpenCode 自定义服务商。
将 Inferway 添加为 OpenCode 的自定义服务商。接入前,请确认账户已开通模型访问。
当前 Inferway 模型配置参数
inferway/qwen3.8-27b262,144131,072已在 2026-09-19 于 macOS 26.6.2 arm64(版本 1.18.25)验证:基础对话与文件读取工具往返(模型 inferway/qwen3.8-27b)。
开始之前
先按官方说明安装客户端。本文的 Pi 指 pi-mono coding agent;Hermes 指 Nous Research 的 Hermes Agent。
Inferway 账户激活后,从控制台 → API keys 获取 Key。建议为该客户端使用独立 Key,并确认允许的模型和消费上限。live、test 前缀共用推理与计费流程;test 是环境标签,不代表免费或模拟推理。
Inferway 地址需要 Inferway Key;OpenRouter Key 用于 OpenRouter,不能直接用于此地址。
将 Key 保存在客户端凭证存储或本机环境中,不要粘贴到提示词、截图或提交到仓库的配置文件。终端示例适用于 macOS / Linux 的 bash、zsh。
在当前终端设置 Key
下面的交互输入会隐藏 Key,并避免将其写入命令历史。请从同一个终端启动客户端;另外打开的应用可能无法继承该变量。
printf 'Inferway API key: ' IFS= read -r -s INFERWAY_API_KEY printf '\n' export INFERWAY_API_KEY
确认地址和模型
使用完整模型 ID inferway/qwen3.8-27b。Base URL 只包含一次 /v1,不要在 Base URL 设置中添加 /chat/completions。确认下方响应中包含该模型 ID。
curl --fail-with-body --silent --show-error --max-time 30 \ 'https://api.inferway.ai/v1/models' \ -H "Authorization: Bearer $INFERWAY_API_KEY"
创建临时文件夹
OpenCode 可以从项目根目录加载项目配置(项目配置与自定义路径见 OpenCode 配置文档)。请在一个临时文件夹中操作,避免测试影响你的日常设置或全局服务商列表。
已接受的实测在 macOS 26.6.2 arm64 上使用 OpenCode CLI 针对下方目录模型进行;操作前请核对自己安装的版本。git init 只为让 OpenCode 有一个干净的项目根目录;检查本身不需要提交。
# Scratch folder with a small read fixture mkdir inferway-opencode-verify && cd inferway-opencode-verify && git init -q printf 'nonce-7f3a9c\n' > read-tool-fixture.txt
保存项目配置
将以下内容保存为临时文件夹根目录的 opencode.json。服务商部分以公开模型 ID 作为模型键,组合模型选择器为 provider/model。{env:INFERWAY_API_KEY} 引用之前设置的变量,Key 本身不写入文件。1024 输出上限是实测验证预设;更大的上限未在此验证。
{
"$schema": "https://opencode.ai/config.json",
"model": "inferway/inferway/qwen3.8-27b",
"provider": {
"inferway": {
"npm": "@ai-sdk/openai-compatible",
"name": "Inferway",
"options": {
"baseURL": "https://api.inferway.ai/v1",
"apiKey": "{env:INFERWAY_API_KEY}"
},
"models": {
"inferway/qwen3.8-27b": {
"name": "Inferway",
"limit": {
"context": 262144,
"output": 1024
}
}
}
}
}
}运行基础检查
从已设置 INFERWAY_API_KEY 的终端、在临时文件夹内运行。opencode run 需要位置消息。退出码 0 本身不代表成功——请检查最终文本。
opencode run --pure --format json --title 'Inferway basic check' --model 'inferway/inferway/qwen3.8-27b' --agent build --dir . 'Reply with exactly: connected'
确认接入成功
- 确认基础检查的回复文本恰为 connected 且无 API 错误。
- 运行下方读取检查。提示词中不包含 nonce;确认最终文本恰为夹具中的 nonce。这仅验证读取回路——不声称支持编辑、Shell 或其他工具。
- 打开控制台 → Requests,确认推理请求与 token 用量。实际计费以控制台为准,而非任何客户端估算。
opencode run --pure --format json --title 'Inferway read fixture' --model 'inferway/inferway/qwen3.8-27b' --agent build --dir . 'Read the file read-tool-fixture.txt and reply with exactly the nonce it contains, nothing else.'
可选:在日常配置中使用 Inferway
检查通过后,把 provider 块(及其下的模型项)复制到你现有的 OpenCode 配置中,保留你自己的设置。日常使用不需要临时文件夹或测试夹具。
费用与用量
实际用量由 Inferway 记录:打开控制台 → Requests 查看每次请求的状态与 token 用量,在控制台 → 用量查看汇总。客户端本地显示的数字只是其自身估算,不是计费金额;请以控制台为准。
请求失败时
认证失败:检查 Key 是否存在、有效且获准使用该模型,并从设置变量的终端重新打开客户端。排错时不要输出完整 Key。
地址或模型错误:检查是否重复添加 /v1,使用公布的完整模型 ID,并确认客户端选择 Chat Completions。请求发往 /responses 或 /completions 时,换 Key 无法解决。
额度或超时:检查钱包余额和 Key 限额,按 Retry-After 等待,并缩短输入或降低输出上限。长输出保持流式传输,排错期间避免 Agent 连续重试。
联系支持时提供客户端版本、模型 ID、请求时间和可用的 request ID;请遮盖凭证和源码。