Nota Agent 是一个智能的个人任务管理和记忆助手。它结合了现代化的任务管理功能和 AI 驱动的对话能力,帮助用户高效地组织待办事项并记住重要信息。
-
智能任务管理:
- 创建、更新、完成和删除待办事项。
- 支持设置开始和结束时间(自动处理时区)。
- 支持任务优先级和循环任务(Cron)。
- 移动端优化的任务列表视图。
-
AI 对话助手:
- 智能对话,理解并执行任务管理指令。
- 双重记忆系统:
- 短期记忆: 最近对话的关键信息,按日期存储
- 长期记忆: 用户偏好、身份信息、"以后..."相关规划等永久保存
- 自动识别记忆类型并分类存储
- 基于上下文的问答。
- 支持 Markdown、Mermaid 图表、数学公式和代码高亮渲染。
-
现代化界面:
- 响应式设计,完美适配移动端和桌面端。
- 暗黑/明亮模式切换。
- 优雅的 UI 组件(基于 HeroUI)。
nota-agent/
├── app/ # Next.js App Router
│ ├── api/chat/ # 聊天 API 路由
│ ├── actions.ts # 服务端 Actions
│ └── ...
├── components/ # React 组件
├── lib/
│ ├── tools/ # AI 工具模块(可复用)
│ │ ├── index.ts # 统一导出
│ │ ├── todo.ts # 待办事项工具
│ │ ├── memory.ts # 记忆管理工具
│ │ └── skill.ts # 技能加载工具
│ ├── storage.ts # 数据存储
│ ├── skills-manager.ts # 技能管理器
│ └── ...
├── skills/ # 技能定义目录
│ ├── memory-management/ # 记忆管理技能
│ ├── todo-management/ # 待办事项管理技能
│ └── web-search/ # 网页搜索技能
└── ...
项目将 AI 工具模块化,便于复用和维护:
createTodoTool- 创建待办事项completeTodoTool- 完成任务updateTodoTool- 更新任务信息deleteTodoTool- 删除任务
saveMemoryTool- 保存记忆(自动判断短期或长期)saveLongTermMemoryTool- 明确保存为长期记忆autoSaveMemoryTool- 自动记忆提取(对话结束后自动提取)cleanMemoryContent- 清理记忆内容(移除格式化标记)isValidMemoryContent- 验证记忆内容有效性isLongTermMemoryContent- 判断内容是否应作为长期记忆
loadSkillTool- 加载指定技能获取专业指令
git clone <repository-url>
cd nota-agentpnpm install复制示例环境变量文件并配置你的 API Key:
cp .env.example .env编辑 .env 文件,填入你的 OpenAI 兼容 API 信息:
DATABASE_URL="file:./data/nota-agent.db"
MODEL_API_BASE="https://api.openai.com/v1" # 或其他兼容接口地址
MODEL_API_KEY="your-api-key"
CHAT_MODEL_NAME="gpt-4o" # 指定使用的模型名称,例如 gpt-4o, Kimi-K2.5 等启动 Next.js 开发服务器:
pnpm dev访问 http://localhost:2342 查看应用。
或者同时启动 Electron 开发环境(如果有 Electron 需求):
pnpm run electron:dev- 框架: Next.js (App Router)
- UI 组件库: HeroUI
- 样式: Tailwind CSS
- AI SDK: Vercel AI SDK
- Markdown 渲染: Streamdown
- 图标: 自定义 SVG 图标
MIT