Skip to content

Commit f335c7f

Browse files
7418claude
andcommitted
docs: update README with new features, CI/CD, and Linux support
Add resizable panels, file attachments, auto update check, graceful shutdown to features. Update platform badge and download section for Windows NSIS installer and Linux packages. Add CI/CD section with tag-based auto-release workflow. Update project structure. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 21ca106 commit f335c7f

File tree

2 files changed

+92
-52
lines changed

2 files changed

+92
-52
lines changed

README.md

Lines changed: 41 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
**A native desktop GUI for Claude Code** -- chat, code, and manage projects through a polished visual interface instead of the terminal.
55

66
[![GitHub release](https://img.shields.io/github/v/release/op7418/CodePilot)](https://github.com/op7418/CodePilot/releases)
7-
[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows-lightgrey)](https://github.com/op7418/CodePilot/releases)
7+
[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-lightgrey)](https://github.com/op7418/CodePilot/releases)
88
[![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
99

1010
[中文文档](./README_CN.md) | [日本語](./README_JA.md)
@@ -13,19 +13,22 @@
1313

1414
## Features
1515

16-
- **💬 Conversational coding** -- Stream responses from Claude in real time with full Markdown rendering, syntax-highlighted code blocks, and tool-call visualization.
17-
- **📂 Session management** -- Create, rename, archive, and resume chat sessions. Conversations are persisted locally in SQLite so nothing is lost between restarts.
18-
- **🎯 Project-aware context** -- Pick a working directory per session. The right panel shows a live file tree and file previews so you always know what Claude is looking at.
19-
- **🔒 Permission controls** -- Approve, deny, or auto-allow tool use on a per-action basis. Choose between permission modes to match your comfort level.
20-
- **🎭 Multiple interaction modes** -- Switch between *Code*, *Plan*, and *Ask* modes to control how Claude behaves in each session.
21-
- **🤖 Model selector** -- Switch between Claude models (Opus, Sonnet, Haiku) mid-conversation.
22-
- **🔌 MCP server management** -- Add, configure, and remove Model Context Protocol servers directly from the Extensions page. Supports `stdio`, `sse`, and `http` transport types.
23-
- **⚡ Custom skills** -- Define reusable prompt-based skills (global or per-project) that can be invoked as slash commands during chat.
24-
- **⚙️ Settings editor** -- Visual and JSON editors for your `~/.claude/settings.json`, including permissions and environment variables.
25-
- **📊 Token usage tracking** -- See input/output token counts and estimated cost after every assistant response.
26-
- **🌗 Dark / Light theme** -- One-click theme toggle in the navigation rail.
27-
- **⌨️ Slash commands** -- Built-in commands like `/help`, `/clear`, `/cost`, `/compact`, `/doctor`, `/review`, and more.
28-
- **🖥️ Electron packaging** -- Ships as a native desktop app with a hidden title bar, bundled Next.js server, and automatic port allocation.
16+
- **Conversational coding** -- Stream responses from Claude in real time with full Markdown rendering, syntax-highlighted code blocks, and tool-call visualization.
17+
- **Session management** -- Create, rename, archive, and resume chat sessions. Conversations are persisted locally in SQLite so nothing is lost between restarts.
18+
- **Project-aware context** -- Pick a working directory per session. The right panel shows a live file tree and file previews so you always know what Claude is looking at.
19+
- **Resizable panels** -- Drag the edges of the chat list and right panel to adjust their width. Your preferred sizes are saved across sessions.
20+
- **File & image attachments** -- Attach files and images directly in the chat input. Images are sent as multimodal vision content for Claude to analyze.
21+
- **Permission controls** -- Approve, deny, or auto-allow tool use on a per-action basis. Choose between permission modes to match your comfort level.
22+
- **Multiple interaction modes** -- Switch between *Code*, *Plan*, and *Ask* modes to control how Claude behaves in each session.
23+
- **Model selector** -- Switch between Claude models (Opus, Sonnet, Haiku) mid-conversation.
24+
- **MCP server management** -- Add, configure, and remove Model Context Protocol servers directly from the Extensions page. Supports `stdio`, `sse`, and `http` transport types.
25+
- **Custom skills** -- Define reusable prompt-based skills (global or per-project) that can be invoked as slash commands during chat.
26+
- **Settings editor** -- Visual and JSON editors for your `~/.claude/settings.json`, including permissions and environment variables.
27+
- **Token usage tracking** -- See input/output token counts and estimated cost after every assistant response.
28+
- **Auto update check** -- The app periodically checks for new releases and notifies you when an update is available.
29+
- **Dark / Light theme** -- One-click theme toggle in the navigation rail.
30+
- **Slash commands** -- Built-in commands like `/help`, `/clear`, `/cost`, `/compact`, `/doctor`, `/review`, and more.
31+
- **Electron packaging** -- Ships as a native desktop app with a hidden title bar, bundled Next.js server, graceful shutdown, and automatic port allocation.
2932

3033
---
3134

@@ -49,13 +52,13 @@
4952

5053
## Download
5154

52-
Pre-built releases are available on the [**Releases**](https://github.com/op7418/CodePilot/releases) page.
55+
Pre-built releases are available on the [**Releases**](https://github.com/op7418/CodePilot/releases) page. Releases are built automatically via GitHub Actions for all platforms.
5356

5457
### Supported Platforms
5558

56-
- **macOS**: Universal binary (arm64 + x64) distributed as `.dmg`
57-
- **Windows**: x64 distributed as `.zip`
58-
- **Linux**: x64 and arm64 distributed as `.AppImage`, `.deb`, and `.rpm`
59+
- **macOS** -- arm64 (Apple Silicon) and x64 (Intel) distributed as `.dmg`
60+
- **Windows** -- NSIS installer (`.exe`) bundling x64 + arm64
61+
- **Linux** -- x64 and arm64 distributed as `.AppImage`, `.deb`, and `.rpm`
5962

6063
---
6164

@@ -64,7 +67,7 @@ Pre-built releases are available on the [**Releases**](https://github.com/op7418
6467
```bash
6568
# Clone the repository
6669
git clone https://github.com/op7418/CodePilot.git
67-
cd codepilot
70+
cd CodePilot
6871

6972
# Install dependencies
7073
npm install
@@ -140,6 +143,7 @@ Windows SmartScreen will block the installer or executable.
140143
| Streaming | [Vercel AI SDK](https://sdk.vercel.ai/) helpers + Server-Sent Events |
141144
| Icons | [Hugeicons](https://hugeicons.com/) + [Lucide](https://lucide.dev/) |
142145
| Testing | [Playwright](https://playwright.dev/) |
146+
| CI/CD | [GitHub Actions](https://github.com/features/actions) (auto-build + release on tag) |
143147
| Build / Pack | electron-builder + esbuild |
144148

145149
---
@@ -148,6 +152,7 @@ Windows SmartScreen will block the installer or executable.
148152

149153
```
150154
codepilot/
155+
├── .github/workflows/ # CI/CD: multi-platform build & auto-release
151156
├── electron/ # Electron main process & preload
152157
│ ├── main.ts # Window creation, embedded server lifecycle
153158
│ └── preload.ts # Context bridge
@@ -166,7 +171,7 @@ codepilot/
166171
│ ├── components/
167172
│ │ ├── ai-elements/ # Message bubbles, code blocks, tool calls, etc.
168173
│ │ ├── chat/ # ChatView, MessageList, MessageInput, streaming
169-
│ │ ├── layout/ # AppShell, NavRail, Header, RightPanel
174+
│ │ ├── layout/ # AppShell, NavRail, ResizeHandle, RightPanel
170175
│ │ ├── plugins/ # MCP server list & editor
171176
│ │ ├── project/ # FileTree, FilePreview, TaskList
172177
│ │ ├── skills/ # SkillsManager, SkillEditor
@@ -202,10 +207,24 @@ npm run build
202207
# Build Electron distributable + Next.js
203208
npm run electron:build
204209

205-
# Package macOS DMG (universal binary)
206-
npm run electron:pack
210+
# Package for specific platforms
211+
npm run electron:pack:mac # macOS DMG (arm64 + x64)
212+
npm run electron:pack:win # Windows NSIS installer
213+
npm run electron:pack:linux # Linux AppImage, deb, rpm
207214
```
208215

216+
### CI/CD
217+
218+
The project uses GitHub Actions for automated builds. Pushing a `v*` tag triggers a full multi-platform build and automatically creates a GitHub Release with all artifacts:
219+
220+
```bash
221+
git tag v0.8.1
222+
git push origin v0.8.1
223+
# CI builds Windows + macOS + Linux, then publishes the release
224+
```
225+
226+
You can also manually trigger builds for individual platforms from the Actions tab.
227+
209228
### Notes
210229

211230
- The Electron main process (`electron/main.ts`) forks the Next.js standalone server and connects to it over `127.0.0.1` with a random free port.

README_CN.md

Lines changed: 51 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,39 @@
66
[English](./README.md) | [日本語](./README_JA.md)
77

88
[![GitHub release](https://img.shields.io/github/v/release/op7418/CodePilot)](https://github.com/op7418/CodePilot/releases)
9-
[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows-lightgrey)](https://github.com/op7418/CodePilot/releases)
9+
[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-lightgrey)](https://github.com/op7418/CodePilot/releases)
1010
[![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
1111

1212
---
1313

14-
## ✨ 功能特性
14+
## 功能特性
15+
16+
- **实时对话编码** -- 流式接收 Claude 的响应,支持完整的 Markdown 渲染、语法高亮代码块和工具调用可视化
17+
- **会话管理** -- 创建、重命名、归档和恢复聊天会话。所有对话本地持久化存储在 SQLite 中,重启不丢失
18+
- **项目感知上下文** -- 为每个会话选择工作目录。右侧面板实时展示文件树和文件预览,随时了解 Claude 正在查看的内容
19+
- **可调节面板宽度** -- 拖拽聊天列表和右侧面板的边缘调整宽度,偏好设置跨会话保存
20+
- **文件和图片附件** -- 在聊天输入框直接附加文件和图片。图片以多模态视觉内容发送给 Claude 进行分析
21+
- **权限控制** -- 逐项审批、拒绝或自动允许工具使用,可选择不同的权限模式
22+
- **多种交互模式** -- 在 *Code**Plan**Ask* 模式之间切换,控制 Claude 在每个会话中的行为方式
23+
- **模型切换** -- 在对话中随时切换 Claude 模型(Opus、Sonnet、Haiku)
24+
- **MCP 服务器管理** -- 直接在扩展页面添加、配置和移除 Model Context Protocol 服务器。支持 `stdio``sse``http` 传输类型
25+
- **自定义技能** -- 定义可复用的提示词技能(全局或项目级别),在聊天中作为斜杠命令调用
26+
- **设置编辑器** -- 可视化和 JSON 编辑器管理 `~/.claude/settings.json`,包括权限和环境变量配置
27+
- **Token 用量追踪** -- 每次助手回复后查看输入/输出 Token 数量和预估费用
28+
- **自动更新检查** -- 应用定期检查新版本并在有更新时通知你
29+
- **深色/浅色主题** -- 导航栏一键切换主题
30+
- **斜杠命令** -- 内置 `/help``/clear``/cost``/compact``/doctor``/review` 等命令
31+
- **Electron 打包** -- 原生桌面应用,隐藏标题栏,内置 Next.js 服务器,优雅关闭进程,自动端口分配
1532

16-
- 💬 **实时对话编码** -- 流式接收 Claude 的响应,支持完整的 Markdown 渲染、语法高亮代码块和工具调用可视化
17-
- 📂 **会话管理** -- 创建、重命名、归档和恢复聊天会话。所有对话本地持久化存储在 SQLite 中,重启不丢失
18-
- 🎯 **项目感知上下文** -- 为每个会话选择工作目录。右侧面板实时展示文件树和文件预览,随时了解 Claude 正在查看的内容
19-
- 🔐 **权限控制** -- 逐项审批、拒绝或自动允许工具使用,可选择不同的权限模式
20-
- 🎭 **多种交互模式** -- 在 *Code**Plan**Ask* 模式之间切换,控制 Claude 在每个会话中的行为方式
21-
- 🤖 **模型切换** -- 在对话中随时切换 Claude 模型(Opus、Sonnet、Haiku)
22-
- 🔌 **MCP 服务器管理** -- 直接在扩展页面添加、配置和移除 Model Context Protocol 服务器。支持 `stdio``sse``http` 传输类型
23-
-**自定义技能** -- 定义可复用的提示词技能(全局或项目级别),在聊天中作为斜杠命令调用
24-
- ⚙️ **设置编辑器** -- 可视化和 JSON 编辑器管理 `~/.claude/settings.json`,包括权限和环境变量配置
25-
- 📊 **Token 用量追踪** -- 每次助手回复后查看输入/输出 Token 数量和预估费用
26-
- 🌓 **深色/浅色主题** -- 导航栏一键切换主题
27-
- 💻 **斜杠命令** -- 内置 `/help``/clear``/cost``/compact``/doctor``/review` 等命令
28-
- 📦 **Electron 打包** -- 原生桌面应用,隐藏标题栏,内置 Next.js 服务器,自动端口分配
33+
---
2934

30-
## 📸 截图
35+
## 截图
3136

3237
![CodePilot](docs/screenshot.png)
3338

3439
---
3540

36-
## 📋 环境要求
41+
## 环境要求
3742

3843
| 要求 | 最低版本 |
3944
|------|---------|
@@ -45,7 +50,7 @@
4550
4651
---
4752

48-
## 🚀 快速开始
53+
## 快速开始
4954

5055
```bash
5156
# 克隆仓库
@@ -66,19 +71,19 @@ npm run electron:dev
6671

6772
---
6873

69-
## 📥 下载
74+
## 下载
7075

71-
预编译版本可在 [Releases](https://github.com/op7418/CodePilot/releases) 页面下载。
76+
预编译版本可在 [Releases](https://github.com/op7418/CodePilot/releases) 页面下载。所有平台的安装包均由 GitHub Actions 自动构建发布。
7277

7378
### 支持平台
7479

7580
- **macOS** -- 支持 arm64(Apple Silicon)和 x64(Intel)架构的 `.dmg` 安装包
76-
- **Windows** -- 提供 `.zip` 压缩包,解压即用
81+
- **Windows** -- NSIS 安装程序(`.exe`),包含 x64 + arm64
7782
- **Linux** -- 支持 x64 和 arm64 架构,提供 `.AppImage``.deb``.rpm` 格式
7883

7984
---
8085

81-
## 🔧 安装问题排查
86+
## 安装问题排查
8287

8388
CodePilot 尚未进行代码签名,因此操作系统在首次打开时会显示安全警告。
8489

@@ -123,7 +128,7 @@ Windows SmartScreen 会阻止安装程序或可执行文件。
123128

124129
---
125130

126-
## 🛠 技术栈
131+
## 技术栈
127132

128133
| 层级 | 技术 |
129134
|------|------|
@@ -138,14 +143,16 @@ Windows SmartScreen 会阻止安装程序或可执行文件。
138143
| 流式传输 | [Vercel AI SDK](https://sdk.vercel.ai/) + Server-Sent Events |
139144
| 图标 | [Hugeicons](https://hugeicons.com/) + [Lucide](https://lucide.dev/) |
140145
| 测试 | [Playwright](https://playwright.dev/) |
146+
| CI/CD | [GitHub Actions](https://github.com/features/actions)(自动构建 + tag 发版) |
141147
| 构建打包 | electron-builder + esbuild |
142148

143149
---
144150

145-
## 📂 项目结构
151+
## 项目结构
146152

147153
```
148154
codepilot/
155+
├── .github/workflows/ # CI/CD:多平台构建和自动发版
149156
├── electron/ # Electron 主进程和预加载脚本
150157
│ ├── main.ts # 窗口创建、内嵌服务器生命周期管理
151158
│ └── preload.ts # Context bridge
@@ -164,7 +171,7 @@ codepilot/
164171
│ ├── components/
165172
│ │ ├── ai-elements/ # 消息气泡、代码块、工具调用等
166173
│ │ ├── chat/ # ChatView、MessageList、MessageInput、流式消息
167-
│ │ ├── layout/ # AppShell、NavRail、Header、RightPanel
174+
│ │ ├── layout/ # AppShell、NavRail、ResizeHandle、RightPanel
168175
│ │ ├── plugins/ # MCP 服务器列表和编辑器
169176
│ │ ├── project/ # FileTree、FilePreview、TaskList
170177
│ │ ├── skills/ # SkillsManager、SkillEditor
@@ -184,7 +191,7 @@ codepilot/
184191

185192
---
186193

187-
## 💻 开发
194+
## 开发
188195

189196
```bash
190197
# 仅运行 Next.js 开发服务器(在浏览器中打开)
@@ -200,10 +207,24 @@ npm run build
200207
# 构建 Electron 可分发包 + Next.js
201208
npm run electron:build
202209

203-
# 打包 macOS DMG
204-
npm run electron:pack
210+
# 打包特定平台
211+
npm run electron:pack:mac # macOS DMG(arm64 + x64)
212+
npm run electron:pack:win # Windows NSIS 安装包
213+
npm run electron:pack:linux # Linux AppImage、deb、rpm
205214
```
206215

216+
### CI/CD
217+
218+
项目使用 GitHub Actions 自动构建。推送 `v*` tag 会自动触发全平台构建并创建 GitHub Release:
219+
220+
```bash
221+
git tag v0.8.1
222+
git push origin v0.8.1
223+
# CI 自动构建 Windows + macOS + Linux,然后发布 Release
224+
```
225+
226+
也可以在 Actions 页面手动触发单个平台的构建。
227+
207228
### 说明
208229

209230
- Electron 主进程(`electron/main.ts`)会 fork Next.js standalone 服务器,通过 `127.0.0.1` 上的随机可用端口进行连接
@@ -212,7 +233,7 @@ npm run electron:pack
212233

213234
---
214235

215-
## 🤝 贡献
236+
## 贡献
216237

217238
欢迎贡献代码。开始之前:
218239

@@ -226,6 +247,6 @@ npm run electron:pack
226247

227248
---
228249

229-
## 📄 许可证
250+
## 许可证
230251

231252
MIT

0 commit comments

Comments
 (0)