Repository navigation
Core Tools
athenavi edited this page Oct 9, 2026
·
1 revision
权威来源:Agent 安全与可靠性(威胁模型与边界)· 会话运行时 spec(工具授权模式)。本页只给「工具面在哪、策略怎么对齐」。
| 类别 | 文件 |
|---|---|
| 文件与核心 | core.py |
| 执行 |
run_code.py · sandbox.py · terminal.py
|
| 隔离与审计 |
code_guard.py · fs_guard.py · ssrf.py · exec_audit.py
|
| 媒体与技能 |
media.py · skill.py
|
| 记忆与图 |
memory.py · graph.py
|
| 浏览器与后台 |
browser.py · jobs.py
|
| 委派 | subagent.py |
执行隔离是分层的(不是"一个沙箱"):静态 AST 检查 → 运行时 builtins/路径/网络护栏 →
进程级沙箱 → 审计流水(exec_audit.py 带 tenant/user/session 维度)。
策略表在 Go 与 Python 各有一份,且由门禁强制对齐:
internal/api/tool_policy.go ←→ python-engine/app/agent/tool_policy.py
internal/api/mode.go ←→ python-engine/app/agent/guards.py
frontend-vue/src/views/ChatView.vue(工具授权模式的前端一面)
python scripts/check_tool_policy_parity.py 守这些族:分级表 / 对话模式 / 提供商目录 /
故障注入 / 共享键前缀 / 共享常量 / 工具授权模式。只改一侧 ⇒ 门禁红。
- 引擎侧:
app/agent/approval_audit.py—— 审批决策落审计流水, 且密钥不落明文(历史上修过一次明文落盘)。 - 网关侧:审批票据随会话事件流下发,前端渲染审批卡。
- 审批是"人在回路"的落点:不可逆或高影响的操作走审批,而不是靠模型自觉。
yolo 之类的模式放宽的是审批,不是绕过护栏 —— 护栏(路径/网络/AST)任何模式下都在。
⚠ 一条未决的产品决定:toolsMode 跨会话切换时是否复位(安全相关,两种注释曾互相矛盾,
代码跟随"仅由用户显式设置改变")。
本页由仓库内 docs/wiki/ 同步生成(scripts/sync_github_wiki.py)。请不要直接编辑本 wiki —— 改动会下次同步时被覆盖;请改仓库里的对应文件。
Advanced
Contributing
Core
Getting Started
Learn
Production
Reference