ClaudeCode桌面端(源码+软件 解压即用)
CodePilot 0.5.1是一款基于Claude Code Agent的Windows桌面端编程助手工具,提供可视化GUI界面替代传统命令行交互。主要功能包括:对话式编程(支持Markdown渲染和代码高亮)、会话管理(SQLite本地存储)、项目感知上下文、权限控制、多模型切换(Opus/Sonnet/Haiku)以及Token使用统计等。采用Electron+Next.js技术栈构建,支持
「2026-编辑codePilot-0.5.1(Windows桌面端)」
CodePilot
A native desktop GUI for Claude Code -- 通过精美的可视化界面与Claude进行对话、编程和管理项目,告别终端命令行。
✨ 特性
💬 对话式编程 -- 实时流式响应展示,完整Markdown渲染、语法高亮代码块、工具调用可视化
📂 会话管理 -- 创建、重命名、归档和恢复聊天会话。对话通过SQLite本地持久化存储,重启不丢失
🎯 项目感知上下文 -- 每个会话选择工作目录,右侧面板实时显示文件树和文件预览
🔒 权限控制 -- 对每个工具操作进行批准、拒绝或自动允许。选择不同的权限模式以匹配你的舒适度
🎭 多种交互模式 -- 在 Code、Plan 和 Ask 模式间切换,控制Claude在每个会话中的行为
🤖 模型选择器 -- 对话中随时切换Claude模型(Opus、Sonnet、Haiku)
🔌 MCP服务器管理 -- 直接从扩展页面添加、配置和删除模型上下文协议服务器。支持
stdio、sse和http传输类型⚡ 自定义技能 -- 定义可重用的基于提示的技能(全局或项目特定),可在聊天中作为斜杠命令调用
⚙️ 设置编辑器 -- 可视化和JSON编辑器管理你的
~/.claude/settings.json,包括权限和环境变量📊 Token使用跟踪 -- 每次助手响应后显示输入/输出token数量和预估成本
🌗 深色/浅色主题 -- 导航栏一键切换主题
⌨️ 斜杠命令 -- 内置命令如
/help、/clear、/cost、/compact、/doctor、/review等🖥️ Electron打包 -- 作为原生桌面应用发布,隐藏标题栏,内置Next.js服务器,自动端口分配
📸 截图
📋 前置要求
重要提示: CodePilot底层调用Claude Code Agent SDK。确保
claude在你的PATH中可用,并且你已经完成认证(claude login),然后再启动应用。
要求 最低版本 Node.js 18+ Claude Code CLI 已安装并认证 ( claude --version应该可以工作)npm 9+ (随 Node 18 一起提供)
📥 下载
预构建的发布版本可在 Releases 页面获取。
支持的平台
macOS: 通用二进制文件 (arm64 + x64),以
.dmg形式分发Windows: x64,以
.zip形式分发Linux: x64 和 arm64,以
.AppImage、.deb和.rpm形式分发
🚀 快速开始
# 克隆仓库 git clone https://github.com/op7418/CodePilot.git cd CodePilot # 安装依赖 npm install # 开发模式启动(浏览器) npm run dev # -- 或在开发模式下启动完整的Electron应用 -- npm run electron:dev然后打开 http://localhost:3000(浏览器模式)或等待Electron窗口出现。
🔧 安装故障排除
CodePilot尚未进行代码签名,因此首次打开时操作系统会显示安全警告。
macOS
你会看到一个对话框,显示 "Apple cannot check it for malicious software"。
选项1 - 右键打开
在Finder中右键单击(或按住Control键单击)
CodePilot.app。从上下文菜单中选择 打开。
在确认对话框中点击 打开。
选项2 - 系统设置
打开 系统设置 > 隐私与安全性。
向下滚动到 安全性 部分。
你会看到关于CodePilot被阻止的消息。点击 仍要打开。
如果提示身份验证,然后启动应用。
选项3 - 终端命令
xattr -cr /Applications/CodePilot.app这将清除隔离属性,macOS将不再阻止该应用。
Windows
Windows SmartScreen会阻止安装程序或可执行文件。
选项1 - 仍要运行
在SmartScreen对话框上,点击 更多信息。
点击 仍要运行。
选项2 - 禁用应用安装控制
打开 设置 > 应用 > 高级应用设置。
切换 应用安装控制(或"选择从何处获取应用")以允许来自任何地方的应用。
🛠️ 技术栈
层级 技术 框架 Next.js 16 (App Router) 桌面外壳 Electron 40 UI组件 Radix UI + shadcn/ui 样式 Tailwind CSS 4 动画 Motion (Framer Motion) AI集成 Claude Agent SDK 数据库 better-sqlite3 (嵌入式,每用户) Markdown react-markdown + remark-gfm + rehype-raw + Shiki 流式传输 Vercel AI SDK 辅助函数 + Server-Sent Events 图标 Hugeicons + Lucide 测试 Playwright 构建/打包 electron-builder + esbuild
📁 项目结构
codepilot/ ├── electron/ # Electron主进程和预加载脚本 │ ├── main.ts # 窗口创建、嵌入式服务器生命周期 │ └── preload.ts # 上下文桥接 ├── src/ │ ├── app/ # Next.js App Router页面和API路由 │ │ ├── chat/ # 新聊天页面和[id]会话页面 │ │ ├── extensions/ # 技能+ MCP服务器管理 │ │ ├── settings/ # 设置编辑器 │ │ └── api/ # REST + SSE端点 │ │ ├── chat/ # 会话、消息、流式传输、权限 │ │ ├── files/ # 文件树和预览 │ │ ├── plugins/ # 插件和MCP CRUD │ │ ├── settings/ # 设置读/写 │ │ ├── skills/ # 技能CRUD │ │ └── tasks/ # 任务跟踪 │ ├── components/ │ │ ├── ai-elements/ # 消息气泡、代码块、工具调用等 │ │ ├── chat/ # ChatView、MessageList、MessageInput、流式传输 │ │ ├── layout/ # AppShell、NavRail、Header、RightPanel │ │ ├── plugins/ # MCP服务器列表和编辑器 │ │ ├── project/ # FileTree、FilePreview、TaskList │ │ ├── skills/ # SkillsManager、SkillEditor │ │ └── ui/ # 基于Radix的组件(button、dialog、tabs、...) │ ├── hooks/ # 自定义React钩子(usePanel、...) │ ├── lib/ # 核心逻辑 │ │ ├── claude-client.ts # Agent SDK流式包装器 │ │ ├── db.ts # SQLite模式、迁移、CRUD │ │ ├── files.ts # 文件系统辅助函数 │ │ ├── permission-registry.ts # 权限请求/响应桥接 │ │ └── utils.ts # 共享实用程序 │ ├── locales/ # 国际化(i18n)翻译文件 │ └── types/ # TypeScript接口和API契约 ├── scripts/ # 构建和打包脚本 │ ├── build-electron.mjs # Electron构建脚本 │ └── after-pack.js # 打包后钩子(重建原生模块) ├── electron-builder.yml # 打包配置 ├── package.json └── tsconfig.json
💻 开发
# 仅运行Next.js开发服务器(在浏览器中打开) npm run dev # 在开发模式下运行完整的Electron应用 # (启动Next.js + 等待它,然后打开Electron) npm run electron:dev # 生产构建(Next.js静态导出) npm run build # 构建Electron可分发包 + Next.js npm run electron:build # 打包macOS DMG(通用二进制文件) npm run electron:pack # 打包Windows安装包 npm run electron:pack:win # 打包Linux包 npm run electron:pack:linux开发说明
Electron主进程(
electron/main.ts)派生Next.js独立服务器,并通过随机空闲端口在127.0.0.1上连接到它聊天数据存储在
~/.codepilot/codepilot.db(或开发模式中的./data/codepilot.db)应用对SQLite使用WAL模式,因此并发读取很快
scripts/after-pack.js会在打包时显式重编译 better-sqlite3 为 Electron ABI,确保原生模块兼容
📝 构建注意事项
macOS: 构建输出DMG(arm64 + x64通用二进制文件)
Windows: 输出NSIS安装包或zip
Linux: 输出AppImage、deb和rpm包
构建前清理:
rm -rf release/ .next/Windows打包后恢复:
npm rebuild better-sqlite3macOS交叉编译Windows 需要Wine(在Apple Silicon上可能不可用),可以使用zip替代NSIS。
🤝 贡献
欢迎贡献。要开始:
Fork仓库并创建特性分支。
使用
npm install安装依赖。运行
npm run electron:dev在本地测试你的更改。在打开拉取请求之前确保
npm run lint通过。针对
main打开PR,清晰描述更改内容和原因。请保持PR聚焦 —— 每个拉取请求一个功能或修复。
📄 许可证
MIT
📮 反馈与支持
🙏 致谢
Claude Code - Anthropic的AI编程助手
Next.js - React框架
Electron - 跨平台桌面应用框架
所有贡献者和支持者
更多推荐






所有评论(0)