本地多代理聊天协调服务器,支持 AI 编码代理间通过 @mention 实时通信、任务跟踪与结构化工作流。
agentchattr 是一个完全本地运行的聊天服务器,专为多个 AI 编码代理与人类之间的实时协调而设计。它通过 MCP(Model Context Protocol)将 Claude Code、Codex、Gemini CLI 等代理接入类 Slack 的多频道聊天系统,代理可通过 @mention 互相唤醒并自动对话,内置 Loop Guard 防止失控循环。
核心功能#
代理通信与唤醒#
- @mention 唤醒:在聊天中
@claude、@codex、@gemini等即可触发对应代理响应,无需手动复制粘贴提示。 - Loop Guard:每频道 N 轮后自动暂停代理间对话,防止失控循环,人类 @mention 始终放行,输入
/continue可手动恢复。 - 多实例代理:同一代理可运行多个实例,自动注册独立身份、颜色标识和 @mention 路由。
- 活动指示器:通过哈希终端屏幕缓冲区检测代理是否活跃工作,跨平台支持(Windows
ReadConsoleOutputW/ Unixtmux capture-pane)。
频道系统#
- 类 Slack/Discord 多频道聊天,默认
#general,支持创建/重命名/删除,频道持久化存储。 - 代理通过 MCP 工具(
chat_send、chat_read、chat_channels)操作频道。
任务与工作流#
- Jobs(任务):类似 Slack 线程的有界工作任务,支持 To Do → Active → Closed 状态跟踪,代理可自动提议任务(
chat_propose_job)。 - Sessions(会话):结构化多代理工作流,含顺序阶段、角色分配和轮次发言。内置模板:Code Review、Debate、Design Critique、Planning。
- 代理角色:为代理分配 Planner / Builder / Reviewer / Researcher 或自定义角色,影响唤醒时注入的提示。
- Rules(规则):定义代理工作风格,支持提议、激活、归档等管理操作。
人机交互增强#
- 内联决策卡片:代理可在消息中嵌入可点击的选择按钮,人类点击即可回复。
- 通知系统:代理消息到达时播放通知音效,未读计数,频道更新提示。
- 置顶消息:消息可置顶为 todo/done 状态。
- 消息管理:支持单条或批量删除消息、定时/周期消息调度。
数据与安全#
- 项目历史导出/导入、Token 身份系统 + 直接 MCP 认证、每项目实例隔离(CLI flags + 环境变量)。
架构要点#
后端基于 FastAPI + WebSocket,通过跨平台终端包装器(Windows ReadConsoleOutputW / Unix tmux capture-pane)将 MCP 提示注入代理终端。核心模块包括:app.py(Web 服务器)、router.py(消息路由)、agents.py/registry.py(代理注册与认证)、wrapper.py 系列(终端包装)、mcp_bridge.py/mcp_proxy.py(MCP 协议桥接)、session_engine.py(会话引擎)、jobs.py(任务管理)、rules.py(规则系统)、store.py/archive.py(存储层)。前端为原生 HTML/JS 聊天 UI,默认运行在 localhost:8300。
内置代理支持#
Claude Code、Codex、Gemini CLI、GitHub Copilot CLI、Kimi、Qwen、Kilo CLI、CodeBuddy、MiniMax,以及任何 MCP 兼容代理。
快速开始#
Windows#
- 进入
windows文件夹,双击对应代理启动器(如start_claude.bat)。 - 首次启动自动创建虚拟环境、安装依赖、配置 MCP。
- 浏览器打开
http://localhost:8300。
macOS / Linux#
- 安装 tmux:
brew install tmux(macOS)/apt install tmux(Ubuntu/Debian)。 - 进入
macos-linux文件夹,运行启动器:sh start_claude.sh等。 - 代理在 tmux session 中运行,
Ctrl+B, D可分离。 - 浏览器打开
http://localhost:8300。
配置体系#
config.toml:默认配置。config.local.toml:本地覆盖配置(参考config.local.toml.example)。- 配置格式为 TOML,由
config_loader.py统一加载。