OpenCode

把 Praxis 接入 OpenCode:终端编程智能体,opencode.json 里声明一个 provider 就通。

把 Praxis 接入 OpenCode——开源终端编程智能体。项目里放一个 opencode.json 声明 provider,密钥走环境变量,opencode run 即通。

每一步都标了期望结果:照做即可,也可以把本页直接交给能操作电脑的 AI 助手,让它替你完成安装、配置与验证。

你将完成

  • 在终端用 opencode run 调 Praxis 的模型
  • 完成标志:opencode run "…" 收到模型回复
  • 预计耗时:3–5 分钟(不含 Node.js 安装)
  • 支持协议:OpenAI 兼容(/openai/v1)

前提

开始前逐项确认:

  • 一个 Praxis API Key(sk-praxis- 开头)。没有就到 控制台 → API Keys 创建:点「创建 Key」,名称必填,有效期可选 30/60/90 天或永久、默认 90 天;创建成功弹窗会展示完整 Key 并带「复制 Key」,关闭后列表只显示掩码,随时可点行内复制图标重新获取完整 Key。期望:弹出「创建 API Key」对话框,提交后弹窗展示完整 Key 与「复制 Key」按钮。新账号自带 $1 免费额度。完整流程见快速开始。

  • Node.js 18 或更高(node --version 检查)。

  • 安装 OpenCode:

    npm install -g opencode-ai

    期望:opencode --version 输出版本号(本页以 1.19.0 为准)。若 npm 提示平台包问题,按提示补装对应平台包(Linux x64 为 npm install -g opencode-linux-x64)。

配置

第 1 步:设置密钥环境变量

export PRAXIS_API_KEY=sk-praxis-你的Key

想持久化就把这行加进 ~/.bashrc 或 ~/.zshrc。Windows PowerShell:$env:PRAXIS_API_KEY="你的Key"。

期望:echo $PRAXIS_API_KEY 输出你的 Key(PowerShell 用 echo $env:PRAXIS_API_KEY)。

第 2 步:在项目里声明 provider

进入你的代码项目目录,创建 opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "praxis": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Praxis",
      "options": {
        "baseURL": "https://api.deepraxis.ai/openai/v1",
        "apiKey": "{env:PRAXIS_API_KEY}"
      },
      "models": {
        "deepseek-flash": {}
      }
    }
  },
  "model": "praxis/deepseek-flash"
}

三处说明:

  • npm 指定 OpenCode 用 @ai-sdk/openai-compatible 驱动对话——OpenCode 的 provider 体系建立在 AI SDK 之上,首次运行会自动装驱动。
  • apiKey 用 {env:PRAXIS_API_KEY} 引用环境变量——密钥不落文件。
  • 模型以 provider/模型ID 的命名空间引用;deepseek-flash 是平台示例模型。

期望:文件保存即生效。

终端里查看 opencode.json 的实际内容

验证

在项目目录里运行:

opencode run "用中文回复四个字:连接成功"

期望:末行为模型回复 连接成功(其前有一行会话标题,如 > build · deepseek-flash)——收到回复即接入成功。去掉 run 直接运行 opencode,进入交互式终端界面。

终端运行 opencode run 的真实输出

也可以在命令行完成等价验证。以下命令为 macOS / Linux / WSL(bash)写法;Windows PowerShell 用户:上面的 opencode run 已成功即可跳过;如需命令行验证,先执行 $env:PRAXIS_API_KEY="你的Key",用 curl.exe(PowerShell 的 curl 是别名,语法不同),并把命令并成一行(去掉行尾 \)。

export PRAXIS_API_KEY=sk-praxis-你的Key
curl https://api.deepraxis.ai/openai/v1/chat/completions \
  -H "Authorization: Bearer $PRAXIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "deepseek-flash", "messages": [{"role": "user", "content": "你好"}]}' \
  -w '\nHTTP %{http_code}\n'

期望:HTTP 200 即接入成功,choices[0].message.content 是回复文本(响应出现 reasoning / reasoning_details 字段也正常——推理模型的思维链)。

最后看一眼 控制台 → 用量与费用:刚才的调用已经记在账上——每一次调用都有账、可追溯。用量页默认按资源聚合展示,点「查看用量明细」或某资源行可逐笔核对。

常见问题

症状原因解法
401 / Missing authentication密钥未导出,或 apiKey 没用 {env:…} 引用先 echo $PRAXIS_API_KEY 检查;确认 apiKey 写的是 {env:PRAXIS_API_KEY}
报 EACCES(mkdir ~/.local/share 或 ~/.config 等)OpenCode 需要可写的用户数据目录,当前环境不可写把 XDG_DATA_HOME/XDG_CONFIG_HOME/XDG_STATE_HOME/XDG_CACHE_HOME 指向可写目录后重试
报平台包安装失败npm 没装对平台的二进制包按报错提示补装(Linux x64 为 opencode-linux-x64)
404 / 路径不存在baseURL 写错必须是 https://api.deepraxis.ai/openai/v1(以 /openai/v1 结尾)
模型不存在模型 ID 与目录不一致到控制台 → 模型 → 模型目录复制确切 ID

进阶

  • 查这次对话花了多少钱:控制台 → 用量与费用,按次计费、无闲置费
  • 换模型:在 models 里加目录中的其他 ID(如 claude-opus-5),并把 model 改成 praxis/<新ID>
  • 在项目里用:交互模式能读文件、改代码、执行命令,敏感动作会先征求你的确认

相关食谱

导出

本页内容