1. 项目概述:构建具有历史上下文记忆的AI助手
在开发智能助手时,让AI能够记住历史对话并基于上下文进行回应是一个关键挑战。传统聊天机器人往往只能处理单轮对话,缺乏持续记忆能力。本项目通过设计一个名为nanobot的AI助手系统,实现了以下核心功能:
- 长期记忆存储:将重要信息写入MEMORY.md文件
- 对话历史记录:所有交互自动记录到HISTORY.md文件
- 上下文感知:通过搜索历史记录获取过往对话内容
- 多技能集成:支持通过插件形式扩展功能
这个系统运行在Linux环境下,使用Python 3.11.6作为主要开发语言,采用了POSIX兼容的设计原则。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计解析
2.1 内存管理系统设计
系统采用了两层记忆结构:
-
长期记忆(MEMORY.md):
- 存储用户偏好、项目上下文等重要信息
- 始终加载到AI的上下文中
- 使用
edit_file或write_file工具进行更新
-
历史记录(HISTORY.md):
- 采用追加方式记录所有交互
- 每条记录以时间戳开头
[YYYY-MM-DD HH:MM] - 可通过grep类工具进行搜索
提示:对于小型历史文件,可以直接读取后内存搜索;大型文件建议使用命令行工具进行高效搜索。
2.2 技能扩展机制
系统支持通过技能(Skill)进行功能扩展:
bash复制/root/.nanobot/workspace/skills/
├── xiaohongshu-search-summarizer/
│ └── SKILL.md
├── clawhub/
│ └── SKILL.md
├── cron/
│ └── SKILL.md
└── weather/
└── SKILL.md
每个技能包含一个SKILL.md文件,描述其功能和用法。技能可以分为:
- 内置技能(如memory、cron)
- 第三方技能(如github、tmux,需要额外依赖)
2.3 执行安全策略
系统实施了严格的安全措施:
- 命令执行限制:
- 默认60秒超时
- 阻止危险命令(rm -r
