Skip to content

Latest commit

History

1,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodePilot CodePilot

A multi-model AI agent desktop client -- connect any AI provider, extend with MCP & skills, control from your phone, and let your assistant learn your workflow.

GitHub releaseDownloadsGitHub starsPlatformLicense

中文文档 | 日本語


CodePilot


Download | Quick Start | Documentation | Contributing | Community


Download

PlatformDownloadArchitecture
macOSApple Silicon (.dmg) · Intel (.dmg)arm64 / x64
WindowsInstaller (.exe)x64
LinuxAppImage / deb / rpmx64 / arm64

Official macOS stable builds can check, download, and install signed updates in the app. After manually installing the first supported Windows version, later Windows releases can update in the app using unsigned packages from the official GitHub Release; Linux releases remain manual downloads.

Or visit the Releases page for all versions.


Why CodePilot

Multi-provider, one interface

Connect to 17+ AI providers out of the box. Switch providers and models mid-conversation without losing context.

CategoryProviders
Direct APIAnthropic, OpenRouter
Cloud platformsAWS Bedrock, Google Vertex AI
Chinese AI providersZhipu GLM (CN/Global), Kimi, Moonshot, MiniMax (CN/Global), Volcengine Ark (Doubao), Xiaomi MiMo, Aliyun Bailian (Qwen)
Local & self-hostedOllama, LiteLLM
CustomAny Anthropic-compatible or OpenAI-compatible endpoint
MediaGoogle Gemini (image generation)

Beyond coding — a full AI agent

CodePilot started as a coding tool but has grown into a general-purpose AI agent desktop:

  • Assistant Workspace — Persona files, persistent memory, onboarding flows, and daily check-ins. Your assistant learns your preferences and adapts over time.
  • Generative UI — AI can create interactive dashboards, charts, and visual widgets rendered live in-app.
  • Remote Bridge — Connect to Telegram, Feishu, Discord, QQ, and WeChat. Send messages from your phone, get responses on your desktop.
  • MCP + Skills — Add MCP servers (stdio / sse / http) with runtime monitoring. Define reusable skills or install from the skills.sh marketplace.
  • Media Studio — AI image generation with batch tasks, gallery, and tagging.
  • Task Scheduler — Schedule recurring tasks with cron expressions or intervals.

Built for daily use

  • Pause, resume, and rewind sessions to any checkpoint
  • Split-screen dual sessions side by side
  • Track token usage and costs with daily charts
  • Import Claude Code CLI session history
  • Dark / Light theme toggle
  • English + Chinese interface

Quick Start

Path A: Download a release (most users)

  1. Download the installer for your platform from the Download section above
  2. Launch CodePilot
  3. Configure a Provider in Settings > Providers — add your API key for any supported provider
  4. Start a conversation

Note: Installing the Claude Code CLI (npm install -g @anthropic-ai/claude-code) unlocks additional capabilities like direct file editing, terminal commands, and git operations. It is recommended but not required for basic chat.

Path B: Build from source (developers)

PrerequisiteMinimum version
Node.js18+
npm9+ (ships with Node 18)
git clone https://github.com/op7418/CodePilot.git
cd CodePilot
npm install
npm run dev # browser mode at http://localhost:3000# -- or --
npm run electron:dev # full desktop app

Core Capabilities

Conversation & Interaction

CapabilityDetails
Interaction modesCode / Plan / Ask
Reasoning effortLow / Medium / High / Max + Thinking mode
Permission controlDefault / Full Access, per-action approval
Session controlPause, resume, rewind to checkpoint, archive
Model switchingChange model mid-conversation
Split screenSide-by-side dual sessions
AttachmentsFiles and images with multimodal vision support
Slash commands/help /clear /cost /compact /doctor /review and more

Extensions & Integrations

CapabilityDetails
Providers17+ providers: Anthropic, OpenRouter, Bedrock, Vertex, Zhipu GLM, Kimi, Moonshot, MiniMax, Volcengine, MiMo, Bailian, Ollama, LiteLLM, custom endpoints
MCP serversstdio / sse / http, runtime status monitoring
SkillsCustom / project / global skills, skills.sh marketplace
BridgeTelegram / Feishu / Discord / QQ / WeChat remote control
CLI importImport Claude Code CLI .jsonl session history
Image generationGemini image gen, batch tasks, gallery

Data & Workspace

CapabilityDetails
Assistant WorkspacePersona files (soul.md, user.md, claude.md, memory.md), onboarding, daily check-ins, persistent memory
Generative UIAI-created interactive dashboards and visual widgets
File browserProject file tree with syntax-highlighted preview
Git panelStatus, branches, commits, worktree management
Usage analyticsToken counts, cost estimates, daily usage charts
Task schedulerCron-based and interval scheduling with persistence
Local storageSQLite (WAL mode), all data stays on your machine
i18nEnglish + Chinese
ThemesDark / Light, one-click toggle

First Launch

  1. Configure a Provider — Go to Settings > Providers and add credentials for the provider you want to use. CodePilot includes presets for all major providers — just pick one and enter your API key.
  2. Create a conversation — Pick a working directory, select a mode (Code / Plan / Ask), and choose a model.
  3. Set up Assistant Workspace (optional) — Go to Settings > Assistant, choose a workspace directory, and enable Onboarding. CodePilot creates soul.md, user.md, claude.md, and memory.md at the workspace root.
  4. Add MCP servers (optional) — Go to the MCP page in the sidebar to add and manage MCP servers. Custom skills are managed on the separate Skills page.
  5. Install Claude Code CLI (optional) — For advanced features like file editing and terminal commands, install the CLI: npm install -g @anthropic-ai/claude-code

Platform & Installation Notes

macOS stable builds are signed with Developer ID, notarized, stapled, and verified by Gatekeeper. If macOS reports that the developer cannot be verified or the file is damaged, stop and report it instead of bypassing the warning. Windows builds are unsigned and may show SmartScreen. After manually installing the first Windows updater-capable release, later stable versions can update in-app from the official op7418/CodePilot GitHub Release; the app verifies the metadata SHA-512 but does not claim independent Authenticode publisher verification. Linux updates remain manual.

macOS: Gatekeeper rejects the download
  1. Delete the rejected copy and download it again from the official GitHub Release.
  2. Verify the file against SHA256SUMS.txt from the same Release.
  3. If Gatekeeper still rejects it, do not remove quarantine attributes or bypass the warning; report the macOS version, download URL, and checksum on GitHub Issues.
Windows: SmartScreen blocks the installer

Verify the installer against SHA256SUMS.txt from the same official Release first. If the checksum matches and the source is op7418/CodePilot, click "More info", then "Run anyway". If organization policy removes that option, contact the device administrator instead of weakening system-wide protection.


Documentation

📖 Full documentation:English | 中文

Getting started:

User guides:

  • Providers -- Configuring AI providers and custom endpoints
  • MCP Servers -- Adding and managing Model Context Protocol servers
  • Skills -- Custom skills, project skills, and the skills.sh marketplace
  • Bridge -- Remote control via Telegram, Feishu, Discord, QQ, WeChat
  • Assistant Workspace -- Persona files, onboarding, memory, daily check-ins
  • FAQ -- Common issues and solutions

Developer docs:


FAQ

Do I need the Claude Code CLI?

No. You can use CodePilot with any supported provider (OpenRouter, Zhipu GLM, Volcengine, Ollama, etc.) without the Claude Code CLI. The CLI is only needed if you want Claude to directly edit files, run terminal commands, or use git operations on your machine. For chat and assistant features, just configure a provider and start a conversation.

Configured a Provider but no models appear

Verify the API key is valid and the endpoint is reachable. Some providers (Bedrock, Vertex) require additional environment variables or IAM configuration beyond the API key. Use the built-in diagnostics (Settings > Providers > Run Diagnostics) to check connectivity.

What is the difference between npm run dev and npm run electron:dev?

npm run dev starts only the Next.js dev server -- you use CodePilot in your browser at http://localhost:3000. npm run electron:dev starts both Next.js and the Electron shell, giving you the full desktop app experience with native window controls.

Where are the Assistant Workspace files?

When you set up a workspace, CodePilot creates four Markdown files at the workspace root directory: soul.md (personality), user.md (user profile), claude.md (rules), and memory.md (long-term notes). State tracking (onboarding progress, check-in dates) is stored in the .assistant/ subdirectory. Daily memories go to memory/daily/.

Bridge requires additional setup per platform

Each Bridge channel (Telegram, Feishu, Discord, QQ, WeChat) requires its own bot token or app credentials. Go to the Bridge page in the sidebar to configure channels. You will need to create a bot on the target platform first and provide the token to CodePilot.


Community

WeChat Group QR Code

Scan the QR code to join the WeChat user group for discussions, feedback, and updates.


Contributing

  1. Fork the repository and create a feature branch
  2. npm install and npm run electron:dev to develop locally
  3. Run npm run test before opening a PR
  4. Submit a PR against main with a clear description

Keep PRs focused -- one feature or fix per pull request.

Development commands
npm run dev # Next.js dev server (browser)
npm run electron:dev # Full Electron app (dev mode)
npm run build # Production build
npm run electron:build # Build Electron distributable
npm run electron:pack:mac # macOS DMG (arm64 + x64)
npm run electron:pack:win # Windows NSIS installer
npm run electron:pack:linux # Linux AppImage, deb, rpm

CI/CD: Pushing a stable vX.Y.Z tag builds signed/notarized macOS arm64, x64, and universal packages plus latest-mac.yml; an unsigned Windows x64 NSIS updater plus latest.yml; and Linux arm64/x64 manual packages. The Release is made public only after signing/notarization where applicable, packaged health, checksum, attestation, Intel ABI, GitHub single-trust-root safeguards, and complete asset-graph checks pass. The unsigned Windows trust gate requires a fresh administrator audit of immutable Releases and no-bypass branch/tag rulesets; Actions compares the live ruleset IDs and update timestamps with that audit and fails closed on drift. Windows publishes an EXE blockmap for opportunistic differential updates with full-installer fallback; Linux updater metadata is intentionally not published.

Notes:

  • Electron forks a Next.js standalone server on 127.0.0.1 with a random free port
  • Chat data is stored in ~/.codepilot/codepilot.db (dev mode: ./data/)
  • SQLite uses WAL mode for fast concurrent reads

License

Business Source License 1.1 (BSL-1.1)

  • Personal / academic / non-profit use: free and unrestricted
  • Commercial use: requires a separate license — contact @op7418 on X
  • Change date: 2029-03-16 — after which the code converts to Apache 2.0

About

A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - youcho2/CodePilot: A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js. · GitHub
Skip to content

