🚀 Cordex: 开源免费的 AI 编程助手,向 Cursor 致敬!

126 阅读6分钟
 > 💡 **项目地址**: [https://github.com/Ricardo-M-L/cordex](https://github.com/Ricardo-M-L/cordex)
 > ⭐ **如果觉得不错,请给个 Star 支持一下!**

 ---

 ## 📖 前言

 作为一名开发者,我深深被 Cursor 这款 AI 编程工具所吸引——它将 AI 能力完美融入代码编辑器,极大提升了编程效率。但 Cursor
 的订阅价格对于很多开发者来说是个不小的负担。

 于是,我决定动手实现一个**开源、免费**的类 Cursor AI 编程助手——**Cordex****这不仅是对 Cursor 的致敬,更是想让每一位开发者都能享受到 AI 赋能编程的乐趣!**

 ---

 ## ✨ 项目亮点

 ### 🎯 核心特性

 1. **完全开源免费** 🆓
    - Apache 2.0 开源协议
    - 无需订阅,无需付费
    - 代码完全透明,可自由定制

 2. **多 AI 模型支持** 🤖
    - **Claude 3.5 Sonnet** (Anthropic 官方 SDK)
    - **OpenAI GPT 系列** (ChatGPT, GPT-4)
    - **本地模型 Ollama** (完全离线,数据隐私)
    - 可扩展更多 AI 模型

 3. **专业代码编辑器** 📝
    - 基于 Monaco Editor (VS Code 同款编辑器内核)
    - 完整的语法高亮
    - 智能代码补全
    - 多文件标签页管理

 4. **智能 AI 对话** 💬
    - 自然语言交互
    - 上下文理解
    - 代码生成与解释
    - 实时 Markdown 渲染

 5. **集成终端** 💻
    - 内置 Xterm.js 终端模拟器
    - 直接执行命令
    - 无需切换窗口

 6. **现代化架构** 🏗️
    - Electron 跨平台桌面应用
    - React + TypeScript 前端
    - Tailwind CSS 样式方案
    - 完整的构建工具链

 ---

 ## 🛠️ 技术架构

 ### 技术栈一览

 ```
 📦 Cordex 技术栈
 ├── 🖥️  桌面端框架: Electron 28
 ├── ⚛️  前端框架: React 18 + TypeScript
 ├── 🎨  UI 样式: Tailwind CSS
 ├── 📝  代码编辑器: Monaco Editor
 ├── 🤖  AI SDK:
 │   ├── @anthropic-ai/sdk (Claude)
 │   ├── openai (ChatGPT)
 │   └── ollama (本地模型)
 ├── 💻  终端: Xterm.js
 └── 📦  构建工具: Vite + electron-vite
 ```

 ### 项目结构

 ```
 cordex/
 ├── src/
 │   ├── main/              # Electron 主进程
 │   │   ├── config/        # 配置管理
 │   │   └── services/      # AI 服务层
 │   ├── preload/           # 预加载脚本
 │   └── renderer/          # 渲染进程 (React 应用)
 │       └── src/
 │           ├── components/
 │           │   ├── AI/           # AI 聊天界面
 │           │   ├── Editor/       # 代码编辑器
 │           │   ├── Terminal/     # 终端组件
 │           │   ├── Settings/     # 设置面板
 │           │   ├── Sidebar/      # 文件树
 │           │   └── Layout/       # 布局组件
 │           ├── App.tsx           # 主应用
 │           └── main.tsx          # 入口文件
 ├── resources/             # 资源文件 (图标等)
 ├── package.json
 └── electron.vite.config.ts
 ```

 ---

 ## 💻 功能展示

 ### 1️⃣ AI 驱动的代码对话

 Cordex 支持自然语言交互,你可以:

 - **询问技术问题**
   "如何在 React 中实现防抖?"

 - **生成代码片段**
   "帮我写一个 Promise 封装的 Ajax 请求"

 - **代码审查与优化**
   "这段代码有什么问题?怎么优化?"

 - **调试帮助**
   "为什么我的组件一直重新渲染?"

 ### 2️⃣ 专业的代码编辑体验

 - 📄 多文件标签页切换
 - 🎨 完整的语法高亮 (支持几十种语言)
 - 🔍 代码搜索与替换
 - ⌨️ 熟悉的快捷键 (类 VS Code)
 - 📐 自动缩进与格式化

 ### 3️⃣ 三种 AI 模型随意切换

 #### Claude (推荐)
 ```typescript
 // 使用 Anthropic 官方 SDK
 import Anthropic from '@anthropic-ai/sdk'

 const client = new Anthropic({
   apiKey: process.env.ANTHROPIC_API_KEY
 })

 const response = await client.messages.create({
   model: 'claude-3-5-sonnet-20241022',
   max_tokens: 4096,
   messages: [{ role: 'user', content: prompt }]
 })
 ```

 #### OpenAI
 ```typescript
 import OpenAI from 'openai'

 const client = new OpenAI({
   apiKey: process.env.OPENAI_API_KEY
 })

 const response = await client.chat.completions.create({
   model: 'gpt-4',
   messages: [{ role: 'user', content: prompt }]
 })
 ```

 #### Ollama (本地模型)
 ```typescript
 import { Ollama } from 'ollama'

 const ollama = new Ollama({ host: 'http://localhost:11434' })

 const response = await ollama.chat({
   model: 'codellama',
   messages: [{ role: 'user', content: prompt }]
 })
 ```

 ---

 ## 🚀 快速开始

 ### 安装依赖

 ```bash
 # 克隆项目
 git clone https://github.com/Ricardo-M-L/cordex.git
 cd cordex

 # 安装依赖
 npm install
 ```

 ### 配置 API Key

 在项目根目录创建 `.env` 文件:

 ```env
 # 选择一种或多种配置

 # 使用 Claude
 ANTHROPIC_API_KEY=your_anthropic_api_key

 # 使用 OpenAI
 OPENAI_API_KEY=your_openai_api_key

 # 使用 Ollama (本地模型,无需 API Key)
 # 确保 Ollama 服务已启动: ollama serve
 ```

 ### 开发模式

 ```bash
 npm run dev
 ```

 ### 打包应用

 ```bash
 # macOS
 npm run build:mac

 # Windows
 npm run build:win

 # 同时打包 macOS 和 Windows
 npm run build:all
 ```

 ---

 ## 🎨 界面预览

 Cordex 采用现代化设计,界面清爽简洁:

 - **左侧**: 文件树导航
 - **中间**: 代码编辑区域
 - **右侧**: AI 对话面板
 - **底部**: 集成终端
 - **顶部**: 设置与配置

 ---

 ## 🔧 为什么选择 Cordex?

 ### vs Cursor

 | 特性 | Cordex | Cursor |
 |------|--------|--------|
 | **价格** | 完全免费 | $20/月 |
 | **开源** | ✅ Apache 2.0 | ❌ 闭源 |
 | **本地模型** | ✅ 支持 Ollama | ❌ 仅云端 |
 | **定制性** | ✅ 完全可定制 | ⚠️ 有限 |
 | **数据隐私** | ✅ 本地模型可离线 | ⚠️ 云端处理 |

 ### vs GitHub Copilot

 | 特性 | Cordex | Copilot |
 |------|--------|---------|
 | **完整编辑器** | ✅ 独立应用 | ❌ 需依赖 IDE |
 | **对话交互** | ✅ 自然语言对话 | ⚠️ 仅代码补全 |
 | **多模型支持** | ✅ Claude/GPT/Ollama | ❌ 仅 Codex |
 | **本地部署** | ✅ 支持 | ❌ 仅云端 |

 ---

 ## 🌟 核心优势

 ### 1. 开源透明

 所有代码完全开源,你可以:
 - 🔍 审查所有源码
 - 🛠️ 自由修改定制
 - 🤝 贡献代码与功能
 - 📚 学习 AI 集成实践

 ### 2. 多模型灵活切换

 根据不同场景选择最合适的模型:
 - **Claude**: 代码理解能力强,推理深度好
 - **GPT-4**: 通用性强,知识面广
 - **Ollama**: 完全离线,保护隐私,无 API 费用

 ### 3. 专业编辑器体验

 基于 Monaco Editor,拥有:
 - VS Code 级别的编辑体验
 - 丰富的语言支持
 - 完善的快捷键系统
 - 高性能渲染引擎

 ### 4. 跨平台支持

 基于 Electron,支持:
 - 🍎 macOS
 - 🪟 Windows
 - 🐧 Linux (即将支持)

 ---

 ## 🛣️ 未来规划

 Cordex 仍在快速迭代中,计划加入:

 - [ ] 📁 项目文件管理器 (打开本地项目)
 - [ ] 🔍 全局代码搜索
 - [ ] 🎨 主题切换 (暗色/亮色)
 - [ ] 🔧 插件系统
 - [ ] 🌐 远程代码同步
 - [ ] 📊 代码统计分析
 - [ ] 🤖 更多 AI 模型支持 (Gemini, LLaMA 等)
 - [ ] 🎯 代码重构建议
 - [ ] 📝 智能注释生成
 - [ ] 🧪 单元测试生成

 ---

 ## 🤝 贡献指南

 Cordex 欢迎任何形式的贡献!

 ### 如何参与

 1. **Fork 项目**
 2. **创建特性分支** (`git checkout -b feature/AmazingFeature`)
 3. **提交改动** (`git commit -m 'Add some AmazingFeature'`)
 4. **推送分支** (`git push origin feature/AmazingFeature`)
 5. **提交 Pull Request**

 ### 贡献方向

 - 🐛 修复 Bug
 - ✨ 新增功能
 - 📚 完善文档
 - 🎨 优化 UI/UX
 - 🧪 添加测试
 - 🌍 多语言支持

 ---

 ## 💬 社区交流

 - **GitHub Issues**: [提交问题与建议](https://github.com/Ricardo-M-L/cordex/issues)
 - **GitHub Discussions**: [讨论与交流](https://github.com/Ricardo-M-L/cordex/discussions)
 - **Star 项目**: 关注项目动态

 ---

 ## 📄 开源协议

 Cordex 采用 **Apache License 2.0** 开源协议。

 这意味着:
 - ✅ 可以自由使用
 - ✅ 可以商业使用
 - ✅ 可以修改源码
 - ✅ 可以分发副本
 - ⚠️ 需要保留版权声明
 - ⚠️ 需要声明修改内容

 ---

 ## 🙏 致谢

 Cordex 的诞生离不开以下优秀项目:

 - [Electron](https://www.electronjs.org/) - 跨平台桌面应用框架
 - [React](https://react.dev/) - 用户界面库
 - [Monaco Editor](https://microsoft.github.io/monaco-editor/) - VS Code 编辑器内核
 - [Anthropic Claude](https://www.anthropic.com/) - 强大的 AI 模型
 - [OpenAI](https://openai.com/) - GPT 系列模型
 - [Ollama](https://ollama.ai/) - 本地 AI 模型运行时
 - [Tailwind CSS](https://tailwindcss.com/) - 实用优先的 CSS 框架

 ---

 ## 🎯 结语

 **Cordex 不仅是一个项目,更是一种理念:**

 > 💡 **让 AI 编程工具不再是少数人的特权,而是每个开发者都能轻松获得的生产力工具。**

 如果你认同这个理念,请:
 -**Star 项目**支持我们
 - 🔧 **提交 PR** 参与开发
 - 💬 **分享项目**让更多人知道
 - 🐛 **反馈问题**帮助改进

 ---

 ## 🔗 相关链接

 - **GitHub 仓库**: [https://github.com/Ricardo-M-L/cordex](https://github.com/Ricardo-M-L/cordex)
 - **问题反馈**: [GitHub Issues](https://github.com/Ricardo-M-L/cordex/issues)
 - **项目讨论**: [GitHub Discussions](https://github.com/Ricardo-M-L/cordex/discussions)

 ---

 **让我们一起打造更好的 AI 编程工具!** 🚀

 如果觉得 Cordex 对你有帮助,请不要吝惜你的 ⭐ Star!

 ---

 > 📝 作者: Ricardo-M-L
 > 📅 日期: 2024年12月
 > 📧 联系: [GitHub Profile](https://github.com/Ricardo-M-L)

 ---