Mio-Chat Agent OS 🚀

不仅仅是对话转发,更是下一代 Agent 操作系统

License Node.js Version PM2 Ready Architecture

在线演示 | 文档中心 | QQ 交流群

📦 Mio-Chat 生态全家桶

🖥️ Mio-Chat Frontend | 🎨 Mio-Previewer (MD 渲染器) | 🔌 插件市场


🌐 生态全景

Mio-Chat 是一个由多个模块构成的完整 Agent 生态系统:

模块 仓库地址 说明
Backend Pretend-to/mio-chat-backend (当前仓库) 核心运行环境、Hook 架构、插件系统
Frontend Pretend-to/mio-chat-frontend 基于 Vue3 + Element Plus 的沉浸式 Agent 交互界面
Renderer Pretend-to/mio-markdown 专为 AI 深度定制的 Markdown 渲染引擎,支持 Artifacts
Plugins Pretend-to/awesome-miochat-plugins 官方及社区维护的插件、Skill、Hook 集合仓库

🌟 为什么选择 Mio-Chat?

传统的 AI 对话平台仅仅是简单的“API 搬运工”。Mio-Chat 是专为复杂生产环境设计的 Agent 操作系统。它通过精密的上下文管理、双向安全授权、Multi-Agent 多智能体协同和面向切面的 Hook 拦截机制,让 AI 能够真正地、自主地、安全可控地操作物理世界。


🚀 核心硬核特性

1. 👥 Multi-Agent 群聊与多智能体协同

打破单 Agent 孤岛,实现异构 LLM 与多元人格的集群智慧。

  • 多 Agent 混合群组:支持在同一个群聊中加入多个不同 Channel 驱动的 Agent 本尊。
  • 智能路由与轮询讨论:支持 @指定 Agent 响应或多 Agent 顺序/条件触发讨论,实现复杂工程问题下的多视角交叉审核与协作。

2. 🧠 无状态记忆结晶与前缀缓存引擎

解决长对话 Token 暴增与上下文溢出的行业痛点。

  • 5 大 XML 结构化分区:将用户画像、短期目标、当前计划、工程结构增量与全局约束规范化隔离。
  • 无状态结晶与前缀缓存:动态判定 Token 水位线,扫描对话轮次边界,自动将冗余历史提炼为只读 Memory Fragment,极限命中 Gemini / Claude 的 Prompt Cache,降低 80%+ Token 开销,首字延迟缩短至毫秒级。

3. 🪝 面向切面 Hook 拦截与交互挂起系统

解决 AI 自主执行危险工具(如 Shell 命令、文件删除、公网发布)时的安全失控难题。

  • 面向切面挂载:在 LLM 推理与 ReAct 工具循环的生命周期中暴露核心拦截切面。
  • Deferred Promise 异步挂起:判定为敏感操作时,后端创建 Deferred Promise 暂停 ReAct 循环,并通过 WebSocket 向前端推送二次确认卡片;待管理员点击放行后,唤醒 Promise 继续推进流程。

4. ⏰ 自动化巡检与任务管理

赋予 Agent 离线自治与可视化巡检能力。

  • 灵活调度:支持标准 Cron 表达式、相对时间与单次触发。
  • 可视化面板与安全沙盒:前端提供专用的 Task 管理面板,可直观查看执行日志与手动唤醒;后端支持设置任务专属 Prompt 与 shell 命令白名单,防止 Agent 陷入无意义的用户交互等待。

5. ⚡ 三层插件体系与工具自纠错

兼顾专家经验、跨语言标准与高性能运行时工具。

  • 三层可插拔生态:原生支持 Skills 专家经验指南、MCP 协议与 Native Plugins 运行时热重载插件。
  • Zod 参数拦截与 AI 自纠错:工具参数通过 Zod Schema 进行严格校验。当 LLM 传递非法参数时,系统自动捕捉报错并喂回大模型,触发 LLM 零人工干预自动修正参数。

6. 🎨 沉浸式 Artifacts 渲染与可视化工具管理

  • Artifacts 画板交互:结合 mio-previewer,实现代码、HTML 网页、SVG 矢量图、Mermaid 流程图及动态 UI 组件的独立画板预览与分屏交互。
  • Tools Manager 动态调配:前端支持在会话中实时感知与开关指定的工具或插件组,随心所欲调配 Agent 技能库。

🏗️ 核心架构:Hooks 机制

Mio-Chat V3 采用了面向切面编程的设计理念。通过一系列生命周期钩子,你可以精准控制 Agent 的每一步操作:

挂载点 作用 典型应用场景
LLM_BEFORE_CHAT 对话拦截 敏感词过滤、余额预扣费、Context 注入
LLM_BEFORE_RECURSION 递归轮次拦截 按工具调用轮次动态调整工具列表、注入轮次上下文
TOOL_BEFORE_LOAD 加载审计 校验工具名称安全性、防止插件冲突
TOOL_BEFORE_EXECUTE 执行干预 权限动态校验 (RBAC)、参数自动修复、挂起拦截
LLM_AFTER_CHAT 结果审计 Token 用量落库、响应内容脱敏
LLM_TOOL_RESULTS 工具调用审计 批量工具执行完成后记录工具参数与出参详情
TOOL_NOT_FOUND 智能纠错 剥离 MD5 后缀自动寻址、用户引导提示

详情参考:📖 Hooks 开发指南


📖 文档中心索引

分类 内容大纲
🚀 快速开始 完整部署与玩法 | PM2 部署 | Docker 部署 | 配置指南
🧠 核心机制 上下文压缩原理 | Hooks 拦截机制 | Socket 协议
🛠️ 开发指南 插件开发手册 | Skill 编写规范 | Adapter 模板
🗄️ 归档资料 架构迁移历史 | 常见问题 Q&A

🚀 极速启动 (PM2)

# 1. 深度 1 极速克隆仓库
git clone --depth 1 https://github.com/Pretend-to/mio-chat-backend.git
cd mio-chat-backend

# 2. 一键安装依赖 (自动生成数据库 Client)
pnpm install

# 3. PM2 极速启动服务
pnpm start

# 4. 查看服务实时日志
pm2 logs mio-chat-backend

🤝 参与贡献

我们欢迎任何形式的贡献。Mio-Chat 的演进由社区驱动:

  1. 贡献 Plugin: 赋予 Agent 操作新领域工具的能力。
  2. 贡献 Skill: 沉淀特定领域的专家经验指南。
  3. 贡献 Hook: 完善系统的防御与审计体系。

© 2024 Mio-Chat Team. Based on MIT License.