基于 Python 的终端 AI 编程助手,支持多 Agent 协作、跨会话记忆持久化、Plan-First 规划模式与 MCP/ACP 工具集成。
Invincat CLI 是一款运行在终端中的 AI 编程助手,基于 DeepAgents CLI 与 LangChain/LangGraph 构建,当前版本 0.0.34,开发状态为 Beta。
多 Agent 运行时架构#
项目采用明确角色边界的多 Agent 运行时:
- Main Agent:端到端执行用户任务——读写文件、运行命令、调用 MCP 工具、协调子任务,但不得直接读写 memory_user.json / memory_project.json。
- Planner Agent(
/plan):以只读工具分析需求、生成可执行 todo 列表供用户审批后移交 Main Agent 执行,无实现动作。 - Memory Agent:每轮完成后异步提取持久化记忆,执行评分与操作(create/update/rescore/retier/archive/delete/noop),保守提取,跳过低置信度或临时事实。
- Local Subagents:并行处理有界的进程内子任务,仅在委托范围内操作。
- Async Subagents:异步卸载长耗时或远程任务,视为委托工作者。
记忆系统#
- JSON 单一事实源:运行时仅依赖
memory_user.json(用户级跨项目偏好)与memory_project.json(项目级仓库规范)。 - 双作用域隔离:用户级与项目级严格分离。
- 读写管道解耦:
RefreshableMemoryMiddleware负责加载/注入;MemoryAgentMiddleware负责提取/写入,提取在aafter_agent后轮异步中间件中运行,不阻塞交互延迟。 - 增量提取 + 回退:仅消费上次成功后的增量消息,历史重写时回退到全量。
- 证据感知:优先基于工具证据(read_file、edit_file、execute 等)的持久化规范。
- 确定性失效清理:通过规则验证移除过时或矛盾的活动记忆。
- 强写安全:schema 验证、去重/冲突防护、路径白名单、原子写入(tmp + os.replace)。
- 可视化管理:
/memory全屏检查和管理两个作用域。
上下文管理#
- 微压缩:每次模型调用前自动运行,纯算法实现(不涉及 LLM),<1ms;按"工具调用组"分组,保留动态近期窗口,对旧的大型工具输出进行两级压缩。
- 自动压缩:上下文窗口使用超过 80% 时自动将旧消息压缩为摘要。
- 手动压缩:
/offload或/compact命令。
Plan-First 模式#
/plan 进入规划模式 → Planner Agent 只读分析 → 生成 todo 列表 → 用户批准 → 检查清单移交 Main Agent 执行。/exit-plan 取消进行中的规划轮次。Planner 模式使用可见工具过滤 + 运行时允许列表双重执行保障安全。
安全与审批#
Shell/文件/网络操作默认需用户确认;Shift+Tab 切换自动审批模式(状态栏显示 AUTO);记忆存储文件由中间件保护,仅通过记忆管道更新。
技能系统#
预定义工作流模板,支持显式调用 /skill:<name> [args],SkillsMiddleware 在正常执行中自动匹配并应用技能。
MCP 与 ACP 支持#
通过 langchain-mcp-adapters 集成 MCP 工具,通过 deepagents-acp>=0.0.4 集成 ACP(Agent Communication Protocol)。此外 commit 历史显示支持企业微信入站媒体消息桥接。
模型配置#
双模型机制:Primary model(主对话执行)+ Memory model(记忆提取专用),未配置 Memory model 时自动回退。支持的提供商包括 Anthropic(claude-sonnet-4-6, claude-opus-4-7)、OpenAI(gpt-4o, o3)、Google GenAI(gemini-2.0-flash, gemini-2.5-pro)、OpenRouter(全量模型)、OpenAI 兼容接口(DeepSeek、智谱、本地 Ollama 等,通过设置 base_url)。
安装与使用#
pip install invincat-cli
cd ~/my-project
invincat-cli
# 首次启动后运行 /model 配置模型和 API Key
环境要求:Python ≥3.11(支持 3.11/3.12/3.13),跨平台。
待确认信息#
- DeepAgents CLI 生态关系:
deepagents==0.4.11为核心依赖,但上游仓库/文档未深入核实。 - ACP 协议具体规范与用途未在 README 中详述。
- WeCom 桥接功能完整度与使用方式不明。
- Skill 系统内置技能清单未列出。
- PyPI 发布状态未直接验证。