Latest commit

History

1,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodePilot CodePilot

A multi-model AI agent desktop client -- connect any AI provider, extend with MCP & skills, control from your phone, and let your assistant learn your workflow.

GitHub releaseDownloadsGitHub starsPlatformLicense

中文文档 | 日本語


CodePilot


Download | Quick Start | Documentation | Contributing | Community


Download

PlatformDownloadArchitecture
macOSApple Silicon (.dmg) · Intel (.dmg)arm64 / x64
WindowsInstaller (.exe)x64
LinuxAppImage / deb / rpmx64 / arm64

Official macOS stable builds can check, download, and install signed updates in the app. After manually installing the first supported Windows version, later Windows releases can update in the app using unsigned packages from the official GitHub Release; Linux releases remain manual downloads.

Or visit the Releases page for all versions.


Why CodePilot

Multi-provider, one interface

Connect to 17+ AI providers out of the box. Switch providers and models mid-conversation without losing context.

CategoryProviders
Direct APIAnthropic, OpenRouter
Cloud platformsAWS Bedrock, Google Vertex AI
Chinese AI providersZhipu GLM (CN/Global), Kimi, Moonshot, MiniMax (CN/Global), Volcengine Ark (Doubao), Xiaomi MiMo, Aliyun Bailian (Qwen)
Local & self-hostedOllama, LiteLLM
CustomAny Anthropic-compatible or OpenAI-compatible endpoint
MediaGoogle Gemini (image generation)

Beyond coding — a full AI agent

CodePilot started as a coding tool but has grown into a general-purpose AI agent desktop:

  • Assistant Workspace — Persona files, persistent memory, onboarding flows, and daily check-ins. Your assistant learns your preferences and adapts over time.
  • Generative UI — AI can create interactive dashboards, charts, and visual widgets rendered live in-app.
  • Remote Bridge — Connect to Telegram, Feishu, Discord, QQ, and WeChat. Send messages from your phone, get responses on your desktop.
  • MCP + Skills — Add MCP servers (stdio / sse / http) with runtime monitoring. Define reusable skills or install from the skills.sh marketplace.
  • Media Studio — AI image generation with batch tasks, gallery, and tagging.
  • Task Scheduler — Schedule recurring tasks with cron expressions or intervals.

Built for daily use

  • Pause, resume, and rewind sessions to any checkpoint
  • Split-screen dual sessions side by side
  • Track token usage and costs with daily charts
  • Import Claude Code CLI session history
  • Dark / Light theme toggle
  • English + Chinese interface

Quick Start

Path A: Download a release (most users)

  1. Download the installer for your platform from the Download section above
  2. Launch CodePilot
  3. Configure a Provider in Settings > Providers — add your API key for any supported provider
  4. Start a conversation

Note: Installing the Claude Code CLI (npm install -g @anthropic-ai/claude-code) unlocks additional capabilities like direct file editing, terminal commands, and git operations. It is recommended but not required for basic chat.

Path B: Build from source (developers)

PrerequisiteMinimum version
Node.js18+
npm9+ (ships with Node 18)
git clone https://github.com/op7418/CodePilot.git
cd CodePilot
npm install
npm run dev # browser mode at http://localhost:3000# -- or --
npm run electron:dev # full desktop app

Core Capabilities

Conversation & Interaction

CapabilityDetails
Interaction modesCode / Plan / Ask
Reasoning effortLow / Medium / High / Max + Thinking mode
Permission controlDefault / Full Access, per-action approval
Session controlPause, resume, rewind to checkpoint, archive
Model switchingChange model mid-conversation
Split screenSide-by-side dual sessions
AttachmentsFiles and images with multimodal vision support
Slash commands/help /clear /cost /compact /doctor /review and more

Extensions & Integrations

CapabilityDetails
Providers17+ providers: Anthropic, OpenRouter, Bedrock, Vertex, Zhipu GLM, Kimi, Moonshot, MiniMax, Volcengine, MiMo, Bailian, Ollama, LiteLLM, custom endpoints
MCP serversstdio / sse / http, runtime status monitoring
SkillsCustom / project / global skills, skills.sh marketplace
BridgeTelegram / Feishu / Discord / QQ / WeChat remote control
CLI importImport Claude Code CLI .jsonl session history
Image generationGemini image gen, batch tasks, gallery

Data & Workspace

CapabilityDetails
Assistant WorkspacePersona files (soul.md, user.md, claude.md, memory.md), onboarding, daily check-ins, persistent memory
Generative UIAI-created interactive dashboards and visual widgets
File browserProject file tree with syntax-highlighted preview
Git panelStatus, branches, commits, worktree management
Usage analyticsToken counts, cost estimates, daily usage charts
Task schedulerCron-based and interval scheduling with persistence
Local storageSQLite (WAL mode), all data stays on your machine
i18nEnglish + Chinese
ThemesDark / Light, one-click toggle

First Launch

  1. Configure a Provider — Go to Settings > Providers and add credentials for the provider you want to use. CodePilot includes presets for all major providers — just pick one and enter your API key.
  2. Create a conversation — Pick a working directory, select a mode (Code / Plan / Ask), and choose a model.
  3. Set up Assistant Workspace (optional) — Go to Settings > Assistant, choose a workspace directory, and enable Onboarding. CodePilot creates soul.md, user.md, claude.md, and memory.md at the workspace root.
  4. Add MCP servers (optional) — Go to the MCP page in the sidebar to add and manage MCP servers. Custom skills are managed on the separate Skills page.
  5. Install Claude Code CLI (optional) — For advanced features like file editing and terminal commands, install the CLI: npm install -g @anthropic-ai/claude-code

Platform & Installation Notes

macOS stable builds are signed with Developer ID, notarized, stapled, and verified by Gatekeeper. If macOS reports that the developer cannot be verified or the file is damaged, stop and report it instead of bypassing the warning. Windows builds are unsigned and may show SmartScreen. After manually installing the first Windows updater-capable release, later stable versions can update in-app from the official op7418/CodePilot GitHub Release; the app verifies the metadata SHA-512 but does not claim independent Authenticode publisher verification. Linux updates remain manual.

macOS: Gatekeeper rejects the download
  1. Delete the rejected copy and download it again from the official GitHub Release.
  2. Verify the file against SHA256SUMS.txt from the same Release.
  3. If Gatekeeper still rejects it, do not remove quarantine attributes or bypass the warning; report the macOS version, download URL, and checksum on GitHub Issues.
Windows: SmartScreen blocks the installer

Verify the installer against SHA256SUMS.txt from the same official Release first. If the checksum matches and the source is op7418/CodePilot, click "More info", then "Run anyway". If organization policy removes that option, contact the device administrator instead of weakening system-wide protection.


Documentation

📖 Full documentation:English | 中文

Getting started:

User guides:

  • Providers -- Configuring AI providers and custom endpoints
  • MCP Servers -- Adding and managing Model Context Protocol servers
  • Skills -- Custom skills, project skills, and the skills.sh marketplace
  • Bridge -- Remote control via Telegram, Feishu, Discord, QQ, WeChat
  • Assistant Workspace -- Persona files, onboarding, memory, daily check-ins
  • FAQ -- Common issues and solutions

Developer docs:


FAQ

Do I need the Claude Code CLI?

No. You can use CodePilot with any supported provider (OpenRouter, Zhipu GLM, Volcengine, Ollama, etc.) without the Claude Code CLI. The CLI is only needed if you want Claude to directly edit files, run terminal commands, or use git operations on your machine. For chat and assistant features, just configure a provider and start a conversation.

Configured a Provider but no models appear

Verify the API key is valid and the endpoint is reachable. Some providers (Bedrock, Vertex) require additional environment variables or IAM configuration beyond the API key. Use the built-in diagnostics (Settings > Providers > Run Diagnostics) to check connectivity.

What is the difference between npm run dev and npm run electron:dev?

npm run dev starts only the Next.js dev server -- you use CodePilot in your browser at http://localhost:3000. npm run electron:dev starts both Next.js and the Electron shell, giving you the full desktop app experience with native window controls.

Where are the Assistant Workspace files?

When you set up a workspace, CodePilot creates four Markdown files at the workspace root directory: soul.md (personality), user.md (user profile), claude.md (rules), and memory.md (long-term notes). State tracking (onboarding progress, check-in dates) is stored in the .assistant/ subdirectory. Daily memories go to memory/daily/.

Bridge requires additional setup per platform

Each Bridge channel (Telegram, Feishu, Discord, QQ, WeChat) requires its own bot token or app credentials. Go to the Bridge page in the sidebar to configure channels. You will need to create a bot on the target platform first and provide the token to CodePilot.


Community

WeChat Group QR Code

Scan the QR code to join the WeChat user group for discussions, feedback, and updates.


Contributing

  1. Fork the repository and create a feature branch
  2. npm install and npm run electron:dev to develop locally
  3. Run npm run test before opening a PR
  4. Submit a PR against main with a clear description

Keep PRs focused -- one feature or fix per pull request.

Development commands
npm run dev # Next.js dev server (browser)
npm run electron:dev # Full Electron app (dev mode)
npm run build # Production build
npm run electron:build # Build Electron distributable
npm run electron:pack:mac # macOS DMG (arm64 + x64)
npm run electron:pack:win # Windows NSIS installer
npm run electron:pack:linux # Linux AppImage, deb, rpm

CI/CD: Pushing a stable vX.Y.Z tag builds signed/notarized macOS arm64, x64, and universal packages plus latest-mac.yml; an unsigned Windows x64 NSIS updater plus latest.yml; and Linux arm64/x64 manual packages. The Release is made public only after signing/notarization where applicable, packaged health, checksum, attestation, Intel ABI, GitHub single-trust-root safeguards, and complete asset-graph checks pass. The unsigned Windows trust gate requires a fresh administrator audit of immutable Releases and no-bypass branch/tag rulesets; Actions compares the live ruleset IDs and update timestamps with that audit and fails closed on drift. Windows publishes an EXE blockmap for opportunistic differential updates with full-installer fallback; Linux updater metadata is intentionally not published.

Notes:

  • Electron forks a Next.js standalone server on 127.0.0.1 with a random free port
  • Chat data is stored in ~/.codepilot/codepilot.db (dev mode: ./data/)
  • SQLite uses WAL mode for fast concurrent reads

License

Business Source License 1.1 (BSL-1.1)

  • Personal / academic / non-profit use: free and unrestricted
  • Commercial use: requires a separate license — contact @op7418 on X
  • Change date: 2029-03-16 — after which the code converts to Apache 2.0

About

A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - youcho2/CodePilot: A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js. · GitHub
Skip to content

