🌟 项目愿景

“如果有爱,代码将充满温度” - 若爱 (IfAI) 不仅仅是一个代码编辑器,而是我们对未来编程方式的深度思考。在这个 AI 技术爆发的时代,我们坚信:AI 不应该是简单的功能附加,而应该从底层架构开始重新定义编程体验。

🎯 我们的使命

  • 🚀 AI 原生架构 - 从设计之初就将 AI 深度融入编辑器的每个环节
  • 🛡️ 本地优先 - 您的代码永远属于您,支持完全离线运行
  • ⚡ 极致性能 - Rust + Tauri 带来闪电般的响应速度
  • 🌍 开放生态 - 开源核心框架,共建繁荣社区
  • 🔒 隐私保护 - 代码不出本地,AI 模型可自由切换

📈 项目热度

  • 🎉 v0.2.0 重磅发布 - 2025年12月20日 (交互体感与性能跨越式升级)
  • 🚀 RAG 并行化 - 引入非阻塞索引构建,代码库搜索响应提升 200%
  • 🎉 v0.1.2 稳定版 - 2025年12月19日
  • 🌊 渲染性能 - 120 FPS 高帧率 + GPU 硬件加速
  • ⚡ 交互体验 - Claude-style 渐进式流式输出
  • 💾 内存占用 - ~80MB(比v0.1.0降低20%)

在这里插入图片描述


✨ 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_filelist_dirgrepgit 等核心工具。
    • 实时监控器:灵动面板实时展示 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 安装)
  • 系统依赖:
    • Windows: Visual Studio Build Tools
    • macOS: Xcode Command Line Tools
    • Linux: build-essential, libgtk-3-dev, libwebkit2gtk-4.0-dev

安装步骤

  1. 克隆仓库

    git clone https://github.com/peterfei/ifai.git
    cd ifai
    
  2. 安装依赖

    npm install
    
  3. 启动开发服务器

    npm run tauri dev
    

    应用将自动编译并启动,通常在几秒内完成。

构建发布版本

# 构建前端
npm run build

# 构建 Tauri 应用
npm run tauri build

构建产物位于 src-tauri/target/release/bundle/


📸 截图展示

主界面 - 代码编辑与文件管理

在这里插入图片描述

Monaco 编辑器 + 文件树 + 多标签页,流畅的开发体验


AI 智能助手 - 代码生成与对话

在这里插入图片描述

支持多模型对话,流式响应,Markdown 渲染,代码高亮


集成终端 - 无缝命令执行

在这里插入图片描述

内置终端模拟器,支持多会话管理,ANSI 转义序列


🛠 开发指南

本地开发

# 启动开发模式
npm run tauri dev

# 运行前端开发服务器
npm run dev

# 运行测试
node tests/spec_agent_flow.cjs

代码规范

  • 前端: 使用 TypeScript 严格模式,遵循 React Hooks 最佳实践
  • 后端: 遵循 Rust 官方代码规范,运行 cargo fmtcargo 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.0 (当前版本) - 交互体感升级

  • Claude-style 流式交互 - 实现工具调用参数的渐进式解析与打字机渲染效果
  • 灵动任务监控器 - 支持自由拖拽、磁力吸附角落及智能布局自适应
  • 渲染顺序优化 - 确保 Agent 执行总结始终位于消息底部,逻辑更清晰
  • 全方位国际化 - 监控器状态与日志全面支持中英文切换
  • UI 极简打磨 - 优化聊天面板头部布局,提升视觉空间利用率

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

参与方式

  • 🐛 报告 Bug - 提交详细的问题报告
  • 💡 功能建议 - 分享你的想法和需求
  • 📝 改进文档 - 完善文档和示例
  • 💻 贡献代码 - 修复 bug 或添加新功能
  • 🌍 翻译 - 帮助翻译成其他语言

📄 开源协议

本项目采用 MIT License 开源协议。

核心 AI 能力由私有商业授权模块提供,不包含在开源范围内。开源部分提供完整的编辑器框架和扩展接口。

详见 LICENSE 文件。


💬 社区与支持


🙏 致谢

感谢以下开源项目:

以及所有为本项目贡献过的开发者! ❤️


如果这个项目对你有帮助,请给我们一个 ⭐️

Made with ❤️ by peterfei

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