Qoder Agent SDK 提供 TypeScript 和 Python 两个语言版本。两个 SDK 的能力面一致,但 API 签名、类型定义和命名风格各自遵循所在语言的习惯(TypeScript 为 camelCase,Python 公共 options 为 snake_case)。完整 API 参考按语言分开维护:
两个 SDK 的核心 API 对照如下,方便跨语言迁移:
各功能页已合并双语言示例,可在代码块内切换 TypeScript / Python:
按语言查看
| 语言 | 参考页 | 包名 |
|---|---|---|
| TypeScript | SDK References - TypeScript | @qodercn-ai/qodercn-agent-sdk |
| Python | SDK References - Python | qodercn-agent-sdk |
命名对照
两个 SDK 的核心 API 对照如下,方便跨语言迁移:
| 能力 | TypeScript | Python |
|---|---|---|
| 一次性查询 | query() | query() |
| 多轮会话 | query() + 异步消息流 | QoderSDKClient |
| 会话 options | Options(query({ options })) | QoderAgentOptions |
| 认证:环境变量 PAT | accessTokenFromEnv() | access_token_from_env() |
| 认证:直接传 PAT | accessToken() | access_token() |
| 认证:Service Account | serviceAccount() | service_account() |
| 认证:本机登录态 | qodercliAuth() | qodercli_auth() |
| 自定义工具 | tool() | @tool() 装饰器 |
| 进程内 MCP server | createSdkMcpServer() | create_sdk_mcp_server() |
| 权限回调 | canUseTool | can_use_tool |
| 中断当前回复 | q.interrupt() | client.interrupt() |
| 文件回滚 | q.rewindFiles() | client.rewind_files() |
| MCP 状态查询 | q.mcpServerStatus() | client.get_mcp_status() |
| 初始化结果 | q.initializationResult() | client.get_server_info() |
注意:Python 的AgentDefinition、hooks 输出、settings 等协议层结构沿用线路协议的 camelCase 字段名(如maxTurns、hookSpecificOutput),与公共 options 的 snake_case 不同,详见各功能页说明。