Latest commit

History

1,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodePilot CodePilot

A multi-model AI agent desktop client -- connect any AI provider, extend with MCP & skills, control from your phone, and let your assistant learn your workflow.

GitHub releaseDownloadsGitHub starsPlatformLicense

中文文档 | 日本語


CodePilot


Download | Quick Start | Documentation | Contributing | Community


Download

PlatformDownloadArchitecture
macOSApple Silicon (.dmg) · Intel (.dmg)arm64 / x64
WindowsInstaller (.exe)x64
LinuxAppImage / deb / rpmx64 / arm64

Official macOS stable builds can check, download, and install signed updates in the app. After manually installing the first supported Windows version, later Windows releases can update in the app using unsigned packages from the official GitHub Release; Linux releases remain manual downloads.

Or visit the Releases page for all versions.


Why CodePilot

Multi-provider, one interface

Connect to 17+ AI providers out of the box. Switch providers and models mid-conversation without losing context.

CategoryProviders
Direct APIAnthropic, OpenRouter
Cloud platformsAWS Bedrock, Google Vertex AI
Chinese AI providersZhipu GLM (CN/Global), Kimi, Moonshot, MiniMax (CN/Global), Volcengine Ark (Doubao), Xiaomi MiMo, Aliyun Bailian (Qwen)
Local & self-hostedOllama, LiteLLM
CustomAny Anthropic-compatible or OpenAI-compatible endpoint
MediaGoogle Gemini (image generation)

Beyond coding — a full AI agent

CodePilot started as a coding tool but has grown into a general-purpose AI agent desktop:

  • Assistant Workspace — Persona files, persistent memory, onboarding flows, and daily check-ins. Your assistant learns your preferences and adapts over time.
  • Generative UI — AI can create interactive dashboards, charts, and visual widgets rendered live in-app.
  • Remote Bridge — Connect to Telegram, Feishu, Discord, QQ, and WeChat. Send messages from your phone, get responses on your desktop.
  • MCP + Skills — Add MCP servers (stdio / sse / http) with runtime monitoring. Define reusable skills or install from the skills.sh marketplace.
  • Media Studio — AI image generation with batch tasks, gallery, and tagging.
  • Task Scheduler — Schedule recurring tasks with cron expressions or intervals.

Built for daily use

  • Pause, resume, and rewind sessions to any checkpoint
  • Split-screen dual sessions side by side
  • Track token usage and costs with daily charts
  • Import Claude Code CLI session history
  • Dark / Light theme toggle
  • English + Chinese interface

Quick Start

Path A: Download a release (most users)

  1. Download the installer for your platform from the Download section above
  2. Launch CodePilot
  3. Configure a Provider in Settings > Providers — add your API key for any supported provider
  4. Start a conversation

Note: Installing the Claude Code CLI (npm install -g @anthropic-ai/claude-code) unlocks additional capabilities like direct file editing, terminal commands, and git operations. It is recommended but not required for basic chat.

Path B: Build from source (developers)

PrerequisiteMinimum version
Node.js18+
npm9+ (ships with Node 18)
git clone https://github.com/op7418/CodePilot.git
cd CodePilot
npm install
npm run dev # browser mode at http://localhost:3000# -- or --
npm run electron:dev # full desktop app

Core Capabilities

Conversation & Interaction

CapabilityDetails
Interaction modesCode / Plan / Ask
Reasoning effortLow / Medium / High / Max + Thinking mode
Permission controlDefault / Full Access, per-action approval
Session controlPause, resume, rewind to checkpoint, archive
Model switchingChange model mid-conversation
Split screenSide-by-side dual sessions
AttachmentsFiles and images with multimodal vision support
Slash commands/help /clear /cost /compact /doctor /review and more

Extensions & Integrations

CapabilityDetails
Providers17+ providers: Anthropic, OpenRouter, Bedrock, Vertex, Zhipu GLM, Kimi, Moonshot, MiniMax, Volcengine, MiMo, Bailian, Ollama, LiteLLM, custom endpoints
MCP serversstdio / sse / http, runtime status monitoring
SkillsCustom / project / global skills, skills.sh marketplace
BridgeTelegram / Feishu / Discord / QQ / WeChat remote control
CLI importImport Claude Code CLI .jsonl session history
Image generationGemini image gen, batch tasks, gallery

Data & Workspace

CapabilityDetails
Assistant WorkspacePersona files (soul.md, user.md, claude.md, memory.md), onboarding, daily check-ins, persistent memory
Generative UIAI-created interactive dashboards and visual widgets
File browserProject file tree with syntax-highlighted preview
Git panelStatus, branches, commits, worktree management
Usage analyticsToken counts, cost estimates, daily usage charts
Task schedulerCron-based and interval scheduling with persistence
Local storageSQLite (WAL mode), all data stays on your machine
i18nEnglish + Chinese
ThemesDark / Light, one-click toggle

First Launch

  1. Configure a Provider — Go to Settings > Providers and add credentials for the provider you want to use. CodePilot includes presets for all major providers — just pick one and enter your API key.
  2. Create a conversation — Pick a working directory, select a mode (Code / Plan / Ask), and choose a model.
  3. Set up Assistant Workspace (optional) — Go to Settings > Assistant, choose a workspace directory, and enable Onboarding. CodePilot creates soul.md, user.md, claude.md, and memory.md at the workspace root.
  4. Add MCP servers (optional) — Go to the MCP page in the sidebar to add and manage MCP servers. Custom skills are managed on the separate Skills page.
  5. Install Claude Code CLI (optional) — For advanced features like file editing and terminal commands, install the CLI: npm install -g @anthropic-ai/claude-code

Platform & Installation Notes

macOS stable builds are signed with Developer ID, notarized, stapled, and verified by Gatekeeper. If macOS reports that the developer cannot be verified or the file is damaged, stop and report it instead of bypassing the warning. Windows builds are unsigned and may show SmartScreen. After manually installing the first Windows updater-capable release, later stable versions can update in-app from the official op7418/CodePilot GitHub Release; the app verifies the metadata SHA-512 but does not claim independent Authenticode publisher verification. Linux updates remain manual.

macOS: Gatekeeper rejects the download
  1. Delete the rejected copy and download it again from the official GitHub Release.
  2. Verify the file against SHA256SUMS.txt from the same Release.
  3. If Gatekeeper still rejects it, do not remove quarantine attributes or bypass the warning; report the macOS version, download URL, and checksum on GitHub Issues.
Windows: SmartScreen blocks the installer

Verify the installer against SHA256SUMS.txt from the same official Release first. If the checksum matches and the source is op7418/CodePilot, click "More info", then "Run anyway". If organization policy removes that option, contact the device administrator instead of weakening system-wide protection.


Documentation

📖 Full documentation:English | 中文

Getting started:

User guides:

  • Providers -- Configuring AI providers and custom endpoints
  • MCP Servers -- Adding and managing Model Context Protocol servers
  • Skills -- Custom skills, project skills, and the skills.sh marketplace
  • Bridge -- Remote control via Telegram, Feishu, Discord, QQ, WeChat
  • Assistant Workspace -- Persona files, onboarding, memory, daily check-ins
  • FAQ -- Common issues and solutions

Developer docs:


FAQ

Do I need the Claude Code CLI?

No. You can use CodePilot with any supported provider (OpenRouter, Zhipu GLM, Volcengine, Ollama, etc.) without the Claude Code CLI. The CLI is only needed if you want Claude to directly edit files, run terminal commands, or use git operations on your machine. For chat and assistant features, just configure a provider and start a conversation.

Configured a Provider but no models appear

Verify the API key is valid and the endpoint is reachable. Some providers (Bedrock, Vertex) require additional environment variables or IAM configuration beyond the API key. Use the built-in diagnostics (Settings > Providers > Run Diagnostics) to check connectivity.

What is the difference between npm run dev and npm run electron:dev?

npm run dev starts only the Next.js dev server -- you use CodePilot in your browser at http://localhost:3000. npm run electron:dev starts both Next.js and the Electron shell, giving you the full desktop app experience with native window controls.

Where are the Assistant Workspace files?

When you set up a workspace, CodePilot creates four Markdown files at the workspace root directory: soul.md (personality), user.md (user profile), claude.md (rules), and memory.md (long-term notes). State tracking (onboarding progress, check-in dates) is stored in the .assistant/ subdirectory. Daily memories go to memory/daily/.

Bridge requires additional setup per platform

Each Bridge channel (Telegram, Feishu, Discord, QQ, WeChat) requires its own bot token or app credentials. Go to the Bridge page in the sidebar to configure channels. You will need to create a bot on the target platform first and provide the token to CodePilot.


Community

WeChat Group QR Code

Scan the QR code to join the WeChat user group for discussions, feedback, and updates.


Contributing

  1. Fork the repository and create a feature branch
  2. npm install and npm run electron:dev to develop locally
  3. Run npm run test before opening a PR
  4. Submit a PR against main with a clear description

Keep PRs focused -- one feature or fix per pull request.

Development commands
npm run dev # Next.js dev server (browser)
npm run electron:dev # Full Electron app (dev mode)
npm run build # Production build
npm run electron:build # Build Electron distributable
npm run electron:pack:mac # macOS DMG (arm64 + x64)
npm run electron:pack:win # Windows NSIS installer
npm run electron:pack:linux # Linux AppImage, deb, rpm

CI/CD: Pushing a stable vX.Y.Z tag builds signed/notarized macOS arm64, x64, and universal packages plus latest-mac.yml; an unsigned Windows x64 NSIS updater plus latest.yml; and Linux arm64/x64 manual packages. The Release is made public only after signing/notarization where applicable, packaged health, checksum, attestation, Intel ABI, GitHub single-trust-root safeguards, and complete asset-graph checks pass. The unsigned Windows trust gate requires a fresh administrator audit of immutable Releases and no-bypass branch/tag rulesets; Actions compares the live ruleset IDs and update timestamps with that audit and fails closed on drift. Windows publishes an EXE blockmap for opportunistic differential updates with full-installer fallback; Linux updater metadata is intentionally not published.

Notes:

  • Electron forks a Next.js standalone server on 127.0.0.1 with a random free port
  • Chat data is stored in ~/.codepilot/codepilot.db (dev mode: ./data/)
  • SQLite uses WAL mode for fast concurrent reads

License

Business Source License 1.1 (BSL-1.1)

  • Personal / academic / non-profit use: free and unrestricted
  • Commercial use: requires a separate license — contact @op7418 on X
  • Change date: 2029-03-16 — after which the code converts to Apache 2.0

About

A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - youcho2/CodePilot: A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js. · GitHub
Skip to content

Latest commit

History

1,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodePilot CodePilot

A multi-model AI agent desktop client -- connect any AI provider, extend with MCP & skills, control from your phone, and let your assistant learn your workflow.

GitHub releaseDownloadsGitHub starsPlatformLicense

中文文档 | 日本語


CodePilot


Download | Quick Start | Documentation | Contributing | Community


Download

PlatformDownloadArchitecture
macOSApple Silicon (.dmg) · Intel (.dmg)arm64 / x64
WindowsInstaller (.exe)x64
LinuxAppImage / deb / rpmx64 / arm64

Official macOS stable builds can check, download, and install signed updates in the app. After manually installing the first supported Windows version, later Windows releases can update in the app using unsigned packages from the official GitHub Release; Linux releases remain manual downloads.

Or visit the Releases page for all versions.


Why CodePilot

Multi-provider, one interface

Connect to 17+ AI providers out of the box. Switch providers and models mid-conversation without losing context.

CategoryProviders
Direct APIAnthropic, OpenRouter
Cloud platformsAWS Bedrock, Google Vertex AI
Chinese AI providersZhipu GLM (CN/Global), Kimi, Moonshot, MiniMax (CN/Global), Volcengine Ark (Doubao), Xiaomi MiMo, Aliyun Bailian (Qwen)
Local & self-hostedOllama, LiteLLM
CustomAny Anthropic-compatible or OpenAI-compatible endpoint
MediaGoogle Gemini (image generation)

Beyond coding — a full AI agent

CodePilot started as a coding tool but has grown into a general-purpose AI agent desktop:

  • Assistant Workspace — Persona files, persistent memory, onboarding flows, and daily check-ins. Your assistant learns your preferences and adapts over time.
  • Generative UI — AI can create interactive dashboards, charts, and visual widgets rendered live in-app.
  • Remote Bridge — Connect to Telegram, Feishu, Discord, QQ, and WeChat. Send messages from your phone, get responses on your desktop.
  • MCP + Skills — Add MCP servers (stdio / sse / http) with runtime monitoring. Define reusable skills or install from the skills.sh marketplace.
  • Media Studio — AI image generation with batch tasks, gallery, and tagging.
  • Task Scheduler — Schedule recurring tasks with cron expressions or intervals.

Built for daily use

  • Pause, resume, and rewind sessions to any checkpoint
  • Split-screen dual sessions side by side
  • Track token usage and costs with daily charts
  • Import Claude Code CLI session history
  • Dark / Light theme toggle
  • English + Chinese interface

Quick Start

Path A: Download a release (most users)

  1. Download the installer for your platform from the Download section above
  2. Launch CodePilot
  3. Configure a Provider in Settings > Providers — add your API key for any supported provider
  4. Start a conversation

Note: Installing the Claude Code CLI (npm install -g @anthropic-ai/claude-code) unlocks additional capabilities like direct file editing, terminal commands, and git operations. It is recommended but not required for basic chat.

Path B: Build from source (developers)

PrerequisiteMinimum version
Node.js18+
npm9+ (ships with Node 18)
git clone https://github.com/op7418/CodePilot.git
cd CodePilot
npm install
npm run dev # browser mode at http://localhost:3000# -- or --
npm run electron:dev # full desktop app

Core Capabilities

Conversation & Interaction

CapabilityDetails
Interaction modesCode / Plan / Ask
Reasoning effortLow / Medium / High / Max + Thinking mode
Permission controlDefault / Full Access, per-action approval
Session controlPause, resume, rewind to checkpoint, archive
Model switchingChange model mid-conversation
Split screenSide-by-side dual sessions
AttachmentsFiles and images with multimodal vision support
Slash commands/help /clear /cost /compact /doctor /review and more

Extensions & Integrations

CapabilityDetails
Providers17+ providers: Anthropic, OpenRouter, Bedrock, Vertex, Zhipu GLM, Kimi, Moonshot, MiniMax, Volcengine, MiMo, Bailian, Ollama, LiteLLM, custom endpoints
MCP serversstdio / sse / http, runtime status monitoring
SkillsCustom / project / global skills, skills.sh marketplace
BridgeTelegram / Feishu / Discord / QQ / WeChat remote control
CLI importImport Claude Code CLI .jsonl session history
Image generationGemini image gen, batch tasks, gallery

Data & Workspace

CapabilityDetails
Assistant WorkspacePersona files (soul.md, user.md, claude.md, memory.md), onboarding, daily check-ins, persistent memory
Generative UIAI-created interactive dashboards and visual widgets
File browserProject file tree with syntax-highlighted preview
Git panelStatus, branches, commits, worktree management
Usage analyticsToken counts, cost estimates, daily usage charts
Task schedulerCron-based and interval scheduling with persistence
Local storageSQLite (WAL mode), all data stays on your machine
i18nEnglish + Chinese
ThemesDark / Light, one-click toggle

First Launch

  1. Configure a Provider — Go to Settings > Providers and add credentials for the provider you want to use. CodePilot includes presets for all major providers — just pick one and enter your API key.
  2. Create a conversation — Pick a working directory, select a mode (Code / Plan / Ask), and choose a model.
  3. Set up Assistant Workspace (optional) — Go to Settings > Assistant, choose a workspace directory, and enable Onboarding. CodePilot creates soul.md, user.md, claude.md, and memory.md at the workspace root.
  4. Add MCP servers (optional) — Go to the MCP page in the sidebar to add and manage MCP servers. Custom skills are managed on the separate Skills page.
  5. Install Claude Code CLI (optional) — For advanced features like file editing and terminal commands, install the CLI: npm install -g @anthropic-ai/claude-code

Platform & Installation Notes

macOS stable builds are signed with Developer ID, notarized, stapled, and verified by Gatekeeper. If macOS reports that the developer cannot be verified or the file is damaged, stop and report it instead of bypassing the warning. Windows builds are unsigned and may show SmartScreen. After manually installing the first Windows updater-capable release, later stable versions can update in-app from the official op7418/CodePilot GitHub Release; the app verifies the metadata SHA-512 but does not claim independent Authenticode publisher verification. Linux updates remain manual.

macOS: Gatekeeper rejects the download
  1. Delete the rejected copy and download it again from the official GitHub Release.
  2. Verify the file against SHA256SUMS.txt from the same Release.
  3. If Gatekeeper still rejects it, do not remove quarantine attributes or bypass the warning; report the macOS version, download URL, and checksum on GitHub Issues.
Windows: SmartScreen blocks the installer

Verify the installer against SHA256SUMS.txt from the same official Release first. If the checksum matches and the source is op7418/CodePilot, click "More info", then "Run anyway". If organization policy removes that option, contact the device administrator instead of weakening system-wide protection.


Documentation

📖 Full documentation:English | 中文

Getting started:

User guides:

  • Providers -- Configuring AI providers and custom endpoints
  • MCP Servers -- Adding and managing Model Context Protocol servers
  • Skills -- Custom skills, project skills, and the skills.sh marketplace
  • Bridge -- Remote control via Telegram, Feishu, Discord, QQ, WeChat
  • Assistant Workspace -- Persona files, onboarding, memory, daily check-ins
  • FAQ -- Common issues and solutions

Developer docs:


FAQ

Do I need the Claude Code CLI?

No. You can use CodePilot with any supported provider (OpenRouter, Zhipu GLM, Volcengine, Ollama, etc.) without the Claude Code CLI. The CLI is only needed if you want Claude to directly edit files, run terminal commands, or use git operations on your machine. For chat and assistant features, just configure a provider and start a conversation.

Configured a Provider but no models appear

Verify the API key is valid and the endpoint is reachable. Some providers (Bedrock, Vertex) require additional environment variables or IAM configuration beyond the API key. Use the built-in diagnostics (Settings > Providers > Run Diagnostics) to check connectivity.

What is the difference between npm run dev and npm run electron:dev?

npm run dev starts only the Next.js dev server -- you use CodePilot in your browser at http://localhost:3000. npm run electron:dev starts both Next.js and the Electron shell, giving you the full desktop app experience with native window controls.

Where are the Assistant Workspace files?

When you set up a workspace, CodePilot creates four Markdown files at the workspace root directory: soul.md (personality), user.md (user profile), claude.md (rules), and memory.md (long-term notes). State tracking (onboarding progress, check-in dates) is stored in the .assistant/ subdirectory. Daily memories go to memory/daily/.

Bridge requires additional setup per platform

Each Bridge channel (Telegram, Feishu, Discord, QQ, WeChat) requires its own bot token or app credentials. Go to the Bridge page in the sidebar to configure channels. You will need to create a bot on the target platform first and provide the token to CodePilot.


Community

WeChat Group QR Code

Scan the QR code to join the WeChat user group for discussions, feedback, and updates.


Contributing

  1. Fork the repository and create a feature branch
  2. npm install and npm run electron:dev to develop locally
  3. Run npm run test before opening a PR
  4. Submit a PR against main with a clear description

Keep PRs focused -- one feature or fix per pull request.

Development commands
npm run dev # Next.js dev server (browser)
npm run electron:dev # Full Electron app (dev mode)
npm run build # Production build
npm run electron:build # Build Electron distributable
npm run electron:pack:mac # macOS DMG (arm64 + x64)
npm run electron:pack:win # Windows NSIS installer
npm run electron:pack:linux # Linux AppImage, deb, rpm

CI/CD: Pushing a stable vX.Y.Z tag builds signed/notarized macOS arm64, x64, and universal packages plus latest-mac.yml; an unsigned Windows x64 NSIS updater plus latest.yml; and Linux arm64/x64 manual packages. The Release is made public only after signing/notarization where applicable, packaged health, checksum, attestation, Intel ABI, GitHub single-trust-root safeguards, and complete asset-graph checks pass. The unsigned Windows trust gate requires a fresh administrator audit of immutable Releases and no-bypass branch/tag rulesets; Actions compares the live ruleset IDs and update timestamps with that audit and fails closed on drift. Windows publishes an EXE blockmap for opportunistic differential updates with full-installer fallback; Linux updater metadata is intentionally not published.

Notes:

  • Electron forks a Next.js standalone server on 127.0.0.1 with a random free port
  • Chat data is stored in ~/.codepilot/codepilot.db (dev mode: ./data/)
  • SQLite uses WAL mode for fast concurrent reads

License

Business Source License 1.1 (BSL-1.1)

  • Personal / academic / non-profit use: free and unrestricted
  • Commercial use: requires a separate license — contact @op7418 on X
  • Change date: 2029-03-16 — after which the code converts to Apache 2.0

About

A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - youcho2/CodePilot: A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js. · GitHub
Skip to content

Latest commit

History

1,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodePilot CodePilot

A multi-model AI agent desktop client -- connect any AI provider, extend with MCP & skills, control from your phone, and let your assistant learn your workflow.

GitHub releaseDownloadsGitHub starsPlatformLicense

中文文档 | 日本語


CodePilot


Download | Quick Start | Documentation | Contributing | Community


Download

PlatformDownloadArchitecture
macOSApple Silicon (.dmg) · Intel (.dmg)arm64 / x64
WindowsInstaller (.exe)x64
LinuxAppImage / deb / rpmx64 / arm64

Official macOS stable builds can check, download, and install signed updates in the app. After manually installing the first supported Windows version, later Windows releases can update in the app using unsigned packages from the official GitHub Release; Linux releases remain manual downloads.

Or visit the Releases page for all versions.


Why CodePilot

Multi-provider, one interface

Connect to 17+ AI providers out of the box. Switch providers and models mid-conversation without losing context.

CategoryProviders
Direct APIAnthropic, OpenRouter
Cloud platformsAWS Bedrock, Google Vertex AI
Chinese AI providersZhipu GLM (CN/Global), Kimi, Moonshot, MiniMax (CN/Global), Volcengine Ark (Doubao), Xiaomi MiMo, Aliyun Bailian (Qwen)
Local & self-hostedOllama, LiteLLM
CustomAny Anthropic-compatible or OpenAI-compatible endpoint
MediaGoogle Gemini (image generation)

Beyond coding — a full AI agent

CodePilot started as a coding tool but has grown into a general-purpose AI agent desktop:

  • Assistant Workspace — Persona files, persistent memory, onboarding flows, and daily check-ins. Your assistant learns your preferences and adapts over time.
  • Generative UI — AI can create interactive dashboards, charts, and visual widgets rendered live in-app.
  • Remote Bridge — Connect to Telegram, Feishu, Discord, QQ, and WeChat. Send messages from your phone, get responses on your desktop.
  • MCP + Skills — Add MCP servers (stdio / sse / http) with runtime monitoring. Define reusable skills or install from the skills.sh marketplace.
  • Media Studio — AI image generation with batch tasks, gallery, and tagging.
  • Task Scheduler — Schedule recurring tasks with cron expressions or intervals.

Built for daily use

  • Pause, resume, and rewind sessions to any checkpoint
  • Split-screen dual sessions side by side
  • Track token usage and costs with daily charts
  • Import Claude Code CLI session history
  • Dark / Light theme toggle
  • English + Chinese interface

Quick Start

Path A: Download a release (most users)

  1. Download the installer for your platform from the Download section above
  2. Launch CodePilot
  3. Configure a Provider in Settings > Providers — add your API key for any supported provider
  4. Start a conversation

Note: Installing the Claude Code CLI (npm install -g @anthropic-ai/claude-code) unlocks additional capabilities like direct file editing, terminal commands, and git operations. It is recommended but not required for basic chat.

Path B: Build from source (developers)

PrerequisiteMinimum version
Node.js18+
npm9+ (ships with Node 18)
git clone https://github.com/op7418/CodePilot.git
cd CodePilot
npm install
npm run dev # browser mode at http://localhost:3000# -- or --
npm run electron:dev # full desktop app

Core Capabilities

Conversation & Interaction

CapabilityDetails
Interaction modesCode / Plan / Ask
Reasoning effortLow / Medium / High / Max + Thinking mode
Permission controlDefault / Full Access, per-action approval
Session controlPause, resume, rewind to checkpoint, archive
Model switchingChange model mid-conversation
Split screenSide-by-side dual sessions
AttachmentsFiles and images with multimodal vision support
Slash commands/help /clear /cost /compact /doctor /review and more

Extensions & Integrations

CapabilityDetails
Providers17+ providers: Anthropic, OpenRouter, Bedrock, Vertex, Zhipu GLM, Kimi, Moonshot, MiniMax, Volcengine, MiMo, Bailian, Ollama, LiteLLM, custom endpoints
MCP serversstdio / sse / http, runtime status monitoring
SkillsCustom / project / global skills, skills.sh marketplace
BridgeTelegram / Feishu / Discord / QQ / WeChat remote control
CLI importImport Claude Code CLI .jsonl session history
Image generationGemini image gen, batch tasks, gallery

Data & Workspace

CapabilityDetails
Assistant WorkspacePersona files (soul.md, user.md, claude.md, memory.md), onboarding, daily check-ins, persistent memory
Generative UIAI-created interactive dashboards and visual widgets
File browserProject file tree with syntax-highlighted preview
Git panelStatus, branches, commits, worktree management
Usage analyticsToken counts, cost estimates, daily usage charts
Task schedulerCron-based and interval scheduling with persistence
Local storageSQLite (WAL mode), all data stays on your machine
i18nEnglish + Chinese
ThemesDark / Light, one-click toggle

First Launch

  1. Configure a Provider — Go to Settings > Providers and add credentials for the provider you want to use. CodePilot includes presets for all major providers — just pick one and enter your API key.
  2. Create a conversation — Pick a working directory, select a mode (Code / Plan / Ask), and choose a model.
  3. Set up Assistant Workspace (optional) — Go to Settings > Assistant, choose a workspace directory, and enable Onboarding. CodePilot creates soul.md, user.md, claude.md, and memory.md at the workspace root.
  4. Add MCP servers (optional) — Go to the MCP page in the sidebar to add and manage MCP servers. Custom skills are managed on the separate Skills page.
  5. Install Claude Code CLI (optional) — For advanced features like file editing and terminal commands, install the CLI: npm install -g @anthropic-ai/claude-code

Platform & Installation Notes

macOS stable builds are signed with Developer ID, notarized, stapled, and verified by Gatekeeper. If macOS reports that the developer cannot be verified or the file is damaged, stop and report it instead of bypassing the warning. Windows builds are unsigned and may show SmartScreen. After manually installing the first Windows updater-capable release, later stable versions can update in-app from the official op7418/CodePilot GitHub Release; the app verifies the metadata SHA-512 but does not claim independent Authenticode publisher verification. Linux updates remain manual.

macOS: Gatekeeper rejects the download
  1. Delete the rejected copy and download it again from the official GitHub Release.
  2. Verify the file against SHA256SUMS.txt from the same Release.
  3. If Gatekeeper still rejects it, do not remove quarantine attributes or bypass the warning; report the macOS version, download URL, and checksum on GitHub Issues.
Windows: SmartScreen blocks the installer

Verify the installer against SHA256SUMS.txt from the same official Release first. If the checksum matches and the source is op7418/CodePilot, click "More info", then "Run anyway". If organization policy removes that option, contact the device administrator instead of weakening system-wide protection.


Documentation

📖 Full documentation:English | 中文

Getting started:

User guides:

  • Providers -- Configuring AI providers and custom endpoints
  • MCP Servers -- Adding and managing Model Context Protocol servers
  • Skills -- Custom skills, project skills, and the skills.sh marketplace
  • Bridge -- Remote control via Telegram, Feishu, Discord, QQ, WeChat
  • Assistant Workspace -- Persona files, onboarding, memory, daily check-ins
  • FAQ -- Common issues and solutions

Developer docs:


FAQ

Do I need the Claude Code CLI?

No. You can use CodePilot with any supported provider (OpenRouter, Zhipu GLM, Volcengine, Ollama, etc.) without the Claude Code CLI. The CLI is only needed if you want Claude to directly edit files, run terminal commands, or use git operations on your machine. For chat and assistant features, just configure a provider and start a conversation.

Configured a Provider but no models appear

Verify the API key is valid and the endpoint is reachable. Some providers (Bedrock, Vertex) require additional environment variables or IAM configuration beyond the API key. Use the built-in diagnostics (Settings > Providers > Run Diagnostics) to check connectivity.

What is the difference between npm run dev and npm run electron:dev?

npm run dev starts only the Next.js dev server -- you use CodePilot in your browser at http://localhost:3000. npm run electron:dev starts both Next.js and the Electron shell, giving you the full desktop app experience with native window controls.

Where are the Assistant Workspace files?

When you set up a workspace, CodePilot creates four Markdown files at the workspace root directory: soul.md (personality), user.md (user profile), claude.md (rules), and memory.md (long-term notes). State tracking (onboarding progress, check-in dates) is stored in the .assistant/ subdirectory. Daily memories go to memory/daily/.

Bridge requires additional setup per platform

Each Bridge channel (Telegram, Feishu, Discord, QQ, WeChat) requires its own bot token or app credentials. Go to the Bridge page in the sidebar to configure channels. You will need to create a bot on the target platform first and provide the token to CodePilot.


Community

WeChat Group QR Code

Scan the QR code to join the WeChat user group for discussions, feedback, and updates.


Contributing

  1. Fork the repository and create a feature branch
  2. npm install and npm run electron:dev to develop locally
  3. Run npm run test before opening a PR
  4. Submit a PR against main with a clear description

Keep PRs focused -- one feature or fix per pull request.

Development commands
npm run dev # Next.js dev server (browser)
npm run electron:dev # Full Electron app (dev mode)
npm run build # Production build
npm run electron:build # Build Electron distributable
npm run electron:pack:mac # macOS DMG (arm64 + x64)
npm run electron:pack:win # Windows NSIS installer
npm run electron:pack:linux # Linux AppImage, deb, rpm

CI/CD: Pushing a stable vX.Y.Z tag builds signed/notarized macOS arm64, x64, and universal packages plus latest-mac.yml; an unsigned Windows x64 NSIS updater plus latest.yml; and Linux arm64/x64 manual packages. The Release is made public only after signing/notarization where applicable, packaged health, checksum, attestation, Intel ABI, GitHub single-trust-root safeguards, and complete asset-graph checks pass. The unsigned Windows trust gate requires a fresh administrator audit of immutable Releases and no-bypass branch/tag rulesets; Actions compares the live ruleset IDs and update timestamps with that audit and fails closed on drift. Windows publishes an EXE blockmap for opportunistic differential updates with full-installer fallback; Linux updater metadata is intentionally not published.

Notes:

  • Electron forks a Next.js standalone server on 127.0.0.1 with a random free port
  • Chat data is stored in ~/.codepilot/codepilot.db (dev mode: ./data/)
  • SQLite uses WAL mode for fast concurrent reads

License

Business Source License 1.1 (BSL-1.1)

  • Personal / academic / non-profit use: free and unrestricted
  • Commercial use: requires a separate license — contact @op7418 on X
  • Change date: 2029-03-16 — after which the code converts to Apache 2.0

About

A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - youcho2/CodePilot: A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js. · GitHub
Skip to content

Latest commit

History

1,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodePilot CodePilot

A multi-model AI agent desktop client -- connect any AI provider, extend with MCP & skills, control from your phone, and let your assistant learn your workflow.

GitHub releaseDownloadsGitHub starsPlatformLicense

中文文档 | 日本語


CodePilot


Download | Quick Start | Documentation | Contributing | Community


Download

PlatformDownloadArchitecture
macOSApple Silicon (.dmg) · Intel (.dmg)arm64 / x64
WindowsInstaller (.exe)x64
LinuxAppImage / deb / rpmx64 / arm64

Official macOS stable builds can check, download, and install signed updates in the app. After manually installing the first supported Windows version, later Windows releases can update in the app using unsigned packages from the official GitHub Release; Linux releases remain manual downloads.

Or visit the Releases page for all versions.


Why CodePilot

Multi-provider, one interface

Connect to 17+ AI providers out of the box. Switch providers and models mid-conversation without losing context.

CategoryProviders
Direct APIAnthropic, OpenRouter
Cloud platformsAWS Bedrock, Google Vertex AI
Chinese AI providersZhipu GLM (CN/Global), Kimi, Moonshot, MiniMax (CN/Global), Volcengine Ark (Doubao), Xiaomi MiMo, Aliyun Bailian (Qwen)
Local & self-hostedOllama, LiteLLM
CustomAny Anthropic-compatible or OpenAI-compatible endpoint
MediaGoogle Gemini (image generation)

Beyond coding — a full AI agent

CodePilot started as a coding tool but has grown into a general-purpose AI agent desktop:

  • Assistant Workspace — Persona files, persistent memory, onboarding flows, and daily check-ins. Your assistant learns your preferences and adapts over time.
  • Generative UI — AI can create interactive dashboards, charts, and visual widgets rendered live in-app.
  • Remote Bridge — Connect to Telegram, Feishu, Discord, QQ, and WeChat. Send messages from your phone, get responses on your desktop.
  • MCP + Skills — Add MCP servers (stdio / sse / http) with runtime monitoring. Define reusable skills or install from the skills.sh marketplace.
  • Media Studio — AI image generation with batch tasks, gallery, and tagging.
  • Task Scheduler — Schedule recurring tasks with cron expressions or intervals.

Built for daily use

  • Pause, resume, and rewind sessions to any checkpoint
  • Split-screen dual sessions side by side
  • Track token usage and costs with daily charts
  • Import Claude Code CLI session history
  • Dark / Light theme toggle
  • English + Chinese interface

Quick Start

Path A: Download a release (most users)

  1. Download the installer for your platform from the Download section above
  2. Launch CodePilot
  3. Configure a Provider in Settings > Providers — add your API key for any supported provider
  4. Start a conversation

Note: Installing the Claude Code CLI (npm install -g @anthropic-ai/claude-code) unlocks additional capabilities like direct file editing, terminal commands, and git operations. It is recommended but not required for basic chat.

Path B: Build from source (developers)

PrerequisiteMinimum version
Node.js18+
npm9+ (ships with Node 18)
git clone https://github.com/op7418/CodePilot.git
cd CodePilot
npm install
npm run dev # browser mode at http://localhost:3000# -- or --
npm run electron:dev # full desktop app

Core Capabilities

Conversation & Interaction

CapabilityDetails
Interaction modesCode / Plan / Ask
Reasoning effortLow / Medium / High / Max + Thinking mode
Permission controlDefault / Full Access, per-action approval
Session controlPause, resume, rewind to checkpoint, archive
Model switchingChange model mid-conversation
Split screenSide-by-side dual sessions
AttachmentsFiles and images with multimodal vision support
Slash commands/help /clear /cost /compact /doctor /review and more

Extensions & Integrations

CapabilityDetails
Providers17+ providers: Anthropic, OpenRouter, Bedrock, Vertex, Zhipu GLM, Kimi, Moonshot, MiniMax, Volcengine, MiMo, Bailian, Ollama, LiteLLM, custom endpoints
MCP serversstdio / sse / http, runtime status monitoring
SkillsCustom / project / global skills, skills.sh marketplace
BridgeTelegram / Feishu / Discord / QQ / WeChat remote control
CLI importImport Claude Code CLI .jsonl session history
Image generationGemini image gen, batch tasks, gallery

Data & Workspace

CapabilityDetails
Assistant WorkspacePersona files (soul.md, user.md, claude.md, memory.md), onboarding, daily check-ins, persistent memory
Generative UIAI-created interactive dashboards and visual widgets
File browserProject file tree with syntax-highlighted preview
Git panelStatus, branches, commits, worktree management
Usage analyticsToken counts, cost estimates, daily usage charts
Task schedulerCron-based and interval scheduling with persistence
Local storageSQLite (WAL mode), all data stays on your machine
i18nEnglish + Chinese
ThemesDark / Light, one-click toggle

First Launch

  1. Configure a Provider — Go to Settings > Providers and add credentials for the provider you want to use. CodePilot includes presets for all major providers — just pick one and enter your API key.
  2. Create a conversation — Pick a working directory, select a mode (Code / Plan / Ask), and choose a model.
  3. Set up Assistant Workspace (optional) — Go to Settings > Assistant, choose a workspace directory, and enable Onboarding. CodePilot creates soul.md, user.md, claude.md, and memory.md at the workspace root.
  4. Add MCP servers (optional) — Go to the MCP page in the sidebar to add and manage MCP servers. Custom skills are managed on the separate Skills page.
  5. Install Claude Code CLI (optional) — For advanced features like file editing and terminal commands, install the CLI: npm install -g @anthropic-ai/claude-code

Platform & Installation Notes

macOS stable builds are signed with Developer ID, notarized, stapled, and verified by Gatekeeper. If macOS reports that the developer cannot be verified or the file is damaged, stop and report it instead of bypassing the warning. Windows builds are unsigned and may show SmartScreen. After manually installing the first Windows updater-capable release, later stable versions can update in-app from the official op7418/CodePilot GitHub Release; the app verifies the metadata SHA-512 but does not claim independent Authenticode publisher verification. Linux updates remain manual.

macOS: Gatekeeper rejects the download
  1. Delete the rejected copy and download it again from the official GitHub Release.
  2. Verify the file against SHA256SUMS.txt from the same Release.
  3. If Gatekeeper still rejects it, do not remove quarantine attributes or bypass the warning; report the macOS version, download URL, and checksum on GitHub Issues.
Windows: SmartScreen blocks the installer

Verify the installer against SHA256SUMS.txt from the same official Release first. If the checksum matches and the source is op7418/CodePilot, click "More info", then "Run anyway". If organization policy removes that option, contact the device administrator instead of weakening system-wide protection.


Documentation

📖 Full documentation:English | 中文

Getting started:

User guides:

  • Providers -- Configuring AI providers and custom endpoints
  • MCP Servers -- Adding and managing Model Context Protocol servers
  • Skills -- Custom skills, project skills, and the skills.sh marketplace
  • Bridge -- Remote control via Telegram, Feishu, Discord, QQ, WeChat
  • Assistant Workspace -- Persona files, onboarding, memory, daily check-ins
  • FAQ -- Common issues and solutions

Developer docs:


FAQ

Do I need the Claude Code CLI?

No. You can use CodePilot with any supported provider (OpenRouter, Zhipu GLM, Volcengine, Ollama, etc.) without the Claude Code CLI. The CLI is only needed if you want Claude to directly edit files, run terminal commands, or use git operations on your machine. For chat and assistant features, just configure a provider and start a conversation.

Configured a Provider but no models appear

Verify the API key is valid and the endpoint is reachable. Some providers (Bedrock, Vertex) require additional environment variables or IAM configuration beyond the API key. Use the built-in diagnostics (Settings > Providers > Run Diagnostics) to check connectivity.

What is the difference between npm run dev and npm run electron:dev?

npm run dev starts only the Next.js dev server -- you use CodePilot in your browser at http://localhost:3000. npm run electron:dev starts both Next.js and the Electron shell, giving you the full desktop app experience with native window controls.

Where are the Assistant Workspace files?

When you set up a workspace, CodePilot creates four Markdown files at the workspace root directory: soul.md (personality), user.md (user profile), claude.md (rules), and memory.md (long-term notes). State tracking (onboarding progress, check-in dates) is stored in the .assistant/ subdirectory. Daily memories go to memory/daily/.

Bridge requires additional setup per platform

Each Bridge channel (Telegram, Feishu, Discord, QQ, WeChat) requires its own bot token or app credentials. Go to the Bridge page in the sidebar to configure channels. You will need to create a bot on the target platform first and provide the token to CodePilot.


Community

WeChat Group QR Code

Scan the QR code to join the WeChat user group for discussions, feedback, and updates.


Contributing

  1. Fork the repository and create a feature branch
  2. npm install and npm run electron:dev to develop locally
  3. Run npm run test before opening a PR
  4. Submit a PR against main with a clear description

Keep PRs focused -- one feature or fix per pull request.

Development commands
npm run dev # Next.js dev server (browser)
npm run electron:dev # Full Electron app (dev mode)
npm run build # Production build
npm run electron:build # Build Electron distributable
npm run electron:pack:mac # macOS DMG (arm64 + x64)
npm run electron:pack:win # Windows NSIS installer
npm run electron:pack:linux # Linux AppImage, deb, rpm

CI/CD: Pushing a stable vX.Y.Z tag builds signed/notarized macOS arm64, x64, and universal packages plus latest-mac.yml; an unsigned Windows x64 NSIS updater plus latest.yml; and Linux arm64/x64 manual packages. The Release is made public only after signing/notarization where applicable, packaged health, checksum, attestation, Intel ABI, GitHub single-trust-root safeguards, and complete asset-graph checks pass. The unsigned Windows trust gate requires a fresh administrator audit of immutable Releases and no-bypass branch/tag rulesets; Actions compares the live ruleset IDs and update timestamps with that audit and fails closed on drift. Windows publishes an EXE blockmap for opportunistic differential updates with full-installer fallback; Linux updater metadata is intentionally not published.

Notes:

  • Electron forks a Next.js standalone server on 127.0.0.1 with a random free port
  • Chat data is stored in ~/.codepilot/codepilot.db (dev mode: ./data/)
  • SQLite uses WAL mode for fast concurrent reads

License

Business Source License 1.1 (BSL-1.1)

  • Personal / academic / non-profit use: free and unrestricted
  • Commercial use: requires a separate license — contact @op7418 on X
  • Change date: 2029-03-16 — after which the code converts to Apache 2.0

About

A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - youcho2/CodePilot: A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js. · GitHub
Skip to content

Latest commit

History

1,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodePilot CodePilot

A multi-model AI agent desktop client -- connect any AI provider, extend with MCP & skills, control from your phone, and let your assistant learn your workflow.

GitHub releaseDownloadsGitHub starsPlatformLicense

中文文档 | 日本語


CodePilot


Download | Quick Start | Documentation | Contributing | Community


Download

PlatformDownloadArchitecture
macOSApple Silicon (.dmg) · Intel (.dmg)arm64 / x64
WindowsInstaller (.exe)x64
LinuxAppImage / deb / rpmx64 / arm64

Official macOS stable builds can check, download, and install signed updates in the app. After manually installing the first supported Windows version, later Windows releases can update in the app using unsigned packages from the official GitHub Release; Linux releases remain manual downloads.

Or visit the Releases page for all versions.


Why CodePilot

Multi-provider, one interface

Connect to 17+ AI providers out of the box. Switch providers and models mid-conversation without losing context.

CategoryProviders
Direct APIAnthropic, OpenRouter
Cloud platformsAWS Bedrock, Google Vertex AI
Chinese AI providersZhipu GLM (CN/Global), Kimi, Moonshot, MiniMax (CN/Global), Volcengine Ark (Doubao), Xiaomi MiMo, Aliyun Bailian (Qwen)
Local & self-hostedOllama, LiteLLM
CustomAny Anthropic-compatible or OpenAI-compatible endpoint
MediaGoogle Gemini (image generation)

Beyond coding — a full AI agent

CodePilot started as a coding tool but has grown into a general-purpose AI agent desktop:

  • Assistant Workspace — Persona files, persistent memory, onboarding flows, and daily check-ins. Your assistant learns your preferences and adapts over time.
  • Generative UI — AI can create interactive dashboards, charts, and visual widgets rendered live in-app.
  • Remote Bridge — Connect to Telegram, Feishu, Discord, QQ, and WeChat. Send messages from your phone, get responses on your desktop.
  • MCP + Skills — Add MCP servers (stdio / sse / http) with runtime monitoring. Define reusable skills or install from the skills.sh marketplace.
  • Media Studio — AI image generation with batch tasks, gallery, and tagging.
  • Task Scheduler — Schedule recurring tasks with cron expressions or intervals.

Built for daily use

  • Pause, resume, and rewind sessions to any checkpoint
  • Split-screen dual sessions side by side
  • Track token usage and costs with daily charts
  • Import Claude Code CLI session history
  • Dark / Light theme toggle
  • English + Chinese interface

Quick Start

Path A: Download a release (most users)

  1. Download the installer for your platform from the Download section above
  2. Launch CodePilot
  3. Configure a Provider in Settings > Providers — add your API key for any supported provider
  4. Start a conversation

Note: Installing the Claude Code CLI (npm install -g @anthropic-ai/claude-code) unlocks additional capabilities like direct file editing, terminal commands, and git operations. It is recommended but not required for basic chat.

Path B: Build from source (developers)

PrerequisiteMinimum version
Node.js18+
npm9+ (ships with Node 18)
git clone https://github.com/op7418/CodePilot.git
cd CodePilot
npm install
npm run dev # browser mode at http://localhost:3000# -- or --
npm run electron:dev # full desktop app

Core Capabilities

Conversation & Interaction

CapabilityDetails
Interaction modesCode / Plan / Ask
Reasoning effortLow / Medium / High / Max + Thinking mode
Permission controlDefault / Full Access, per-action approval
Session controlPause, resume, rewind to checkpoint, archive
Model switchingChange model mid-conversation
Split screenSide-by-side dual sessions
AttachmentsFiles and images with multimodal vision support
Slash commands/help /clear /cost /compact /doctor /review and more

Extensions & Integrations

CapabilityDetails
Providers17+ providers: Anthropic, OpenRouter, Bedrock, Vertex, Zhipu GLM, Kimi, Moonshot, MiniMax, Volcengine, MiMo, Bailian, Ollama, LiteLLM, custom endpoints
MCP serversstdio / sse / http, runtime status monitoring
SkillsCustom / project / global skills, skills.sh marketplace
BridgeTelegram / Feishu / Discord / QQ / WeChat remote control
CLI importImport Claude Code CLI .jsonl session history
Image generationGemini image gen, batch tasks, gallery

Data & Workspace

CapabilityDetails
Assistant WorkspacePersona files (soul.md, user.md, claude.md, memory.md), onboarding, daily check-ins, persistent memory
Generative UIAI-created interactive dashboards and visual widgets
File browserProject file tree with syntax-highlighted preview
Git panelStatus, branches, commits, worktree management
Usage analyticsToken counts, cost estimates, daily usage charts
Task schedulerCron-based and interval scheduling with persistence
Local storageSQLite (WAL mode), all data stays on your machine
i18nEnglish + Chinese
ThemesDark / Light, one-click toggle

First Launch

  1. Configure a Provider — Go to Settings > Providers and add credentials for the provider you want to use. CodePilot includes presets for all major providers — just pick one and enter your API key.
  2. Create a conversation — Pick a working directory, select a mode (Code / Plan / Ask), and choose a model.
  3. Set up Assistant Workspace (optional) — Go to Settings > Assistant, choose a workspace directory, and enable Onboarding. CodePilot creates soul.md, user.md, claude.md, and memory.md at the workspace root.
  4. Add MCP servers (optional) — Go to the MCP page in the sidebar to add and manage MCP servers. Custom skills are managed on the separate Skills page.
  5. Install Claude Code CLI (optional) — For advanced features like file editing and terminal commands, install the CLI: npm install -g @anthropic-ai/claude-code

Platform & Installation Notes

macOS stable builds are signed with Developer ID, notarized, stapled, and verified by Gatekeeper. If macOS reports that the developer cannot be verified or the file is damaged, stop and report it instead of bypassing the warning. Windows builds are unsigned and may show SmartScreen. After manually installing the first Windows updater-capable release, later stable versions can update in-app from the official op7418/CodePilot GitHub Release; the app verifies the metadata SHA-512 but does not claim independent Authenticode publisher verification. Linux updates remain manual.

macOS: Gatekeeper rejects the download
  1. Delete the rejected copy and download it again from the official GitHub Release.
  2. Verify the file against SHA256SUMS.txt from the same Release.
  3. If Gatekeeper still rejects it, do not remove quarantine attributes or bypass the warning; report the macOS version, download URL, and checksum on GitHub Issues.
Windows: SmartScreen blocks the installer

Verify the installer against SHA256SUMS.txt from the same official Release first. If the checksum matches and the source is op7418/CodePilot, click "More info", then "Run anyway". If organization policy removes that option, contact the device administrator instead of weakening system-wide protection.


Documentation

📖 Full documentation:English | 中文

Getting started:

User guides:

  • Providers -- Configuring AI providers and custom endpoints
  • MCP Servers -- Adding and managing Model Context Protocol servers
  • Skills -- Custom skills, project skills, and the skills.sh marketplace
  • Bridge -- Remote control via Telegram, Feishu, Discord, QQ, WeChat
  • Assistant Workspace -- Persona files, onboarding, memory, daily check-ins
  • FAQ -- Common issues and solutions

Developer docs:


FAQ

Do I need the Claude Code CLI?

No. You can use CodePilot with any supported provider (OpenRouter, Zhipu GLM, Volcengine, Ollama, etc.) without the Claude Code CLI. The CLI is only needed if you want Claude to directly edit files, run terminal commands, or use git operations on your machine. For chat and assistant features, just configure a provider and start a conversation.

Configured a Provider but no models appear

Verify the API key is valid and the endpoint is reachable. Some providers (Bedrock, Vertex) require additional environment variables or IAM configuration beyond the API key. Use the built-in diagnostics (Settings > Providers > Run Diagnostics) to check connectivity.

What is the difference between npm run dev and npm run electron:dev?

npm run dev starts only the Next.js dev server -- you use CodePilot in your browser at http://localhost:3000. npm run electron:dev starts both Next.js and the Electron shell, giving you the full desktop app experience with native window controls.

Where are the Assistant Workspace files?

When you set up a workspace, CodePilot creates four Markdown files at the workspace root directory: soul.md (personality), user.md (user profile), claude.md (rules), and memory.md (long-term notes). State tracking (onboarding progress, check-in dates) is stored in the .assistant/ subdirectory. Daily memories go to memory/daily/.

Bridge requires additional setup per platform

Each Bridge channel (Telegram, Feishu, Discord, QQ, WeChat) requires its own bot token or app credentials. Go to the Bridge page in the sidebar to configure channels. You will need to create a bot on the target platform first and provide the token to CodePilot.


Community

WeChat Group QR Code

Scan the QR code to join the WeChat user group for discussions, feedback, and updates.


Contributing

  1. Fork the repository and create a feature branch
  2. npm install and npm run electron:dev to develop locally
  3. Run npm run test before opening a PR
  4. Submit a PR against main with a clear description

Keep PRs focused -- one feature or fix per pull request.

Development commands
npm run dev # Next.js dev server (browser)
npm run electron:dev # Full Electron app (dev mode)
npm run build # Production build
npm run electron:build # Build Electron distributable
npm run electron:pack:mac # macOS DMG (arm64 + x64)
npm run electron:pack:win # Windows NSIS installer
npm run electron:pack:linux # Linux AppImage, deb, rpm

CI/CD: Pushing a stable vX.Y.Z tag builds signed/notarized macOS arm64, x64, and universal packages plus latest-mac.yml; an unsigned Windows x64 NSIS updater plus latest.yml; and Linux arm64/x64 manual packages. The Release is made public only after signing/notarization where applicable, packaged health, checksum, attestation, Intel ABI, GitHub single-trust-root safeguards, and complete asset-graph checks pass. The unsigned Windows trust gate requires a fresh administrator audit of immutable Releases and no-bypass branch/tag rulesets; Actions compares the live ruleset IDs and update timestamps with that audit and fails closed on drift. Windows publishes an EXE blockmap for opportunistic differential updates with full-installer fallback; Linux updater metadata is intentionally not published.

Notes:

  • Electron forks a Next.js standalone server on 127.0.0.1 with a random free port
  • Chat data is stored in ~/.codepilot/codepilot.db (dev mode: ./data/)
  • SQLite uses WAL mode for fast concurrent reads

License

Business Source License 1.1 (BSL-1.1)

  • Personal / academic / non-profit use: free and unrestricted
  • Commercial use: requires a separate license — contact @op7418 on X
  • Change date: 2029-03-16 — after which the code converts to Apache 2.0

About

A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - youcho2/CodePilot: A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js. · GitHub
Skip to content

Latest commit

History

1,450 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CodePilot CodePilot

