类 OpenClaw 飞书企业业务助手 · 动态架构

请求流 工具结果 存储读写 多 Agent 分派
入口与会话层 业务编排与工具层 存储与业务产物层 open_id / chat_id mcp__rockwool_* Feishu-ready reply 01 用户提问 飞书群聊 / 私聊自然语言 设备、发货、日报、Wiki open_id + chat_id 02 飞书网关架构 WebSocket / Webhook 接收事件 plugins/platforms/feishu/adapter.py 群聊 @ 过滤 去重 / 串行处理 send(chat_id, reply) 03 Gateway 会话路由 GatewayRunner 创建 SessionSource gateway/session.py: build_session_key DM / 群聊隔离 state.db 路由表 gateway/run.py -> AIAgent 04 主控 Agent 意图判断、上下文拼装、工具调用 run_agent.py: AIAgent Memory 快照 MCP / Skills / Cron 复杂问题交给 orchestrator + delegate_task 10 飞书回复 纯文本业务结论 + 表格链接 避免 Markdown 表格错乱 reply_format=feishu_plain_text 群聊/私聊回到同一 chat_id 05 记忆系统 自然语言路由前后读取/写入业务偏好 get_business_context(open_id, chat_id) remember_business_context(...) 个人记忆:open_id 群聊记忆:chat_id 例:默认看 A 产线、群里重点关注发货风险 06 Skills 业务流程层 把员工口语问题映射到固定业务动作 设备异常分析:incident analysis 发货风险汇总:shipping risk 每日运营日报:daily report 工艺知识问答:process QA examples/.../skills/rockwool-* 07 Subagent 多 Agent operations-orchestrator 拆分跨域问题 设备子 Agent:异常设备与影响 发货子 Agent:延期与风险订单 知识库子 Agent:Wiki 证据 tools/delegate_tool.py 子 Agent 独立上下文,主 Agent 汇总成飞书答复 08 MCP 工具系统数据流 Hermes MCP Client 发现并注册 FastMCP 工具 FastMCP("rockwool-business") -> tools/mcp_tool.py 自然语言路由 handle_business _request 先读记忆,再判定 设备/发货/日报/Wiki 设备与报表 query_device_status query_report_summary 异常、温度、振动 发货与 Wiki query_shipping_plan llm_wiki_query write_wiki_note create_feishu_sheet_report -> lark-cli sheets +workbook-create S1 消息与会话存储 Gateway 路由、对话记录、投递账本 ~/.hermes/state.db gateway_routing / SessionDB delivery_ledger / sessions.json 保证同一 chat/thread 回到同一 Agent 会话 S2 业务记忆 SQLite MCP Server 内部的轻量分层记忆 rockwool-business-memory.db business_memory(scope, owner_id) scope=user scope=chat 由 open_id / chat_id 映射 owner_id S3 业务数据与 LLM Wiki 演示数据和可引用知识库,不引入第二个项目的 pgvector/RAG data/devices.json data/shipments.json data/logistics.json wiki/*.md 设备手册、工艺规则、故障案例、发货规则 search_wiki / llm_wiki_query 返回引用路径和片段 S4 飞书办公产物 表格/日报是真实飞书能力,业务数据可先用 demo mock lark-cli sheets +workbook-create --sheets - 设备与发货日报表 返回 spreadsheet link 日报/周报可被 Cron 复用同一 Skill 与 MCP 链路 最终仍通过 FeishuAdapter 发回指定 chat_id