#沙箱agent与skills的疑问
5 messages · Page 1 of 1 (latest)
我先去源码里确认一下,别瞎猜配置名。
可以,但不是用“沙箱专用开关”做的,而是用 agent 级 skill 白名单。
最直接的是给这个沙箱 agent 配:
{
agents: {
list: [
{
id: "sandbox-agent",
sandbox: { enabled: true },
skills: [], // 这个 agent 完全不暴露任何 skill
},
],
},
}
如果只想保留少数几个:
{
agents: {
list: [
{
id: "sandbox-agent",
sandbox: { enabled: true },
skills: ["docs-search"],
},
],
},
}
关键点有 4 个:
~/.openclaw/skills仍然是固定扫描根之一,目前没有看到“只对某个 agent 禁扫这个目录” 的配置。- 但
agents.list[].skills会作用到 prompt 构建、sandbox sync、skills snapshot。
也就是,不在白名单里的 skill 不会进上下文,也不会被同步进 sandbox。 skills.allowBundled只限制 bundled skills,不影响~/.openclaw/skills。skills.entries.<name>.enabled: false是 全局禁用某个 skill,不是只禁某个沙箱 agent。
另外你担心的 token 这点,文档里写得挺明确的:默认注入的是 eligible skills 的精简列表,不是把所有 SKILL.md 内容都塞进去。所以只要你给沙箱 agent 配了 skills: [] 或精确白名单,~/.openclaw/skills 里的其他技能不会白白占上下文。
更干净的做法我会建议:
- 共享技能不要全丢
~/.openclaw/skills - 需要隔离的 agent,把技能放它自己的
workspace/skills里 - 多 agent 共用但不是全局共用的,放
~/.agents/skills或对应 workspace 的.agents/skills
文档: