Files
iAs/.gitignore
wunianxiao 142efb070f refactor(sandbox): 长期容器 + docker exec 替代一次性 docker run
容器策略从"每次 docker run 一次性容器"改为"长期容器 + docker exec":

- 统一产物目录 tools/bin/:build.sh 和 tool_manager 编译后复制产物到
  此目录,registry 解析路径优先用 tools/bin/<tool>。
- 长期容器 ias-sandbox:daemon 启动时 ensure(已运行则复用),
  tools/bin 只读挂载到 /tools,无网络/只读根/cap-drop ALL/资源限制。
- docker exec 调用:工具执行改为 docker exec -i ias-sandbox
  timeout -k 5 <secs> /tools/<name>,省去容器创建开销。
  timeout -k 5 确保超时 SIGTERM→SIGKILL,无孤儿进程。
- 新增 src/tools/sandbox.rs:ensure_container + build_exec_cmd。
- executor 删除 build_docker_cmd/sandbox_enabled,docker 分支改用
  sandbox::build_exec_cmd。
- env 按 spec 白名单 -e 注入(容器启动时仅有 PATH)。

验证:本地执行 hostname=debian,docker exec hostname=容器ID,
证明确实走长期容器 exec;25 测试通过。
2026-06-22 17:11:05 +08:00

36 lines
411 B
Plaintext

# Rust 构建产物
/target
tools/*/target/
tools/bin/
dist/
# 运行时数据(状态文件、缓存、聊天记录本地副本等)
.data/
.pi
# tool_manager 审计日志
tools/.tool_audit.log
# 环境配置(含密钥,不入库)
.env
.env.local
.env.*.local
# 密钥文件
*.pem
*.key
qweather/
# IDE
.vscode/
.idea/
*.swp
*.swo
# 操作系统
.DS_Store
Thumbs.db
read.md
.codegraph/
.reasonix/