English | 简体中文
一个现代化的 AI 驱动笔记与知识管理工具,融合语义搜索、智能关联、多端同步,帮助你构建属于自己的知识图谱。
- 智能摘要 - AI 自动生成笔记摘要,快速提炼关键信息
- 语义搜索 - 基于 OpenAI Embedding 的向量搜索,理解含义而非匹配关键词
- 智能关联 - 自动发现笔记间的关联关系,构建可视化知识图谱
- 每日推荐 - 智能推荐"历史上的今天"记录的笔记,重温过往灵感
- 颜色分类 - 10+ 种彩色标签,直观区分笔记类型
- 分类管理 - 多级分类体系,灵活组织知识结构
- 版本历史 - 笔记修改历史追踪,随时回溯
- 关系图谱 - 可视化展示笔记间的引用和关联关系
- 全文搜索 - 快速检索笔记标题和内容
- 标签过滤 - 按标签快速筛选笔记
- 日历热力图 - 可视化展示笔记活跃度,点击日期快速筛选
- 智能排序 - 支持时间、相关度等多种排序方式
- Web 应用 - 响应式设计,支持桌面和移动端浏览器
- 桌面客户端 - Electron 应用,支持 macOS、Windows、Linux
- 移动应用 - Android APK 支持,iOS 待上架
- 浏览器扩展 - 快速收藏网页内容(开发中)
- 深色/亮色主题 - 一键切换,呵护双眼
- PWA 支持 - 可安装为桌面应用,离线使用
- 快捷键 - Ctrl+K 快速搜索,提升操作效率
| 智能笔记编辑 | 语义搜索 | 知识图谱 |
|---|---|---|
![]() |
![]() |
![]() |
| 多媒体支持 | AI 探索 | 主题切换 |
|---|---|---|
![]() |
![]() |
![]() |
- Node.js >= 20.0
- pnpm >= 10.0
- MySQL >= 8.0 或 MariaDB >= 10.6
- OpenAI API Key - 用于 AI 功能
# 1. 克隆项目
git clone https://github.com/ximing/aimo.git
cd aimo
# 2. 安装依赖
pnpm install
# 3. 配置 MySQL 数据库
# 创建数据库
mysql -u root -p
CREATE DATABASE aimo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
EXIT;
# 或使用 Docker 启动 MySQL
docker-compose up -d mysql
# 4. 配置环境变量
cp .env.example .env
# 编辑 .env,填入 MySQL 连接信息、JWT_SECRET 和 OPENAI_API_KEY
# 5. 启动开发服务器
pnpm dev
# 应用将在 http://localhost:3000 启动pnpm dev:web # 仅启动前端
pnpm dev:server # 仅启动后端
pnpm dev:client # 启动 Electron 桌面端
pnpm build # 构建所有应用
pnpm lint # 代码检查
pnpm format # 代码格式化docker pull ghcr.io/ximing/aimo:stable
docker run -d \
-p 3000:3000 \
--name aimo \
--env-file .env \
-v $(pwd)/data:/app/data \
ghcr.io/ximing/aimo:stable| 平台 | 下载链接 | 系统要求 |
|---|---|---|
| macOS | 下载 | macOS 12+ |
| Windows | 下载 | Windows 10+ |
| Linux | 下载 | Ubuntu 20.04+ |
| Android | 下载 | Android 8.0+ |
| iOS | 待上架 | - |
# JWT 密钥(至少 32 个字符)
JWT_SECRET=your-super-secret-key
# OpenAI API 密钥
OPENAI_API_KEY=sk-xxx...
# MySQL 数据库连接
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your-mysql-password
MYSQL_DATABASE=aimoAIMO 使用混合数据库架构:
- MySQL (via Drizzle ORM) - 存储所有关系型数据(用户、笔记、分类、标签等)
- LanceDB - 存储向量嵌入用于语义搜索
# MySQL 配置(必需)
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your-mysql-password
MYSQL_DATABASE=aimo
MYSQL_CONNECTION_LIMIT=10
# LanceDB 配置(向量存储)
LANCEDB_STORAGE_TYPE=local
LANCEDB_PATH=./lancedb_data# 存储类型: local 或 s3
ATTACHMENT_STORAGE_TYPE=local
ATTACHMENT_LOCAL_PATH=./attachments
ATTACHMENT_MAX_FILE_SIZE=52428800 # 50MB更多配置请参考 .env.example
aimo/
├── apps/
│ ├── web/ # React 前端应用
│ ├── server/ # Express 后端服务
│ ├── client/ # Electron 桌面端
│ └── extension/ # 浏览器扩展
├── packages/
│ └── dto/ # 共享类型定义
├── docker-compose.yml # Docker 部署配置
└── package.json # 根配置文件
- Fork 本仓库
- 创建功能分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
本项目采用 Business Source License 1.1 (BSL 1.1) 协议。
- ✅ 允许: 个人使用、非商业用途、企业内部使用
- ❌ 禁止: 商业服务、商业产品集成
- 💼 商业许可: 如需商业使用,请联系获取授权
- 📧 邮箱: morningxm@hotmail.com
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
Made with ❤️ by ximing





