# Gateway - Agent 使命/职能对话系统 **自研 Agent 框架的管理系统**,负责 Agent 的生命周期管理和任务执行调度。 ## 概述 Gateway 是自研 Agent 框架的管理系统,专注于"使命/职能对话": - **使命/职能对话**:用户给 Agent 分配任务,Agent 汇报工作 - **管理-执行关系**:用户是管理者,Agent 是执行者 - **任务导向**:有明确的目标和预期结果 **与 IM 系统的区别:** - **IM 系统**:LLM 作为主体的平等交流(协作-沟通关系) - **Gateway**:用户对 LLM 的使命/职能对话(管理-执行关系) ## 核心功能 - **外部渠道接入(Channels)**:飞书集成(个人助理型)、消息路由、自动创建 Trace - **生命周期管理(Lifecycle)**:Trace 注册/查询、Workspace 管理、配置热重载 - **任务执行调度(Executor)**:接收任务、调度执行、状态管理 ## 设计原则 1. **职责清晰**:专注于使命/职能对话,不处理平等交流 2. **分层架构**:Core 层(内部接口)+ API 层(外部接口) 3. **易于集成**:内部 Agent 直接调用,外部 Agent 使用 SDK 4. **与 IM 协同**:Agent 可以通过 IM Client 参与平等交流 ## 架构 ``` ┌──────────────────────┐ │ 飞书(个人助理) │ │ 使命/职能对话 │ └──────────┬───────────┘ │ │ Webhook │ ┌───────────────────────────▼───────────────────────────┐ │ Gateway(Agent 管理系统) │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ Channels(外部渠道接入) │ │ │ │ - 飞书集成(个人助理型) │ │ │ │ - 消息路由 │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ Lifecycle(生命周期管理) │ │ │ │ - Trace 注册和查询 │ │ │ │ - Workspace 管理 │ │ │ └──────────────────────────────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ Executor(任务执行调度) │ │ │ │ - 接收用户任务 │ │ │ │ - 调度 Agent 执行 │ │ │ └──────────────────────────────────────────────────┘ │ └────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────┐ │ IM Server │ │ - 接入飞书(数字员工型)、微信等渠道 │ │ - LLM 作为主体参与对话 │ └─────────────────────────────────────────────────────────┘ ``` ## 目录结构 ``` gateway/ ├── core/ # 核心服务层(内部接口) │ ├── channels/ # 外部渠道接入 │ │ ├── feishu/ # 飞书集成 │ │ │ ├── connector.py # 飞书连接器 │ │ │ ├── webhook.py # Webhook 处理 │ │ │ └── api.py # 飞书 API 调用 │ │ ├── router.py # 消息路由 │ │ └── channel_manager.py # 渠道管理 │ │ │ ├── lifecycle/ # Agent 生命周期管理 │ │ ├── trace_manager.py # Trace 注册和查询 │ │ ├── workspace_manager.py # Workspace 管理 │ │ └── config_watcher.py # 配置热重载 │ │ │ └── executor/ # 任务执行调度 │ ├── task_manager.py # 任务管理 │ ├── scheduler.py # 调度器 │ └── execution_context.py # 执行上下文 │ ├── api/ # HTTP API 层(外部接口) │ ├── lifecycle_api.py # 生命周期管理 API │ ├── executor_api.py # 任务执行 API │ └── webhook_api.py # Webhook API(飞书等) │ ├── client/ # 客户端 SDK │ └── python/ # Python SDK │ ├── client.py # GatewayClient │ └── cli.py # CLI 工具 │ └── docs/ # 文档 ├── requirements.md # 需求规划 ├── architecture.md # 架构设计 ├── core/ # 核心模块文档 │ ├── channels.md # 外部渠道接入 │ ├── lifecycle.md # 生命周期管理 │ └── executor.md # 任务执行调度 ├── api/ # API 文档 ├── client/ # 客户端文档 ├── guides/ # 使用指南 └── decisions.md # 设计决策 ``` ## 快速开始 ### 内部 Agent(同设备,我们的框架) ```python # 直接导入 Core 层模块 from gateway.core.lifecycle import TraceManager from gateway.core.executor import TaskManager trace_mgr = TraceManager() task_mgr = TaskManager() # 创建 Trace trace_id = trace_mgr.create_trace( workspace_id="user_001", agent_type="personal_assistant" ) # 提交任务 task_id = task_mgr.submit_task( trace_id=trace_id, task_description="分析销售数据" ) # 查询任务状态 task = task_mgr.get_task(task_id) print(task["status"]) # pending/running/completed/failed ``` ### 外部 Agent(其他设备/其他框架) ```python # 使用 Client SDK from gateway.client.python import GatewayClient client = GatewayClient("http://gateway-host:8000") # 创建 Trace trace_id = client.create_trace( workspace_id="user_001", agent_type="personal_assistant" ) # 提交任务 task_id = client.submit_task( trace_id=trace_id, task_description="分析销售数据" ) # 查询任务状态 task = client.get_task(task_id) print(task["status"]) ``` ## 文档 ### 核心文档 - [需求规划](./docs/requirements.md):已确认的需求和功能范围 - [架构设计](./docs/architecture.md):Gateway 架构和核心模块 - [文档索引](./docs/README.md):完整文档导航 ### 模块文档 - [Channels 模块](./docs/core/channels.md):外部渠道接入详细设计 - [Lifecycle 模块](./docs/core/lifecycle.md):生命周期管理详细设计 - [Executor 模块](./docs/core/executor.md):任务执行调度详细设计 ### 使用指南(待更新) - 快速开始:`docs/guides/quickstart.md` - 内部 Agent 集成:`docs/guides/internal-agent.md` - 外部 Agent 集成:`docs/guides/external-agent.md` ### 其他文档 - [设计决策](./docs/decisions.md):架构决策记录 - [部署指南](./docs/deployment.md):部署方式和配置 ## 文档维护规范 1. **先改文档,再动代码** - 新功能或重大修改需先完成文档更新、并完成审阅后,再进行代码实现 2. **文档分层,链接代码** - 关键实现需标注代码文件路径;格式:`module/file.py:function_name` 3. **简洁快照,日志分离** - 只记录已确认的需求和设计,避免推测和未确认的内容 ## 开发状态 ### 已完成 ✅ - 需求规划和架构设计 - Channels 模块详细设计(飞书接入) - Lifecycle 模块详细设计 - Executor 模块详细设计 ### 待实现 📋 - Core 层代码实现 - API 层代码实现 - Client SDK 实现 - 使用指南更新 - API 文档更新 ## 相关项目 - [Agent Core](../agent/README.md):Agent 核心框架 - [IM Server](../im-server/README.md):IM 通信系统 - [IM Client](../im-client/README.md):IM 客户端工具