A multi-model AI agent desktop client -- connect any AI provider, extend with MCP & skills, control from your phone, and let your assistant learn your workflow.

GitHub releaseDownloadsGitHub starsPlatformLicense

中文文档 | 日本語


CodePilot


Download | Quick Start | Documentation | Contributing | Community


Download

PlatformDownloadArchitecture
macOSApple Silicon (.dmg) · Intel (.dmg)arm64 / x64
WindowsInstaller (.exe)x64
LinuxAppImage / deb / rpmx64 / arm64

Official macOS stable builds can check, download, and install signed updates in the app. After manually installing the first supported Windows version, later Windows releases can update in the app using unsigned packages from the official GitHub Release; Linux releases remain manual downloads.

Or visit the Releases page for all versions.


Why CodePilot

Multi-provider, one interface

Connect to 17+ AI providers out of the box. Switch providers and models mid-conversation without losing context.

CategoryProviders
Direct APIAnthropic, OpenRouter
Cloud platformsAWS Bedrock, Google Vertex AI
Chinese AI providersZhipu GLM (CN/Global), Kimi, Moonshot, MiniMax (CN/Global), Volcengine Ark (Doubao), Xiaomi MiMo, Aliyun Bailian (Qwen)
Local & self-hostedOllama, LiteLLM
CustomAny Anthropic-compatible or OpenAI-compatible endpoint
MediaGoogle Gemini (image generation)

Beyond coding — a full AI agent

CodePilot started as a coding tool but has grown into a general-purpose AI agent desktop:

  • Assistant Workspace — Persona files, persistent memory, onboarding flows, and daily check-ins. Your assistant learns your preferences and adapts over time.
  • Generative UI — AI can create interactive dashboards, charts, and visual widgets rendered live in-app.
  • Remote Bridge — Connect to Telegram, Feishu, Discord, QQ, and WeChat. Send messages from your phone, get responses on your desktop.
  • MCP + Skills — Add MCP servers (stdio / sse / http) with runtime monitoring. Define reusable skills or install from the skills.sh marketplace.
  • Media Studio — AI image generation with batch tasks, gallery, and tagging.
  • Task Scheduler — Schedule recurring tasks with cron expressions or intervals.

Built for daily use

  • Pause, resume, and rewind sessions to any checkpoint
  • Split-screen dual sessions side by side
  • Track token usage and costs with daily charts
  • Import Claude Code CLI session history
  • Dark / Light theme toggle
  • English + Chinese interface

Quick Start

Path A: Download a release (most users)

  1. Download the installer for your platform from the Download section above
  2. Launch CodePilot
  3. Configure a Provider in Settings > Providers — add your API key for any supported provider
  4. Start a conversation

Note: Installing the Claude Code CLI (npm install -g @anthropic-ai/claude-code) unlocks additional capabilities like direct file editing, terminal commands, and git operations. It is recommended but not required for basic chat.

Path B: Build from source (developers)

PrerequisiteMinimum version
Node.js18+
npm9+ (ships with Node 18)
git clone https://github.com/op7418/CodePilot.git
cd CodePilot
npm install
npm run dev # browser mode at http://localhost:3000# -- or --
npm run electron:dev # full desktop app

Core Capabilities

Conversation & Interaction

CapabilityDetails
Interaction modesCode / Plan / Ask
Reasoning effortLow / Medium / High / Max + Thinking mode
Permission controlDefault / Full Access, per-action approval
Session controlPause, resume, rewind to checkpoint, archive
Model switchingChange model mid-conversation
Split screenSide-by-side dual sessions
AttachmentsFiles and images with multimodal vision support
Slash commands/help /clear /cost /compact /doctor /review and more

Extensions & Integrations

CapabilityDetails
Providers17+ providers: Anthropic, OpenRouter, Bedrock, Vertex, Zhipu GLM, Kimi, Moonshot, MiniMax, Volcengine, MiMo, Bailian, Ollama, LiteLLM, custom endpoints
MCP serversstdio / sse / http, runtime status monitoring
SkillsCustom / project / global skills, skills.sh marketplace
BridgeTelegram / Feishu / Discord / QQ / WeChat remote control
CLI importImport Claude Code CLI .jsonl session history
Image generationGemini image gen, batch tasks, gallery

Data & Workspace

CapabilityDetails
Assistant WorkspacePersona files (soul.md, user.md, claude.md, memory.md), onboarding, daily check-ins, persistent memory
Generative UIAI-created interactive dashboards and visual widgets
File browserProject file tree with syntax-highlighted preview
Git panelStatus, branches, commits, worktree management
Usage analyticsToken counts, cost estimates, daily usage charts
Task schedulerCron-based and interval scheduling with persistence
Local storageSQLite (WAL mode), all data stays on your machine
i18nEnglish + Chinese
ThemesDark / Light, one-click toggle

First Launch

  1. Configure a Provider — Go to Settings > Providers and add credentials for the provider you want to use. CodePilot includes presets for all major providers — just pick one and enter your API key.
  2. Create a conversation — Pick a working directory, select a mode (Code / Plan / Ask), and choose a model.
  3. Set up Assistant Workspace (optional) — Go to Settings > Assistant, choose a workspace directory, and enable Onboarding. CodePilot creates soul.md, user.md, claude.md, and memory.md at the workspace root.
  4. Add MCP servers (optional) — Go to the MCP page in the sidebar to add and manage MCP servers. Custom skills are managed on the separate Skills page.
  5. Install Claude Code CLI (optional) — For advanced features like file editing and terminal commands, install the CLI: npm install -g @anthropic-ai/claude-code

Platform & Installation Notes

macOS stable builds are signed with Developer ID, notarized, stapled, and verified by Gatekeeper. If macOS reports that the developer cannot be verified or the file is damaged, stop and report it instead of bypassing the warning. Windows builds are unsigned and may show SmartScreen. After manually installing the first Windows updater-capable release, later stable versions can update in-app from the official op7418/CodePilot GitHub Release; the app verifies the metadata SHA-512 but does not claim independent Authenticode publisher verification. Linux updates remain manual.

macOS: Gatekeeper rejects the download
  1. Delete the rejected copy and download it again from the official GitHub Release.
  2. Verify the file against SHA256SUMS.txt from the same Release.
  3. If Gatekeeper still rejects it, do not remove quarantine attributes or bypass the warning; report the macOS version, download URL, and checksum on GitHub Issues.
Windows: SmartScreen blocks the installer

Verify the installer against SHA256SUMS.txt from the same official Release first. If the checksum matches and the source is op7418/CodePilot, click "More info", then "Run anyway". If organization policy removes that option, contact the device administrator instead of weakening system-wide protection.


Documentation

📖 Full documentation:English | 中文

Getting started:

User guides:

  • Providers -- Configuring AI providers and custom endpoints
  • MCP Servers -- Adding and managing Model Context Protocol servers
  • Skills -- Custom skills, project skills, and the skills.sh marketplace
  • Bridge -- Remote control via Telegram, Feishu, Discord, QQ, WeChat
  • Assistant Workspace -- Persona files, onboarding, memory, daily check-ins
  • FAQ -- Common issues and solutions

Developer docs:


FAQ

Do I need the Claude Code CLI?

No. You can use CodePilot with any supported provider (OpenRouter, Zhipu GLM, Volcengine, Ollama, etc.) without the Claude Code CLI. The CLI is only needed if you want Claude to directly edit files, run terminal commands, or use git operations on your machine. For chat and assistant features, just configure a provider and start a conversation.

Configured a Provider but no models appear

Verify the API key is valid and the endpoint is reachable. Some providers (Bedrock, Vertex) require additional environment variables or IAM configuration beyond the API key. Use the built-in diagnostics (Settings > Providers > Run Diagnostics) to check connectivity.

What is the difference between npm run dev and npm run electron:dev?

npm run dev starts only the Next.js dev server -- you use CodePilot in your browser at http://localhost:3000. npm run electron:dev starts both Next.js and the Electron shell, giving you the full desktop app experience with native window controls.

Where are the Assistant Workspace files?

When you set up a workspace, CodePilot creates four Markdown files at the workspace root directory: soul.md (personality), user.md (user profile), claude.md (rules), and memory.md (long-term notes). State tracking (onboarding progress, check-in dates) is stored in the .assistant/ subdirectory. Daily memories go to memory/daily/.

Bridge requires additional setup per platform

Each Bridge channel (Telegram, Feishu, Discord, QQ, WeChat) requires its own bot token or app credentials. Go to the Bridge page in the sidebar to configure channels. You will need to create a bot on the target platform first and provide the token to CodePilot.


Community

WeChat Group QR Code

Scan the QR code to join the WeChat user group for discussions, feedback, and updates.


Contributing

  1. Fork the repository and create a feature branch
  2. npm install and npm run electron:dev to develop locally
  3. Run npm run test before opening a PR
  4. Submit a PR against main with a clear description

Keep PRs focused -- one feature or fix per pull request.

Development commands
npm run dev # Next.js dev server (browser)
npm run electron:dev # Full Electron app (dev mode)
npm run build # Production build
npm run electron:build # Build Electron distributable
npm run electron:pack:mac # macOS DMG (arm64 + x64)
npm run electron:pack:win # Windows NSIS installer
npm run electron:pack:linux # Linux AppImage, deb, rpm

CI/CD: Pushing a stable vX.Y.Z tag builds signed/notarized macOS arm64, x64, and universal packages plus latest-mac.yml; an unsigned Windows x64 NSIS updater plus latest.yml; and Linux arm64/x64 manual packages. The Release is made public only after signing/notarization where applicable, packaged health, checksum, attestation, Intel ABI, GitHub single-trust-root safeguards, and complete asset-graph checks pass. The unsigned Windows trust gate requires a fresh administrator audit of immutable Releases and no-bypass branch/tag rulesets; Actions compares the live ruleset IDs and update timestamps with that audit and fails closed on drift. Windows publishes an EXE blockmap for opportunistic differential updates with full-installer fallback; Linux updater metadata is intentionally not published.

Notes:

  • Electron forks a Next.js standalone server on 127.0.0.1 with a random free port
  • Chat data is stored in ~/.codepilot/codepilot.db (dev mode: ./data/)
  • SQLite uses WAL mode for fast concurrent reads

License

Business Source License 1.1 (BSL-1.1)

  • Personal / academic / non-profit use: free and unrestricted
  • Commercial use: requires a separate license — contact @op7418 on X
  • Change date: 2029-03-16 — after which the code converts to Apache 2.0

About

A multi-model AI agent desktop client — connect any AI provider, extend with MCP & skills, control from your phone. Built with Electron + Next.js.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages