Skip to content

5.9b API 参考

💡 一句话总结:完整的 OpenCode HTTP API 参考文档。


学完你能做什么

  • 能使用 REST API
  • 能调用所有端点
  • 能处理认证
  • 能调试 API 调用

🎒 开始前的准备

确保你已经完成以下事项:

  • [ ] 了解 RESTful API 基本概念
  • [ ] 有 API 测试工具(如 curl、Postman)

核心思路

API 基础

  • 基础 URL:https://api.opencode.ai/v1
  • 认证:Authorization: Bearer ${API_KEY}
  • 格式:application/json

API 端点

对话

发送消息

bash
POST /api/chat
Content-Type: application/json
Authorization: Bearer ${API_KEY}

{
  "message": "帮我写一个函数",
  "context": {
    "file": "src/app.ts"
  },
  "options": {
    "model": "glm-4.7",
    "temperature": 0.7,
    "stream": true
  }
}

响应

json
{
  "id": "chat-123456",
  "message": "这是一个示例函数...",
  "usage": {
    "prompt_tokens": 100,
    "completion_tokens": 200
  }
}

会话

创建会话

bash
POST /api/sessions
Authorization: Bearer ${API_KEY}

{
  "title": "我的项目",
  "agent": "developer"
}

获取会话列表

bash
GET /api/sessions
Authorization: Bearer ${API_KEY}

获取会话详情

bash
GET /api/sessions/{id}
Authorization: Bearer ${API_KEY}

文件

读取文件

bash
GET /api/files{path}
Authorization: Bearer ${API_KEY}

写入文件

bash
PUT /api/files{path}
Authorization: Bearer ${API_KEY}

{
  "content": "文件内容",
  "encoding": "utf-8"
}

工具

执行工具

bash
POST /api/tools/execute
Authorization: Bearer ${API_KEY}

{
  "tool": "bash",
  "args": {
    "command": "npm install"
  }
}

完整 API 列表

方法端点说明
POST/api/chat发送对话消息
GET/api/chat/获取对话历史
POST/api/sessions创建会话
GET/api/sessions列出所有会话
GET/api/sessions/获取会话详情
DELETE/api/sessions/删除会话
GET/api/files读取文件
PUT/api/files写入文件
GET/api/files{path}/info获取文件信息
DELETE/api/files删除文件
POST/api/tools/execute执行工具
GET/api/tools/list列出可用工具
GET/api/config获取配置
PUT/api/config更新配置

错误处理

错误响应

json
{
  "error": {
    "code": "invalid_api_key",
    "message": "无效的 API 密钥",
    "status": 401
  }
}

错误代码

代码说明
invalid_api_keyAPI 密钥无效
rate_limited超过请求限制
invalid_request请求格式错误
server_error服务器错误
quota_exceeded配额不足

检查点 ✅

全部通过才能继续

  • [ ] 能调用对话 API
  • [ ] 能管理会话
  • [ ] 能操作文件
  • [ ] 能执行工具

本课小结

你学会了:

  1. API 基础结构
  2. 对话 API
  3. 会话 API
  4. 文件 API
  5. 工具 API
  6. 错误处理

下一课预告

下一课我们将学习 SDK 开发。


📚 更多完整模板Prompt 模板库