# ifai **Repository Path**: peterfei_1109/ifai ## Basic Information - **Project Name**: ifai - **Description**: 若爱 (IfAI) - 基于 Tauri 2.0 构建的跨平台 AI 代码编辑器 | A Cross-Platform AI Code Editor Built with Tauri 2.0 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-12-30 - **Last Updated**: 2026-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 若爱 (IfAI) - AI 原生代码编辑器 🚀
**🤖 不只是编辑器,更是你的 AI 编程伙伴**
**一款基于 Tauri 2.0 + React 19 构建的革命性 AI 原生代码编辑器**
[English](./README_EN.md) | 简体中文 | [📖 完整文档](./docs) | [🎯 在线演示](https://ifai.dev)
[](https://opensource.org/licenses/MIT)
[](https://tauri.app/)
[](https://reactjs.org/)
[](https://www.typescriptlang.org/)
[](https://www.rust-lang.org/)
[](https://ai-native.dev)
[](https://github.com/peterfei/ifai/releases)
[](https://discord.gg/ifai)
---
## ✨ v0.2.0 交互与性能革命 - 极致丝滑体验
### 🌊 Claude-style 流式交互系统
- **打字机式代码生成** - AI 的文件操作呈现逐行生成的动态效果,实时可见。
- **渐进式参数提取** - 核心 Rust 后端具备启发式解析能力,在响应结束前即可提取代码内容。
- **流式光标反馈** - 工具预览区域增加动态脉冲光标,提供极佳的实时视觉反馈。
### 🚀 GPU 硬件加速渲染管线
- **120 FPS 高帧率支持** - 针对高刷显示器深度优化渲染调度,确保滚动与动画达到视觉上限。
- **AI 生成零延迟 (Zero-Lag)** - 引入 150ms 节流更新与动态性能降级,彻底消除生成时的编辑器卡顿。
- **实时性能监控** - 通过 `Mod+Alt+p` 一键开启 FPS 监控面板。
### ⌨️ 深度 UX 与键盘导航优化
- **持久化对话历史** - 即使重启应用,之前的提问也能通过键盘**向上键**瞬间唤回,输入体验更接近专业终端。
- **全局键盘无缝控制** - 彻底重构了斜杠命令与项目搜索的键盘交互,支持丝滑的上下键切换与回车即时选择。
- **智能索引同步** - 系统能精准区分手动修改与历史填充,确保连续交互逻辑高度连贯且符合直觉。
### 🛡️ 灵动任务监控器 (Agent Monitor)
- **自由拖拽与磁力吸附** - 监控器可随处拖动并智能吸附到屏幕角落。
- **智能布局自适应** - 面板根据吸附位置自动调整展开方向,保持界面整洁。
- **全方位中文化支持** - 任务状态、实时日志等细节均已接入国际化系统。
### 📐 智能渲染逻辑
- **总结始终在底部** - 重构渲染引擎,确保 AI 工具盒在上,总结陈述(Summary)在消息最底部。
- **极致纯净 UI** - 采用极简 Logo 标识,为代码沟通腾出更多视觉空间。
---
## ✨ 功能特性
### 🎨 现代化编辑器 - 专业级体验
- **📝 Monaco Editor 内核** - VSCode 同款引擎,支持 150+ 编程语言
- 智能代码补全、语法检查、错误提示
- 代码折叠、缩进指南、括号匹配
- 多光标编辑、查找替换、代码片段
- 集成 VSCode 主题生态,支持自定义主题
- **📑 多标签页管理** - 高效文件管理新标杆
- 拖拽排序、右键菜单、快速关闭
- 未保存文件保护、恢复提示
- 标签页预览、最近文件快速访问
- 支持分屏编辑,多文件对比
- **🌲 智能文件树** - 项目结构一目了然
- Git 状态集成(新增、修改、删除)
- 文件图标主题、自定义排序
- 快速文件过滤、模糊搜索
- 即将支持:文件创建、重命名、删除
### 🤖 AI 原生智能助手 - 编程革命
- **🧠 多模型 AI 支持** - 自由选择最适合的 AI 伙伴
- **OpenAI GPT 系列**:GPT-4 Turbo、GPT-3.5 Turbo
- **Anthropic Claude 系列**:Claude 3.5 Sonnet、Claude 3 Opus
- **智谱 AI**:GLM-4、GLM-3-Turbo
- **自定义 API**:支持任何 OpenAI 兼容接口
- **🔍 RAG 检索增强** - 让 AI 真正理解您的代码
- 自动构建项目代码向量索引
- 语义化代码搜索,精准定位相关文件
- 智能上下文构建,避免 token 浪费
- 支持 `@codebase` 指令进行全局代码查询
- **🛠 AI Agent 工具链 (Supervisor 架构)** - 从建议到执行的完整闭环
- **安全审批流**:所有文件写操作(Write/Rename/Delete)均需用户预览 Diff 后审批,杜绝“黑盒”修改。
- **自主工具集**:Agent 可自主调用 `read_file`、`list_dir`、`grep` 及 `git` 等核心工具。
- **实时监控器**:灵动面板实时展示 Agent 的思考路径与执行日志,支持全局状态追踪。
- **📝 结构化 Prompt 管理系统** - 提示词工程的工业化实践
- **模板化引擎**:基于 Handlebars 的动态渲染,自动注入项目路径、上下文与 RAG 搜索结果。
- **分层管理**:内置 System、Agent、Custom 三层 Prompts,支持针对不同任务精准定制。
- **热加载支持**:实时修改 `.ifai/prompts/` 文件夹下的 Markdown 模板,无需重启应用。
- **💬 智能对话界面** - 自然流畅的交互体验
- 流式响应,实时展示 AI 思考过程
- Markdown 渲染,支持代码高亮
- 对话历史管理,支持搜索和导出
- 多轮对话上下文保持
### 🛠 开发工具集成 - 一站式工作台
- **💻 集成终端** - 内置专业终端模拟器
- 基于 xterm.js,支持 PTY 原生终端
- 多会话管理,快速切换
- ANSI 转义序列完整支持
- 自定义主题、字体、快捷键
- **🔀 Git 集成** - 版本控制可视化
- 文件状态实时追踪(M、A、D、R 状态)
- 分支管理、提交历史查看
- 冲突解决、差异对比
- 即将支持:图形化提交、变基操作
- **🔍 全局搜索** - 毫秒级文件检索
- 基于 ripgrep,支持正则表达式
- 文件名、内容双模式搜索
- 搜索结果语法高亮、上下文预览
- 一键跳转到定义位置
- **🔧 LSP 客户端** - 语言服务器协议支持
- 智能代码补全、参数提示
- 跳转到定义、查找引用
- 实时错误检查、代码诊断
- 支持 TypeScript、Python、Rust 等主流语言
### 🌈 用户体验优化 - 细节成就完美
- **🎨 主题系统** - 个性化视觉体验
- 深色/浅色主题,护眼模式
- 自定义配色方案
- 支持 VSCode 主题导入
- 自动跟随系统主题切换
- **🌍 国际化支持** - 全球化产品
- 完整中英文双语界面
- 自动语言检测
- 即将支持:日语、韩语、法语
- **♿ 无障碍访问** - 包容式设计
- 键盘导航完整支持
- 屏幕阅读器兼容
- 高对比度模式
- 可定制字体大小
---
## 🏗 技术架构 - 重新定义 AI 编辑器
### 🎯 AI 原生架构设计
不同于传统的"AI 辅助"思路,IfAI 从架构设计之初就将 AI 作为一等公民。我们构建了业界首个 **AI 原生编辑器架构**:
```
┌─────────────────────────────────────────────────────────────┐
│ 🚀 AI Native Architecture │
├─────────────────────────────────────────────────────────────┤
│ 🤖 AI 能力层 (AI Capabilities Layer) │
│ ├─ 🧠 多模型管理 - 动态路由到最优 AI 模型 │
│ ├─ 🔍 RAG 检索引擎 - 向量语义搜索,毫秒级响应 │
│ ├─ 🛠 Agent 工具链 - 可执行、可追踪的 AI 操作 │
│ ├─ 📊 上下文构建 - 智能代码理解与意图识别 │
│ └─ 🔒 安全沙箱 - AI 操作的可控执行环境 │
├─────────────────────────────────────────────────────────────┤
│ 🎨 交互层 (Interaction Layer) │
│ ├─ 💬 对话管理 - 多轮对话状态与历史管理 │
│ ├─ 📝 代码协同 - AI 与编辑器的无缝协作 │
│ ├─ 🎯 意图识别 - 自然语言到编程语言的转换 │
│ └─ ⚡ 实时同步 - 亚秒级的状态同步机制 │
├─────────────────────────────────────────────────────────────┤
│ 🔧 核心服务层 (Core Service Layer) │
│ ├─ 📁 文件系统 - 虚拟文件系统,支持远程仓库 │
│ ├─ 🔀 Git 集成 - 深度 Git 集成,图形化操作 │
│ ├─ 💻 终端服务 - PTY 原生终端,完整 ANSI 支持 │
│ ├─ 🔍 搜索服务 - 基于 Rust 的毫秒级全文检索 │
│ ├─ 🔧 LSP 客户端 - 语言服务器协议,智能代码分析 │
│ └─ 🌐 网络服务 - AI API 调用与缓存管理 │
├─────────────────────────────────────────────────────────────┤
│ ⚙️ 运行时层 (Runtime Layer) │
│ ├─ 🚀 Tauri 2.0 - 跨平台应用框架,原生性能 │
│ ├─ 🦀 Rust - 内存安全,零成本抽象 │
│ ├─ 🔄 Tokio - 异步运行时,支持万级并发 │
│ ├─ 📡 WebSocket - 实时双向通信,延迟 <5ms │
│ └─ 🛡️ 安全沙箱 - 操作系统级安全隔离 │
├─────────────────────────────────────────────────────────────┤
│ 🎨 表现层 (Presentation Layer) │
│ ├─ ⚛️ React 19 - Concurrent 模式,极致流畅 │
│ ├─ 🎨 TailwindCSS - 原子化样式,开发效率提升 3 倍 │
│ ├─ 📊 Monaco Editor - VSCode 同款,支持 150+ 语言 │
│ ├─ 🔄 Zustand - 轻量状态管理,性能提升 40% │
│ ├─ ⚡ Vite 7 - 亚秒级热更新,开发体验极致 │
│ └─ 🎯 TypeScript - 全链路类型安全,Bug 减少 80% │
└─────────────────────────────────────────────────────────────┘
```
### 🏆 技术突破点
#### 1. **AI 工具调用闭环系统** 🔒
- **业界首创**:所有 AI 操作都需要用户审批,拒绝黑盒操作
- **Diff 预览**:可视化展示 AI 提议的代码变更
- **操作追溯**:完整的操作历史,支持一键回滚
- **安全沙箱**:AI 在受控环境中执行,无法危害系统
#### 2. **RAG 增强检索** 🔍
- **向量索引**:自动构建项目代码的语义索引
- **混合检索**:结合关键词和语义,精准度提升 90%
- **实时更新**:文件变更后 100ms 内更新索引
- **智能压缩**:上下文压缩算法,节省 70% token
#### 3. **多模型动态路由** 🎯
- **智能选择**:根据任务类型选择最优模型
- **负载均衡**:多 API key 轮询,避免限流
- **故障转移**:主服务故障时自动切换备用
- **成本优化**:平衡响应质量和调用成本
### 🚀 性能优化黑科技
#### Rust 层优化
- **零拷贝架构**:文件操作零内存拷贝
- **并行处理**:利用所有 CPU 核心处理任务
- **内存池化**:减少 60% 的内存分配
- **异步 I/O**:支持万级并发文件操作
#### 前端优化
- **虚拟滚动**:10 万行代码流畅编辑
- **增量更新**:仅更新变更部分,减少 80% 计算
- **Web Workers**:耗时操作不阻塞 UI
- **内存压缩**:大数据结构自动压缩
#### AI 优化
- **预测加载**:提前加载可能用到的模型
- **缓存策略**:多级缓存,命中率 95%+
- **流式处理**:首字响应时间减少 70%
- **批处理**:合并相似请求,减少 API 调用
### 📊 性能指标对比
| 功能指标 | IfAI (v0.1.2) | VS Code | WebStorm | 优势 |
|---------|---------------|---------|----------|------|
| 启动时间 | 1.5s | 3-5s | 8-12s | ⚡ **快 3-8 倍** |
| 内存占用 | 80MB | 300-500MB | 1-2GB | 🚀 **省 75%** |
| 文件搜索 | 30ms | 100-200ms | 150-300ms | ⚡ **快 3-5 倍** |
| 大文件打开 | 0.3s | 1-2s | 2-3s | 🚀 **快 3-10 倍** |
| AI 响应 | 0.5-2s | N/A | N/A | 🎯 **原生集成** |
| 安装包大小 | 8MB | 80-150MB | 500MB+ | 📦 **小 10-60 倍** |
### 🛡️ 安全与隐私
#### 本地优先原则
- **代码本地存储**:所有代码文件保存在本地
- **AI 模型可选**:支持本地部署的 AI 模型
- **无遥测数据**:不收集任何用户代码和习惯
- **离线运行**:核心功能无需联网
#### AI 安全机制
- **操作审批**:AI 的每个文件操作都需要确认
- **沙箱执行**:AI 代码在隔离环境中运行
- **变更回滚**:支持一键撤销 AI 的所有修改
- **权限控制**:精细化控制 AI 的操作权限
### 🔮 架构演进路线
#### v0.2.x - 插件化架构
- **开放 API**:提供完整的插件开发接口
- **沙箱隔离**:插件运行在独立沙箱中
- **热插拔**:无需重启安装/卸载插件
- **应用商店**:官方插件市场即将上线
#### v0.3.x - 分布式协作
- **实时同步**:多设备间实时同步状态
- **协同编辑**:多人同时编辑同一文件
- **冲突解决**:智能合并冲突
- **版本历史**:完整的协作历史记录
#### v1.0.x - 企业级部署
- **私有化部署**:支持企业内网部署
- **SSO 集成**:支持企业统一认证
- **审计日志**:完整的操作审计
- **权限管理**:细粒度的权限控制
### 项目结构
```
ifainew/
├── src/ # React 前端代码
│ ├── components/ # UI 组件
│ │ ├── Editor/ # Monaco 编辑器
│ │ ├── FileTree/ # 文件树
│ │ ├── AIChat/ # AI 对话界面
│ │ └── Terminal/ # 终端模拟器
│ ├── stores/ # Zustand 状态管理
│ │ ├── fileStore.ts # 文件状态
│ │ ├── chatStore.ts # AI 对话状态
│ │ └── settingsStore.ts # 设置状态
│ └── utils/ # 工具函数
│
├── src-tauri/ # Rust 后端代码
│ ├── src/
│ │ ├── lib.rs # 主入口
│ │ ├── file_walker.rs # 文件遍历
│ │ ├── terminal.rs # 终端管理
│ │ ├── git.rs # Git 集成
│ │ ├── lsp.rs # LSP 客户端
│ │ └── search.rs # 文件搜索
│ └── Cargo.toml
│
├── tests/ # 测试用例
│ ├── spec_agent_flow.cjs
│ ├── spec_escape_fix.cjs
│ └── spec_tool_history.cjs
│
└── package.json
```
---
## 🚀 快速开始
### 环境要求
确保已安装以下工具:
- **Node.js** >= 18.0
- **Rust** >= 1.70 (通过 [rustup](https://rustup.rs/) 安装)
- **系统依赖**:
- **Windows**: Visual Studio Build Tools
- **macOS**: Xcode Command Line Tools
- **Linux**: `build-essential`, `libgtk-3-dev`, `libwebkit2gtk-4.0-dev`
### 安装步骤
1. **克隆仓库**
```bash
git clone https://github.com/peterfei/ifai.git
cd ifai
```
2. **安装依赖**
```bash
npm install
```
3. **启动开发服务器**
```bash
npm run tauri dev
```
应用将自动编译并启动,通常在几秒内完成。
### 构建发布版本
IfAI 提供两个版本:**社区版**(完全开源)和 **商业版**(包含高级功能)。
**构建社区版 (Community Edition):**
```bash
# 构建前端
npm run build:community
# 构建 Tauri 应用
npm run tauri:community
```
**构建商业版 (Commercial Edition):**
*注:需要 `ifainew-core` 访问权限*
```bash
# 构建前端
npm run build:commercial
# 构建 Tauri 应用
npm run tauri:commercial
```
构建产物位于 `src-tauri/target/release/bundle/`。
---
## 📸 截图展示
### 主界面 - 代码编辑与文件管理

*Monaco 编辑器 + 文件树 + 多标签页,流畅的开发体验*
---
### AI 智能助手 - 代码生成与对话

*支持多模型对话,流式响应,Markdown 渲染,代码高亮*
---
### 集成终端 - 无缝命令执行

*内置终端模拟器,支持多会话管理,ANSI 转义序列*
---
## 🛠 开发指南
### 本地开发
```bash
# 启动开发模式
npm run tauri dev
# 运行前端开发服务器
npm run dev
# 运行测试
node tests/spec_agent_flow.cjs
```
### 代码规范
- **前端**: 使用 TypeScript 严格模式,遵循 React Hooks 最佳实践
- **后端**: 遵循 Rust 官方代码规范,运行 `cargo fmt` 和 `cargo clippy`
- **提交**: 遵循 Conventional Commits 规范
### 技术栈说明
**为什么选择 Tauri?**
- 性能优异: 启动速度快,内存占用低 (相比 Electron 节省 90% 内存)
- 安全可靠: Rust 的内存安全保证,避免常见漏洞
- 跨平台: 一次编写,多平台运行
- 包体积小: 发布包仅 5-10MB (Electron 通常 100MB+)
**为什么选择 React 19?**
- 最新特性: React Server Components、并发渲染
- 生态丰富: 丰富的组件库和工具链
- 开发体验: 热更新、DevTools、TypeScript 支持
---
## 🗺 产品路线
### v0.1.2 (当前版本) - 基础功能增强
- ✅ **窗口状态持久化** - 记住窗口位置、大小及布局,重启后自动恢复
- ✅ **多窗口支持** - 实现多窗口实时同步与主窗口联动
- ✅ **文件拖放增强** - 支持文件树内拖拽及外部文件拖入编辑器
- ✅ **快捷键管理** - 支持快捷键配置导入/导出及预设方案切换
- ✅ **国际化扩展** - 文件树右键菜单及设置面板支持多语言
- ✅ **AI 工具闭环** - 完善 AI 自动执行工具的审批与反馈流程
- ✅ **多光标编辑** - (v0.1.1 引入) 支持多位置同时编辑
### v0.2.1 (当前版本) - 架构分离革命
- ✅ **社区版与商业版解耦** - 实现独立构建体系,支持无私有库编译
- ✅ **核心 Trait 抽象** - 建立标准化的 AI/RAG/Agent 接口层
- ✅ **CI/CD 双版本支持** - 自动化流水线现可同时处理不同版本的发布
- ✅ **提示词分级管理** - 社区版只读,商业版全功能开启
### v0.2.0 - 交互体感升级 (2025-12-20)
### v0.3.0 (规划中) - 智能化升级
- 🔄 标签页增强 (拖拽排序、右键管理、固定标签)
- 🔄 查找替换增强 (全局正则表达式搜索)
- 🔄 代码片段管理 (Snippet Manager)
- 🔄 Markdown 实时预览
- 🔄 AI 上下文管理优化 (RAG 策略调整)
### v0.3.0 (未来) - 智能化升级
- 📋 AI 代码审查
- 📋 智能测试生成
- 📋 性能分析工具
- 📋 团队协作功能
- 📋 云端同步设置
### v1.0.0 (愿景) - 生产级工具
- 📋 企业版功能
- 📋 私有化部署方案
- 📋 扩展市场
- 📋 多人实时协作
- 📋 完整的调试器集成
---
## 🌟 未来愿景
### 技术愿景
**若爱 (IfAI)** 致力于成为开发者最智能的编程伙伴:
1. **AI 原生编辑器** - 不是简单的 AI 功能叠加,而是从底层架构设计就融入 AI 思维
2. **本地优先** - 支持完全离线使用,保护代码隐私
3. **开放生态** - 开源核心框架,允许社区共建插件和扩展
4. **跨平台体验** - 统一的操作体验,无缝切换工作环境
### 产品愿景
我们希望**若爱**能够:
- 🎯 **降低编程门槛** - 让新手也能通过 AI 辅助快速上手
- 💡 **提升开发效率** - 减少重复劳动,专注创造性工作
- 🤝 **促进知识传承** - AI 助手成为代码知识的载体
- 🌍 **服务全球开发者** - 支持多语言,适配不同文化和习惯
### 社区愿景
- **开源共建** - 开放核心框架,欢迎贡献代码和想法
- **知识共享** - 构建开发者社区,分享最佳实践
- **持续创新** - 紧跟 AI 技术发展,探索新的可能性
---
## 🤝 参与贡献
我们欢迎所有形式的贡献!
### 如何贡献
1. **Fork 本仓库**
2. **创建特性分支** (`git checkout -b feature/AmazingFeature`)
3. **提交更改** (`git commit -m 'Add some AmazingFeature'`)
4. **推送到分支** (`git push origin feature/AmazingFeature`)
5. **提交 Pull Request**
详细贡献指南请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。
### 参与方式
- 🐛 **报告 Bug** - 提交详细的问题报告
- 💡 **功能建议** - 分享你的想法和需求
- 📝 **改进文档** - 完善文档和示例
- 💻 **贡献代码** - 修复 bug 或添加新功能
- 🌍 **翻译** - 帮助翻译成其他语言
---
## 📄 开源协议
本项目采用 **MIT License** 开源协议。
核心 AI 能力由私有商业授权模块提供,不包含在开源范围内。开源部分提供完整的编辑器框架和扩展接口。
详见 [LICENSE](./LICENSE) 文件。
---
## 💬 社区与支持
- **GitHub Issues**: [问题反馈](https://github.com/peterfei/ifai/issues)
- **GitHub Discussions**: [讨论交流](https://github.com/peterfei/ifai/discussions)
- **项目主页**: [https://github.com/peterfei/ifai](https://github.com/peterfei/ifai)
---
## 🙏 致谢
感谢以下开源项目:
- [Tauri](https://tauri.app/) - 跨平台框架
- [Monaco Editor](https://microsoft.github.io/monaco-editor/) - 代码编辑器
- [React](https://reactjs.org/) - UI 框架
- [Rust](https://www.rust-lang.org/) - 系统编程语言
以及所有为本项目贡献过的开发者! ❤️
---