核心指标
100%
满意度
90%
知识问答准确率
100%
重复沟通成本
50%
培训周期
50%
响应效率
核心特性
四层记忆架构
知识库自动索引
自我反思改进
流式双向通信
技能动态扩展
多模型灵活对接
产品概述
这是一款支持 WebSocket 双向流式通信、持久记忆、技能扩展、自我迭代的智能体平台。
该项目为某大型上市公司打造,旨在提供具有"人格"的 AI 智能助理——不仅能回答问题,还能记住用户、学习成长、主动思考。
核心特性
1. 有记忆的智能体
不同于传统的对话机器人,该产品具备四层记忆架构:
| 记忆层级 | 存储方式 | 功能说明 |
|---|---|---|
| 工作记忆 | 内存 | 当前对话完整记录 |
| 短期记忆 | 内存 | 压缩后的对话摘要 |
| 长期记忆 | LanceDB 向量数据库 | 语义检索的持久记忆,永不遗忘 |
| 结构化记忆 | Obsidian 双链笔记 | 可人工查阅编辑的知识笔记 |
每次对话结束后,智能体自动进行反思,提取有价值的信息存入长期记忆,真正做到"不会忘事"。
2. 知识库系统
支持公共知识库和私有知识库双轨检索:
- 公共知识库:放入
data/public-kb/目录的文件自动索引,支持 PDF、DOCX、XLSX、CSV、JSON、HTML、TXT、MD 等格式 - 私有知识库:基于 Obsidian Vault 的双链笔记系统,支持
[[]]语法和反向链接图 - 智能检索:优先使用 Sirchmunk 语义检索引擎,不可用时自动降级为内置 BM25 关键词检索
3. 可扩展技能系统
遵循 agentskills.io 标准(SKILL.md 格式),支持:
- 动态安装/卸载技能
- 自定义技能创建
- 技能组合与编排
内置技能包括:
find-skills:发现和搜索新技能skill-creator:创建新技能文件self-improving-agent:对话后自我反思改进proactive-agent:空闲时主动维护优化
4. 自我迭代能力
智能体具备自我进化能力:
- 反思机制:每次对话后评估回答质量,存储经验教训
- 主动思考:空闲时自动整理记忆、清理过时信息、优化工作流程
- 学习固化:从用户交互中学习新工作流程并固化为技能
5. 多模型支持
灵活的 LLM 路由系统,支持多种大语言模型:
| 提供者 | 配置方式 | 说明 |
|---|---|---|
| OpenAI Compatible | OPENAI_COMPATIBLE_BASE_URL | 兼容 vLLM、Ollama 等自部署模型 |
| Anthropic | ANTHROPIC_API_KEY | Claude 系列 |
| OpenAI | OPENAI_API_KEY | GPT 系列 |
技术架构
┌──────────────────────────────────────────────────────┐
│ 客户端 (Client) │
│ WebSocket 双向流式通信 │
└──────────────────────┬───────────────────────────────┘
│ ws://
┌──────────────────────▼───────────────────────────────┐
│ Gateway (HTTP + WS) │
│ /monitor 监控 │ WS 消息路由 │
├──────────────────────────────────────────────────────┤
│ AgentLoop 核心 │
│ ┌─────────┐ ┌─────────┐ ┌──────────┐ ┌──────────┐ │
│ │ LLM路由 │ │ 技能系统 │ │ 知识检索 │ │ 自我迭代 │ │
│ │(多模型) │ │(SKILL.md)│ │(公+私+记忆)│ │(反思+优化)│ │
│ └─────────┘ └─────────┘ └──────────┘ └──────────┘ │
├──────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌───────────┐ ┌───────────────────┐ │
│ │ Workspace │ │ 四层记忆 │ │ 公共知识库 │ │
│ │ SOUL/ │ │ 工作/短期/ │ │ Sirchmunk检索 │ │
│ │ IDENTITY/ │ │ 长期/结构化 │ │ + 内置文件转换 │ │
│ │ USER/.. │ │ (LanceDB) │ │ + 内存BM25兜底 │ │
│ └──────────┘ └───────────┘ └───────────────────┘ │
└──────────────────────────────────────────────────────┘
WebSocket 通信协议
连接地址
ws(s)://<host>:<port>/ws
消息格式
客户端发送:
{ "type": "prompt", "id": "uuid", "content": "你好" }
{ "type": "interrupt", "id": "uuid" }
{ "type": "skill_action", "id": "uuid", "action": "install", "source": "find-skills" }
服务端返回:
{ "type": "token", "id": "uuid", "content": "你" }
{ "type": "thinking", "id": "uuid", "content": "用户在问好..." }
{ "type": "tool_call", "id": "uuid", "content": "search_knowledge" }
{ "type": "done", "id": "uuid", "content": "" }
流式输出确保对话体验流畅自然。
Workspace 配置
智能体的"灵魂"通过 Workspace 目录下的 Markdown 文件定义:
| 文件 | 作用 |
|---|---|
SOUL.md | 核心价值观和行为准则 |
IDENTITY.md | 身份信息(名称、角色、归属) |
USER.md | 用户画像 |
AGENTS.md | 行为配置和约束 |
TOOLS.md | 工具和技能清单 |
智能体自身和开发人员都可以编辑这些文件,修改后下次对话生效。
部署方式
方式一:一键启动(推荐)
./scripts/start-all.sh # 启动所有服务
./scripts/stop-all.sh # 停止所有服务
方式二:PM2 生产部署
pm2 start ecosystem.config.cjs --env production
pm2 logs human-agent-server
方式三:Docker 部署
cd docker
docker-compose up -d
方式四:开发模式
npm run dev # 热重载开发
npm run prod # 生产运行
应用场景
- 企业数字员工:为企业提供有记忆、会成长的智能助手
- 知识问答系统:结合知识库提供专业领域问答服务
- 智能客服:记住用户偏好,提供个性化服务
- 个人助理:长期记忆用户信息,越用越懂你
技术栈
- 运行环境:Node.js 22+、Python3.10+
- 语言:TypeScript、Python
- 向量数据库:LanceDB
- 知识检索:Sirchmunk / BM25
- 笔记系统:Obsidian Vault
- 通信协议:WebSocket
- LLM SDK:Vercel AI SDK