# my-agent **Repository Path**: elfbobo_admin_admin/my-agent ## Basic Information - **Project Name**: my-agent - **Description**: My-Agent 是基于 AgentScope 的多智能体协作平台。支持动态路由与意图拆解,自动分配任务至子智能体,提供顺序、并行、讨论、辩论四种协作模式。内置知识库(PostgreSQL + pgvector),支持文档上传与语义检索。集成 ACP 协议接入外部智能体,MCP 服务扩展工具生态。心跳引擎支持定时任务自动执行。安全沙箱限制文件操作范围,拦截危险命令。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-05-21 - **Last Updated**: 2026-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个人智能体系统

基于 AgentScope 框架的多智能体协作平台

--- 默认智能体**小智**是一个拥有完整人格的综合性智能体——13个专业子智能体(9个偏执行 + 4个偏思考)是他的不同能力面向。用户只跟小智沟通,小智自行决定用哪种能力来解决问题。 ## 系统架构
``` ┌──────────────────────────────────────────────────────────────────────────────────────────────┐ │ 🖥️ Web 管理界面 (FastAPI + SSE 流式响应) │ │ 💬 对话 🤖 模型 🧑‍💻 子智能体 🔌 MCP 🛠️ 系统工具 📦 技能 📚 知识库 │ │ 🌐 ACP ❤️‍🔥 心跳 📏 规则 🛡️ 安全 ⚙️ 设置 │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ 🧠 意图识别引擎 (IntentRecognitionEngine) │ │ 深度意图理解 → 人格化回复 / 自主调度 / 协作决策 + 6项自学习增强 │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ 🚀 SmartDispatcher 调度层 │ │ 人格响应 / 单能力调度 / 多能力协作(4种模式) │ ├──────────────────────┬────────────────────────────────────┬─────────────────────────────────┤ │ 🏠 默认智能体 │ 👥 13个子能力(子智能体) │ 🧰 工具集(11个) │ │ 小智(Personal) │ │ │ │ 💭 人格 🎯 意图 │ 🏗️ 架构师 📋 产品经理 │ 🖥️ Shell 📁 文件 │ │ 🔍 思考 ✅ 验证 │ 💼 CIO 📊 项目经理 │ 🔍 搜索 🗄️ 存储 │ │ 📝 知识沉淀 │ 💻 开发工程师 🧪 测试工程师 │ 🔌 MCP ⚡ 技能调用 │ │ 偏思考能力 │ 📈 数据分析师 🎨 UI设计师 │ 🕐 时间 🌐 网页访问 │ │ │ 🔧 运维工程师 🧠 心理学 │ │ │ │ 🔢 逻辑学 🔄 系统论 │ │ │ │ 🌀 复杂性科学 │ │ ├──────────────────────┴────────────────────────────────────┴─────────────────────────────────┤ │ 🔄 思考-验证-存储闭环 │ 📝 工作记忆 │ 🧠 长期记忆(Mem0) │ 🔍 RAG知识库 │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ 💬 Default会话(channel=web) │ ❤️‍🔥 心跳调度(APScheduler) │ 🌐 ACP协议(JSON-RPC) │ ├──────────────────────────────────────────────────────────────────────────────────────────────┤ │ 🤖 模型管理层 (17个供应商 / LLM+Embedding / 流式) │ │ 🟢 OpenAI 🟠 DeepSeek 🔵 Ollama 🟣 DashScope 🟡 LM Studio ... │ └──────────────────────────────────────────────────────────────────────────────────────────────┘ ```
## 核心特性 ### 1. 默认智能体 — 小智 小智不是一个路由器,而是一个拥有完整人格的智能伙伴: | 特性 | 说明 | |------|------| | 人格配置 | 姓名、性格特征、沟通风格、核心价值观、成长历史、自我描述、个人癖好——全部可配置 | | 意图识别引擎 | 深度理解用户真正想要什么(非关键词匹配),19种意图类别,结合人格信息和对话历史进行推理 | | 意图自学习 | 随使用增强的6项学习能力:持久化记录、反馈闭环、澄清学习、Few-shot注入、自适应阈值、语义缓存 | | 意图澄清 | 置信度不足时主动追问,支持单选/多选/自由输入表单,确认后精确路由 | | 想法整理 | 用户描述较长时自动整理为核心需求/关键要点/潜在需求,生成可打开的md文档,确认后开始工作 | | 自主调度 | 用户只跟小智说话,小智自行决定用哪种能力处理——问候/身份问题自己回答,专业问题自动调用对应能力 | | 主动质询 | 子智能体回答后,小智会审视其逻辑自洽性、事实准确性、完整性和可操作性,如有疑点主动追问 | | 综合总结 | 子智能体的分析过程只是小智的"思考过程",最终回答始终由小智用自己的话总结 | | 思考-验证-存储闭环 | 观察→思考→规划→验证→存储,验证通过的结论自动存入知识库供以后直接复用 | ### 2. 多智能体协作 - **13个专业子智能体**:9个偏执行 + 4个偏思考,每个都是小智的一种能力面向 - **4种协作模式**:顺序流水线、并行分析(fanout)、广播讨论(discuss)、辩论模式(debate) - 每个子智能体拥有独立的人格、持久记忆、专业工具集和持续优化机制 - **任务拆解清单**:多智能体协作时实时展示步骤状态(运行中/完成/失败),进度可视化 - **自主进化**:EvolutionEngine根据执行反馈自动优化智能体配置和策略 ### 3. 多知识库管理 - **PostgreSQL + pgvector** 向量数据库,支持HNSW索引 - **智能体专属知识库**:每个子智能体自动创建并绑定一个独立知识库 - **思考结论知识库**:验证通过的思考结论自动入库,跨会话可复用 - **混合检索**:向量检索 + BM25关键词检索(RRF融合),支持查询增强和重排序 - 支持10+种文档格式:TXT、MD、PDF、Word、Excel、PPT、Python、YAML、JSON、CSV等 ### 4. 持久化记忆 | 类型 | 实现 | 说明 | |------|------|------| | 工作记忆 | AsyncSQLAlchemyMemory | SQLite + WAL模式 | | 长期记忆 | Mem0LongTermMemory | 跨会话记忆保留,已兼容mem0 2.0 API | | 子智能体记忆 | 独立SQLite | 每个子智能体独立数据库 | ### 5. ACP Agent 协议 基于 **Agent Client Protocol (ACP)** 的外部智能体集成: - **JSON-RPC 2.0** 协议,支持 stdio / HTTP 双传输模式 - **内置 Agent 种子数据**:opencode、qwen_code、claude_code - **智能体管理**:启用/禁用、连接测试、工具发现 - 前端卡片网格展示 + All/内置/自定义筛选 ### 6. 心跳调度系统 对齐 QwenPaw 设计的定时任务系统,由默认智能体执行: - **灵活调度**:间隔字符串(`30m`、`1h`、`2h30m`)或五段 cron(`0 9 * * *`) - **三种回复目标**: - `main` — 不发送到频道,执行完记录就完事 - `default` — 将结果发送到默认频道 - `last` — 发送到上一次对话频道 - **活跃时段**:支持跨午夜时段(如 22:00-06:00) - **HEARTBEAT.md**:workspaces/``/HEARTBEAT.md 任务描述文件 - **实时推送**:心跳结果自动出现在对话界面,附带 toast 提示 ### 7. 系统工具(11个) 所有智能体均可使用的系统级内置工具: | 工具 | 类别 | 说明 | |------|------|------| | `get_current_time` | 时间 | 获取当前时间,支持 full/date/time/iso/timestamp 格式和时区 | | `web_fetch` | 网页 | HTTP访问网页,支持 text/html/links/meta 四种模式 | | `execute_shell_command` | 系统 | 执行Shell命令并返回输出 | | `web_search` | 网页 | 互联网搜索(Serper/百度) | | `web_extractor` | 网页 | 网页正文提取 | | `doc_parser` | 文件 | 文档解析与检索 | | `storage_tool` | 数据 | 键值存储操作 | | `file_ops` | 文件 | 文件查看/写入/插入 | | `chat_with_agent` | 智能体 | 调用其他智能体协作 | | `mcp_tool` | MCP | 调用MCP服务器工具 | | `skill_execute` | 技能 | 执行已安装技能 | ### 8. 安全检测系统 独立的 `my_agent.security` 模块,控制系统安全和数据安全: | 检测项 | 说明 | |--------|------| | 沙箱安全 | 启用状态、授权目录配置与有效性、Shell命令控制 | | 密钥安全 | 扫描配置文件中的API Key/Secret/密码泄露(8种正则模式) | | 文件权限 | 关键目录全局可写检测 | | 审计日志 | 数据库完整性、事件统计、规则拦截计数 | | 数据隔离 | 数据目录与代码分离、授权范围覆盖 | | Shell安全 | 黑名单危险命令覆盖完整性 | - 安全评分 0-100,三色指示(绿/黄/红) - SSE流式扫描,逐项渐入渲染 - 检测卡片支持展开/折叠详情 ### 9. Default 会话机制 - 所有用户沟通默认在 `default` 会话窗口进行 - 消息携带 `channel` 字段(`web`/`heartbeat`/飞书/钉钉等) - 非web渠道消息显示渠道标签 - 前端 5 秒轮询检测新消息,实时显示心跳结果 ### 10. Web管理界面 - **浅色主题**单页应用,响应式设计 - **对话界面**:流式SSE渲染、思考过程/工具调用/结果分区显示、智能体头像/名称标识、5个操作按钮、消息实时轮询 - **意图澄清**:低置信度时弹出让用户选择的表单(单选/多选/自定义输入) - **意图反馈**:路由结果旁的✓/✗按钮,驱动意图识别自学习 - **想法整理**:长描述自动触发整理卡片,补充输入+确认/跳过,生成md文档可点击打开 - **任务拆解清单**:协作时实时展示步骤状态(运行中◉/完成✓/失败✗)和进度 - **模型管理**:17个供应商卡片式管理,API Key密码框+眼睛切换 - **子智能体管理**:灵魂/任务/记忆/文件/技能五个tab,图标emoji选择器,启用/停用开关 - **系统工具页面**:11个工具卡片网格展示,按类别筛选,参数详情 - **ACP Agent管理**:卡片网格 + All/内置/自定义筛选 + 完整表单 - **心跳任务配置**:间隔/cron/目标/活跃时段 + HEARTBEAT.md编辑 - **知识库管理**:左侧列表+右侧详情,拖拽上传+分阶段进度条+搜索高亮 - **安全检测**:安全评分环+6大检测项卡片+流式扫描+展开折叠详情 - **人格配置API**:可编程方式读取和修改小智的人格、成长里程碑 ## 子智能体团队 | 智能体 | 角色 | 核心能力 | |--------|------|----------| | 系统架构师 🦏 | 系统设计与架构决策 | 权衡分析、ADR记录、HLD产出、架构演进 | | 产品经理 🎯 | 产品全生命周期管理 | 需求发现、PRD编写、RICE评分、路线图 | | CIO 🏰 | 信息技术战略与治理 | IT投资评估、ROI/TCO分析、风险管控 | | 项目经理 👽 | 项目规划与交付管理 | WBS拆解、关键路径、风险登记、验收标准 | | 代码开发工程师 ⚡ | 软件代码开发与实现 | 编码实现、代码审查、LLD设计、调试排错 | | 测试工程师 🛡️ | 质量保障与测试 | 测试策略、TDD设计、Bug分析、自动化测试 | | 数据分析师 📊 | 数据理解与洞察分析 | 统计建模、可视化、异常检测、决策支持 | | UI设计师 🎨 | 交互设计与美学判断 | 信息架构、视觉规范、可用性、设计系统 | | 运维工程师 🔧 | 部署运维与系统保障 | CI/CD、可观测性、容灾恢复、SLO管理 | | 心理学专家 🧠 | 认知与行为洞察 | 认知偏差识别、决策心理、动机分析、行为模式 | | 逻辑学专家 🔗 | 逻辑推理与论证分析 | 命题/谓词逻辑、非单调推理、证伪检验、悖论识别 | | 系统论专家 🔄 | 老三论:系统整体思维 | 一般系统论、信息论、控制论、反馈回路、涌现 | | 复杂性科学专家 🌀 | 新三论:复杂系统演化 | 耗散结构、协同论、突变论、相变、自组织 | ## 项目结构 ``` my-agent/ ├── config/ # 配置文件 │ ├── agent_config.yaml # 主智能体 + 13个子智能体配置 │ ├── model_config.yaml # 模型配置(需修改API Key) │ ├── personality.json # 默认智能体人格配置 │ ├── agents/ # 子智能体soul/任务/记忆配置 │ ├── rules/ # 规则配置 │ └── system_settings.json # 系统设置(含PostgreSQL连接配置) ├── src/my_agent/ # 源代码 │ ├── cli/main.py # 启动入口 │ ├── agent/ # 路由、Dispatcher、配置管理 │ ├── core/ # 核心模块 │ │ ├── personal_agent.py # 默认智能体(人格+意图+思考+调度) │ │ ├── personality.py # 人格配置模型与存储 │ │ ├── intent_engine.py # 意图识别引擎 │ │ ├── intent_learning.py # 意图自学习6项能力(持久化+反馈+澄清+Few-shot+阈值+语义缓存) │ │ ├── think_organizer.py # 想法整理(结构化+md文档生成) │ │ ├── thinking_engine.py # 思考-验证-存储闭环引擎 │ │ ├── chat_history.py # 会话历史(default会话+channel) │ │ ├── rule_engine.py # 规则引擎 │ │ └── audit.py # 审计日志 │ ├── acp/ # ACP Agent协议集成 │ │ ├── config.py # ExternalACPAgent配置模型 │ │ ├── server.py # JSON-RPC 2.0 ACP Server │ │ ├── client.py # ACP Client (stdio/HTTP) │ │ ├── transport.py # StdioTransport │ │ ├── session.py # ACPSessionManager │ │ └── manager.py # ACPAgentManager (内置种子+CRUD) │ ├── heartbeat/ # 心跳调度系统 │ │ ├── config.py # HeartbeatConfig (every/target/activeHours) │ │ ├── engine.py # HeartbeatEngine (APScheduler+默认智能体执行) │ │ └── manager.py # HeartbeatManager (aiosqlite持久化) │ ├── knowledge/ # 知识库管理 │ ├── memory/ # 经验存储 │ ├── model/ # 模型管理(多供应商) │ ├── plan/ # 规划引擎 │ ├── reflect/ # 反思引擎 │ ├── evolve/ # 自主进化引擎 │ │ └── engine.py # EvolutionEngine(执行反馈→策略优化) │ ├── skill/ # 技能管理 │ ├── tool/ # 内置工具集 │ │ ├── builtin.py # 9个传统内置工具 │ │ ├── system_tools.py # 系统级工具(时间+网页访问) │ │ ├── sandbox.py # 授权目录沙箱+Shell黑名单 │ │ └── browser_visible.py # 浏览器可视化工具 │ ├── security/ # 安全检测模块 │ │ ├── detector.py # SecurityDetector(6大检测能力) │ │ └── config.py # SecurityConfig(检测开关配置) │ ├── mcp/ # MCP服务管理 │ └── web/ # Web服务器 + 前端 │ ├── server.py # FastAPI服务 │ └── static/index.html # 单页应用 ├── workspaces/ # 智能体工作空间(含HEARTBEAT.md) ├── tests/ # 测试(615个测试用例) └── docs/ # 设计文档 ``` ## API接口 ### 人格配置 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/personality` | 获取人格配置 | | PUT | `/api/personality` | 更新人格配置 | | POST | `/api/personality/milestone` | 添加成长里程碑 | ### 意图识别与思考 | 方法 | 路径 | 说明 | |------|------|------| | POST | `/api/intent/recognize` | 识别用户意图 | | POST | `/api/intent/feedback` | 意图识别反馈(正确/错误),驱动自适应学习 | | POST | `/api/think` | 触发思考 | | POST | `/api/think/verify-store` | 思考-验证-存储闭环 | ### 想法整理 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/think-docs` | 列出所有想法整理文档 | | GET | `/api/think-docs/{doc_id}` | 获取指定文档内容(Markdown) | | POST | `/api/think-organize/confirm` | 确认想法整理,开始执行 | ### 会话与聊天 | 方法 | 路径 | 说明 | |------|------|------| | POST | `/api/chat` | 发送消息(SSE流式,支持channel参数) | | POST | `/api/chat/clarify` | 意图澄清:用户选择后重新识别意图 | | GET | `/api/history/default` | 获取默认会话 | | GET | `/api/history/{session_id}` | 获取指定会话 | | GET | `/api/history` | 列出所有会话 | ### 安全检测 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/security/status` | 快速安全状态概览 | | GET/POST | `/api/security/scan` | 全量安全扫描(POST为SSE流式) | | GET | `/api/security/config` | 获取检测配置 | | PUT | `/api/security/config` | 更新检测配置 | ### ACP Agent | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/acp-agents` | 列出所有ACP Agent | | POST | `/api/acp-agents` | 添加ACP Agent | | POST | `/api/acp-agents/{id}/toggle` | 切换启用状态 | ### 心跳任务 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/heartbeat` | 列出心跳配置 | | POST | `/api/heartbeat/{agent}` | 保存心跳配置 | | GET | `/api/heartbeat/{agent}/prompt` | 读取HEARTBEAT.md | | PUT | `/api/heartbeat/{agent}/prompt` | 写入HEARTBEAT.md | ### 系统工具 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/system-tools` | 列出所有系统级工具(11个) | ## 环境要求 | 依赖 | 版本要求 | 说明 | |------|----------|------| | Python | >= 3.10 | 运行环境 | | PostgreSQL | >= 14 | 需安装pgvector扩展,用于知识库向量存储 | | Git | - | 版本管理 | | LLM服务 | - | 需要至少一个兼容OpenAI API的大模型服务 | ## 安装指南 ### 1. 克隆项目 ```bash git clone https://gitee.com/ElevenXY/my-agent.git cd my-agent ``` ### 2. 创建虚拟环境 **Windows (PowerShell)**: ```powershell python -m venv .venv .\.venv\Scripts\Activate.ps1 ``` **Linux**: ```bash python3 -m venv .venv source .venv/bin/activate ``` ### 3. 安装依赖 ```bash pip install -e . ``` > 安装过程会自动安装 **AgentScope >= 1.0.20** 及其所有依赖。 使用国内镜像加速: ```bash pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple ``` ### 4. 配置PostgreSQL 安装pgvector扩展: ```bash # Docker(推荐) docker run -d --name pgvector \ -e POSTGRES_USER=myagent \ -e POSTGRES_PASSWORD=myagent123 \ -e POSTGRES_DB=myagent \ -p 5432:5432 \ pgvector/pgvector:pg16 ``` 在 `config/system_settings.json` 中配置PostgreSQL连接。 ### 5. 配置模型 编辑 `config/model_config.yaml`,填入你的模型服务信息。 **支持的平台供应商**: | 供应商 | 默认Base URL | 类型 | |--------|-------------|------| | LM Studio | `http://localhost:1234/v1` | 本地 | | Ollama | `http://localhost:11434/v1` | 本地 | | 阿里云·通义千问 | `https://dashscope.aliyuncs.com/compatible-mode/v1` | 云端 | | DeepSeek | `https://api.deepseek.com/v1` | 云端 | | 智谱·GLM | `https://open.bigmodel.cn/api/paas/v4` | 云端 | | 月之暗面·Kimi | `https://api.moonshot.cn/v1` | 云端 | | OpenAI | `https://api.openai.com/v1` | 云端 | | Anthropic | `https://api.anthropic.com/v1` | 云端 | | Google·Gemini | `https://generativelanguage.googleapis.com/v1beta/openai` | 云端 | > 也可通过Web界面的模型配置页面直接管理。 ### 6. 自定义人格(可选) 编辑 `config/personality.json` 可修改小智的: - 姓名、性格特征、沟通风格 - 核心价值观、自我描述、问候语 - 背景故事、个人癖好 修改后重启生效。 ## 启动方式 ### Web模式(推荐) ```bash my-agent --web --port 8080 ``` 启动后访问 http://127.0.0.1:8080 ### CLI模式 ```bash my-agent ``` 交互式命令行对话,输入 `/help` 查看命令列表。 ## 使用说明 ### 首次使用 1. 启动Web服务后打开浏览器访问 2. 进入 **模型配置** 页面,为对应供应商填入API Key,点击测试确认连接正常 3. 在默认模型区选择各用途的默认模型 4. 回到 **对话** 页面,发送消息开始对话 5. 小智会自动理解意图并决定是自己回答还是调用专业能力 ### 心跳任务 1. 进入 **心跳任务** 页面,开启心跳 2. 设置执行间隔(如 `1h`)或 cron 表达式(如 `0 9 * * *` 每天9点) 3. 选择回复目标:不发送/发到默认频道/发到上次对话频道 4. 编辑 HEARTBEAT.md 描述具体任务内容 5. 心跳由默认智能体执行,结果自动出现在对话界面 ### 系统工具 进入 **系统工具** 页面可查看所有11个系统级工具的名称、描述和参数详情。工具自动注册,所有智能体均可使用。 ### 对话体验 - 小智用朋友的语气跟你聊天,不用术语轰炸 - 专业问题小智会自动调用对应能力,但用他自己的话把结果再说一遍 - 长描述会先整理想法,确认后才开始工作 - 协作任务有实时步骤清单,一目了然进度 - 对话操作:点赞/踩/添加知识库/复制/备注 - 心跳结果自动推送显示,附带 toast 提示 ## 常见问题
Q: 启动报错 未找到chat用途的模型 检查 `config/model_config.yaml`,确保至少一个模型的 `purpose` 包含 `chat` 且 `enabled: true`,同时填写正确的 `api_key`。
Q: 知识库未启用 需要配置PostgreSQL和嵌入模型。确保PostgreSQL已启动且pgvector扩展已安装,在系统设置中配置连接信息,并添加至少一个Embedding模型。
Q: 心跳任务没有执行 1. 确认心跳已开启(enabled=true) 2. 检查 HEARTBEAT.md 是否有内容 3. 检查活跃时段是否覆盖当前时间 4. 查看终端日志中的心跳执行信息
Q: 心跳结果由架构师执行而非默认智能体 确保使用最新代码,`set_context(main_agent=agent)` 已正确传入主智能体对象。
Q: 如何修改小智的名字和性格? 编辑 `config/personality.json`,修改 `name`、`personality_traits`、`communication_style` 等字段,重启生效。也可通过API `PUT /api/personality` 动态修改。
## 技术栈 | 类别 | 技术 | |------|------| | 框架 | AgentScope >= 1.0.20 | | Web服务 | FastAPI + Uvicorn + SSE流式 | | 数据库 | SQLite (aiosqlite + WAL模式) + PostgreSQL (asyncpg + pgvector) | | 向量检索 | pgvector (HNSW索引) + BM25混合检索 | | 长期记忆 | Mem0 >= 2.0(已兼容patch) | | 心跳调度 | APScheduler (AsyncIOScheduler + IntervalTrigger + CronTrigger) | | ACP协议 | JSON-RPC 2.0 + stdio/HTTP传输 | | 前端 | 原生HTML/CSS/JS 单页应用(浅色主题,5秒轮询) | | Python | >= 3.10 | | 测试 | pytest + pytest-asyncio(615个测试用例) | ## License MIT