Qoder Agent SDK 让 TypeScript 或 Python 应用能够以编程方式运行 Qoder 编程 Agent。它不只是返回生成的文本,还能检查项目、使用经过授权的工具、修改文件、执行命令,并返回结构化结果。
Agent SDK 适合为脚本、服务、CI 任务、开发者工具或内部工作流加入编程 Agent 能力,无需自动操作交互式终端。
SDK 是面向应用的接口;
在支持的平台上,正式发布的 SDK 包已经包含兼容的 qodercli 运行时,通常不需要单独安装 CLI。如果需要自行管理运行时,也可以让 SDK 使用指定的 qodercli 可执行文件。
如需了解启动过程、通信协议和 Agent 循环,请阅读工作原理。
SDK 语言应与宿主应用一致。
完整的双语言可运行示例见快速开始。
一次典型集成包含四个部分:
SDK References列出了通用概念与两种语言 API 的对应关系。
Agent 可能产生真实改动。工作目录、工具、凭据和权限策略都应视为应用安全边界的一部分。
SDK 与 qodercli 的职责
SDK 是面向应用的接口;qodercli 是 Agent 运行时,负责任务规划、模型通信以及在目标环境中执行工具。
选择 SDK
SDK 语言应与宿主应用一致。
| TypeScript | Python | |
|---|---|---|
| 安装包 | @qoder-ai/qoder-agent-sdk | qoder-agent-sdk |
| 运行环境 | Node.js 18+ | Python 3.10+ |
| 一次性任务 | query() | query() |
| 多轮会话 | 向 query() 传入异步消息流 | QoderSDKClient |
| 输出 | 带类型的异步消息流 | 带类型消息对象的异步流 |
编程模型
一次典型集成包含四个部分:
- 描述任务。 发送任务文本,并按需设置工作目录、模型、系统提示词和最大轮数。
- 设置边界。 选择允许使用的工具和权限模式,或通过回调让应用处理需要确认的操作。
- 消费消息流。 处理 Agent 文本、工具活动、进度事件以及最终的
result消息。 - 按需控制会话。 长会话可以继续发送消息、中断任务、调整部分运行参数或查询会话状态。
query() 传入字符串。如果后续输入依赖前面的输出,请使用输入模式中的语言专属多轮方式。
可以配置什么
| 能力范围 | 应用可以获得什么 |
|---|---|
| 输入与输出 | 一次性或多轮输入、结构化消息和增量流式事件 |
| 工具 | 内置文件与命令工具、自定义工具,以及外部或进程内 MCP 服务 |
| Agent 行为 | 系统提示词、模型、技能、插件、可复用 Agent 定义和子 Agent |
| 安全与控制 | 工具白名单、权限模式、审批回调、Hooks、中断和轮数限制 |
| 会话管理 | 工作目录、持久化会话、恢复、Checkpoint、用量和上下文信息 |
执行边界
Agent 可能产生真实改动。工作目录、工具、凭据和权限策略都应视为应用安全边界的一部分。
- SDK 与 qodercli 默认在本机通信,但 qodercli 会访问 Qoder 模型服务。任务文本以及推理所需的上下文可能发送到该服务。
- 文件修改和命令在 qodercli 所在环境执行。请明确设置
cwd,并通过权限控制限制操作范围。 - 模型不会直接访问文件或运行命令。模型提出工具调用请求,由 qodercli 按配置的策略校验和执行。
- 跳过权限确认的模式只适合已经由外部机制提供充分隔离的运行环境。
下一步
- 快速开始 — 安装、认证并运行第一个任务
- 工作原理 — 了解 SDK 通信和 qodercli Agent 循环
- 输入模式 — 选择一次性或多轮输入
- 权限控制 — 管理工具访问和审批
- SDK References — 查找 TypeScript 和 Python API