agent.acl
agent.acl 是文件系统优先形态里的运行配置入口。它负责把模型、provider、并行度、队列、存储、skill 目录和 worker agent 目录固化为可版本化配置。
SDK 宿主可以用 Agent.create("agent.acl") 显式传入任意 .acl 文件。
a3s code TUI 会从 workspace 向上发现 .a3s/config.acl,然后读取
~/.a3s/config.acl;它并不要求仓库根部存在 agent.acl。AgentDir 内的
agent.acl 服务于该目录的长期 Agent。三者格式一致,但发现方式和作用范围不同。
基础配置
apiKey / api_key 和 baseUrl / base_url 都是可接受别名。运行时不硬编码
模型名;default_model 和 session 级 model 覆盖必须匹配这里声明的
provider/model-id。
把 token 通过环境变量注入,不要写进 agent.acl。配置文件进入仓库后,它就是产品行为的一部分,应该像代码一样审查。
目录发现
skill_dirs 指向可复用技能目录;agent_dirs 指向 worker/subagent 定义目录。自动委派只决定是否让模型选择 worker,不会取消父 session 的权限策略、工具可见性或验证要求。
会话存储
当 session 没有显式收到 SDK sessionStore 时,sessions_dir 是本地文件型
session persistence 路径。storage_backend = "memory" 表示 session 是临时的。
storage_url 会被解析为自定义存储元数据,但它本身不会创建本地
FileSessionStore。
智能体目录中的配置
AgentDir 的 agent.acl 可以省略;省略时使用默认配置。存在时,AgentDir::load 会把它解析成 CodeConfig,并与 instructions.md、skills/、tools/、schedules/ 一起合成长期 Agent。
适合放在 AgentDir agent.acl 的内容包括该 Agent 默认模型、provider、运行限制、队列策略和私有 skill 目录。不要在这里硬编码部署环境差异;用环境变量或宿主注入区分开发、测试和生产。
配置边界
- 配置决定“可以连接什么”和“默认如何运行”,不决定“模型能越过权限门”。
- 目录路径应相对 workspace 或 AgentDir,避免依赖个人机器绝对路径。
- 自动委派需要和
agents/的描述质量一起调优;低质量 description 会让运行时错误分派。 - 高风险工具即使被目录发现,也应继续走 HITL 或 allow-list。