Skip to content

Latest commit

 

History

History
59 lines (42 loc) · 2.95 KB

File metadata and controls

59 lines (42 loc) · 2.95 KB

AGENT.md

本文件只面向 AI coding agent,描述“如何安全、准确地改这个仓库”。 用户上手、安装、运行、接口说明请看 README.md

1. 适用范围

  • 适用于本仓库内所有代码与文档修改。
  • 目标是降低错误修改、路径幻觉、过时说明复用。

2. 真实入口(修改前先核对)

  • main.py: CLI 会话入口。
  • api.py: FastAPI 服务入口(/chat/tools/upload)。
  • run_server.py: 启动 API 并打开前端页面。

如需求影响入口行为,必须同步核对并更新相关说明。

3. 核心代码边界

  • utils/agent_factory.py: agent 组装与中间件链。
  • utils/mcp_client.py: MCP 持久会话管理(create_persistent_mcp_session),解决每次工具调用创建新 subprocess 的问题。
  • utils/my_browser.py: 浏览器进程管理(启动、CDP 端口检测、清理),启动流程全异步。
  • context/context_manager.py: 上下文压缩、归档、消息重写。
  • tools/: 工具定义。当前包含:capture_element_context_toolvision_analysis_tooldelay_tool_callterminal_toolsrag_tools。浏览器操作工具由 MCP 会话动态加载,不在此目录。
  • rag/: 检索与向量相关逻辑。
  • loggers/: 记录与经验总结中间件(仅文字日志,无截图)。

仅在边界明确时修改,跨模块改动需检查调用链是否一致。

4. 强约束

  • 先读代码再改文档,文档必须映射真实实现。
  • 不把规划文档中的设计当作已实现能力。
  • 不引入仓库中不存在的路径、模块或类名。
  • 改动后不得破坏现有入口可运行性。
  • 涉及消息重写时,必须保证 Human/AI 角色严格交替。

5. 变更同步规则

  • 改接口行为:同步更新 README.md 的用法或接口说明。
  • 改目录结构:同步更新本文件“真实入口/核心边界”。
  • 改运行前置条件:同步更新 README.md 环境与排障章节。

6. 当前仓库已知事实(2026-03-11)

  • 浏览器操作已迁移至 @playwright/mcp (snapshot-ref 模式),通过 utils/mcp_client.py 管理持久 MCP 会话。
  • 已废弃并删除的工具:fill_text_toolget_all_element_toolget_page_img_toolplaywright_mcp_tool
  • context/context_manager.py 存在且为生效中间件,支持旧消息压缩和字符硬阈值双触发。
  • context/state_manager.pycontext/assembly_engine.pycontext/dynamic_id/ 当前不存在。
  • docx/ 下内容主要是设计和过程文档,不等于运行时代码。
  • loggers/screen_logger.py 仅保留文字日志,不再持有 ScreenshotHelper / CDP 连接。
  • ToolNode 已全局修补 _handle_tool_errors = True,MCP 工具异常不会导致 Agent 直接崩溃。

7. 执行偏好

  • 小步修改,优先最小可验证变更。
  • 每次修改后至少做一次本地一致性检查(路径、导入、文档引用)。
  • 避免在不相关文件做顺手重构。