架构概览
SecAgent 的核心是一个共享运行时:桌面端和 CLI 都把用户消息交给同一套会话、模型、工具和审计模块处理。
text
┌─────────────────────┐ ┌─────────────────────┐
│ Desktop UI │ │ CLI │
└──────────┬──────────┘ └──────────┬──────────┘
└──────────────┬─────────────┘
▼
┌──────────────────┐
│ SecAgent Runtime │
│ session / config │
│ model / tracing │
└────────┬─────────┘
▼
┌──────────────────────┐
│ Tools & Extensions │
│ MCP / Plugin / Skill │
└──────────┬───────────┘
▼
┌──────────────┐
│ External App │
│ or Local Tool│
└──────────────┘工作区
工作区是运行边界,也是桌面端与 CLI 共享状态的地方。配置、密钥、会话、运行时事件和审计数据都按工作区隔离。
模型层
模型层支持 OpenAI Responses、OpenAI 兼容 Chat Completions、Anthropic Messages 和 Google Gemini 原生 API。模型配置使用统一的 Agent 结构,具体协议由 provider 决定。
工具层
工具来源包括:
- MCP 服务:适合独立应用或远程服务
- 插件工具:适合随插件分发的 JavaScript 能力
- Pi 风格本地工具:
look_at、read、write、edit、bash
每次工具调用都会进入运行时事件流;本地操作还会写入审计数据库。
扩展层
Skill 是面向模型的工作流说明,MCP 或插件是实际执行能力。两者分工可以让初始上下文保持轻量,同时把复杂工具的参数和安全规则写在需要时才加载的文档里。