A3S Code
A3S Code 是 a3s code 终端应用背后的 Rust Runtime,也可以单独接入 IDE、
Runner 或服务端。它负责 Agent Loop、上下文、工具调用、权限检查、子任务、
Workspace 访问,以及任务的保存和恢复。
想直接在终端里使用,安装 a3s CLI。
想构建自己的产品,使用 Rust crate、Node.js 包、Python 包,或配合原生桥接程序
使用 Go module。它们输出同一套事件,因此不同界面不需要各写一套 Agent Loop。
先选使用方式
主要能力
v6.8 只向模型呈现一套紧凑的 search 模式,统一 grep、glob 和零依赖 BM25 排序;
同时以一个模型可见的 task 模式覆盖聚焦任务与有界并发扇出。旧的宿主直调别名仍可读取,
但不再消耗模型工具 Schema Token。本版本还为 Headless 宿主增加精确、重放安全的 Run
准入,并通过 Node.js、Python 和 Go SDK 返回统一的快照与重放状态。
v6.7 的本地 download 工具会通过 SSRF 安全的重定向校验,把 HTTP(S) 资源流式写入
相邻临时文件;它支持自适应 1–4 连接 Range 传输,并可在原子提升前校验 64 位
expected_sha256。这是受权限与 HITL 治理的工作区修改操作,远端工作区后端不会注册。
详见工具。
搜索使用结构门控级联:Core 默认 feature 中的 Chrome/Chromium 层、HTTP/RSS 引擎, 然后是原生 API。完整级联仍未达到结构化检索要求时会失败关闭,不会把弱候选当成成功 证据,也不需要外部语义验证器或重排序 API。委派上下文共享 bulkhead、重试预算和 相同请求合并,详见工具。
一次执行大致会经过这些步骤:
安装
想使用交互式终端应用时,运行对应平台的一键安装脚本:
脚本会选择当前系统与架构对应的发布包并校验 SHA-256。也可以使用
brew install a3s-lab/tap/a3s 或 cargo install a3s。
当你要把 A3S Code 嵌入自己的产品时,安装 SDK 包:
配置
A3S Code 使用 ACL。不要把真实 API Key、私有模型端点、本地配置路径或 tenant/user 标识提交到仓库;提交只通过环境变量解析凭据的模板。
auto_parallel = false 只关闭自动并行子智能体扇出。手动 task 调用和 SDK
session.tasks(...) 扇出仍然可用,除非你单独关闭手动委派。
本地 session 持久化需要把 storage_backend = "file" 和 sessions_dir 配对;
SDK embedding 场景也可以直接传 typed FileSessionStore。
使用 TUI
在你希望 agent 检查的 workspace 中运行 a3s code:
TUI 会按顺序发现配置:A3S_CONFIG_FILE、从当前目录向上查找的
.a3s/config.acl,以及 ~/.a3s/config.acl。
顶层 a3s update 命令会进入同一个 updater。
使用 SDK
接着看
- A3S Code TUI 说明安装、配置发现、斜杠命令和 Effort。
- SDK 与 API说明 Go 模块和桥接程序的安装方式;后续 Go 示例会与 Node.js、Python 一起出现在各通用章节中。
- 文件系统优先 介绍
AGENTS.md、ACL、AgentDir、Skill、工具和定时任务。 - API 契约 列出经过集成测试的 Node.js API。
- 会话 介绍创建、流式输出、运行状态、保存、恢复和取消。
- 工具 介绍直接调用、错误类型、结构化输出和 QuickJS Program。
- 任务 与 编排 介绍子 Agent 和固定工作流。
- 安全、Hook 与 验证 介绍执行前、执行中和执行后的检查。
- Memory 与 持久化 介绍跨会话信息和任务恢复。