SDK 与 API
A3S Code 提供 Rust、Node.js、Python 和 Go SDK。想直接使用终端应用,则安装
a3s CLI。版本号与发布状态以对应 Registry 和
GitHub Releases 为准。
安装
Go 模块与桥接程序
Go 1.23 及以上版本使用纯 Go API,不需要 CGO。一个长驻的
a3s-code-go-bridge 进程持有原生 Runtime,通过带版本号的 JSONL 协议传输
多路复用请求和 EventEnvelopeV1。
包含 Go SDK 的仓库 Release 会发布路径前缀 Tag sdk/go/vX.Y.Z,它与
vX.Y.Z Release 对应,同时提供 a3s-code-go-bridge-SHA256SUMS 和以下
x86-64 桥接程序:
从 GitHub Releases 下载桥接程序,
使用发布的 SHA-256 文件校验,并确保它与 Go module 版本相同。可以将程序加入
PATH、设置 A3S_CODE_GO_BRIDGE,或传入 code.WithBridgePath:
没有对应架构的 Release 资产时,可以从源码构建:
code.Create 会对传输协议、事件协议和完整操作清单执行 fail-closed 握手。
Go 错误使用稳定的 *code.Error 错误码,Context 取消和 Deadline 仍可通过
errors.Is 判断。桥接程序覆盖完整的可序列化 Agent/Session 能力,以及由 Go
实现的 Hook、预算守卫、斜杠命令和流水线回调。任意 Rust trait 对象仍属于
Rust 原生扩展机制;其他 SDK 通过等价的值配置、回调、直接工具或 MCP 边界接入。
四种 SDK 的共用能力
四种 SDK 使用相同的 Session 生命周期、事件格式和 Snapshot。界面可以订阅同一套
AgentEvent / EventEnvelopeV1,保存后也可以按 Session ID 恢复。
共用指南会在完整的共用 SDK 能力面中,将 Go 与 Node.js、Python 并列展示。 可以从快速开始开始,再阅读 流式事件、直接工具、 会话、验证、MCP和 持久化。
四种 SDK 都能配置持久化、记忆、Local/S3 Workspace、Remote Git、权限与确认、
Hook、MCP、队列、确定性重放和编排。Rust 还可以接收自定义 LlmClient 或
ContextProvider 等任意进程内 trait 实现;其他语言通过回调、直接工具或 MCP
接入自定义服务。界面接入可从 Session 与事件流 开始。