1. 项目定位与用途
1Code 是面向开发者的开源编码代理客户端与编排层,定位为多 AI 代理(如 Claude Code、Codex)的统一运行与管理平台。它提供桌面端(macOS/Windows/Linux)与 Web 应用,旨在将 AI 编码能力深度集成到本地开发工作流中,通过可视化界面、Git 集成与隔离机制,让开发者能安全、高效地利用 AI 辅助编程,同时保持对代码变更的完全控制。
21st-dev/1code:1Code 是一个开源的编码代理编排层,提供统一的桌面/Web 界面来运行和管理 Claude Code、Codex 等 AI 编码代理,通过 本页整理它解决什么问题、适用场景、安装方式和使用方法。
1Code 是一个开源的编码代理编排层,提供统一的桌面/Web 界面来运行和管理 Claude Code、Codex 等 AI 编码代理,通过 Git 工作树隔离、实时 diff 预览和云沙箱执行,提升开发者与 AI 协作的效率与代码安全性。
1Code 是面向开发者的开源编码代理客户端与编排层,定位为多 AI 代理(如 Claude Code、Codex)的统一运行与管理平台。它提供桌面端(macOS/Windows/Linux)与 Web 应用,旨在将 AI 编码能力深度集成到本地开发工作流中,通过可视化界面、Git 集成与隔离机制,让开发者能安全、高效地利用 AI 辅助编程,同时保持对代码变更的完全控制。
项目解决四大核心问题:1) 多代理分散问题——统一入口支持 Claude/Codex 快速切换;2) 代码安全风险——通过 Git 工作树隔离每个会话,防止主分支污染;3) 黑盒操作问题——实时 diff 预览、工具执行追踪与内置 Git 客户端实现变更可视化与可控提交;4) 连续性不足——云沙箱支持后台执行,即使设备休眠代理仍可工作。此外,计划模式、消息队列、聊天分支等特性进一步优化了交互体验与任务管理。
主要适用于:1) 本地开发中并行运行多个 AI 代理任务并需环境隔离的场景;2) 需要可视化审查 AI 代码变更、手动控制提交与回滚的场景;3) 通过自动化规则(GitHub PR、Linear issue、Slack 消息)触发代理处理事件的场景;4) 希望代理在隔离云环境中持续工作,同时本地设备可自由使用的场景;5) 团队协作中需要统一 AI 编码工具链与规范的情况。
仓库中未明确给出详细的安装步骤,但根据 package.json 与脚本可推断:依赖管理使用 bun 或 npm,执行 bun i 或 npm install 安装依赖。postinstall 脚本会自动运行 electron-rebuild 编译原生模块(better-sqlite3、node-pty)。环境配置需复制 .env.example 为 .env,并可选填写 Apple 开发者凭证(macOS 签名)、Sentry DSN、PostHog 密钥等。构建与打包通过 electron-vite 完成,支持跨平台输出。
仓库中未明确给出完整使用流程,但关键脚本包括:开发模式运行 bun run dev 或 npm run dev 启动 electron-vite 开发服务器;构建使用 bun run build;平台打包使用 bun run package:mac/win/linux;发布流程 bun run release 会自动下载 Claude/Codex 二进制、构建、打包、生成更新清单并上传。应用内提供模型选择器、工作树管理、计划模式审批、Git 操作面板等交互功能,具体操作需参考应用界面。
技术栈为 Electron + React + TypeScript,采用主进程-渲染进程架构。主进程(src/main)负责窗口管理、Deep Link、原生模块初始化及 tRPC 服务器;渲染进程(src/renderer)使用 React 构建 UI,集成 Monaco Editor、diff 预览、文件浏览器等。数据层基于 SQLite 与 Drizzle ORM,通过迁移管理 schema,存储项目、聊天、工作树等信息。前后端通信使用 tRPC 保证类型安全。关键模块包括 Claude/Codex 代理集成、Git 操作与监控、MCP 服务器管理、自动更新与认证系统。
根据 README,1Code 支持 Claude Code 和 Codex,并设计为可扩展架构,未来可能集成更多代理。应用内提供模型选择器,支持在不同代理与模型间快速切换。
1Code 为每个聊天会话创建独立的 Git 工作树(分支),所有代码变更在隔离环境中进行。只有用户手动批准并执行提交后,变更才会合并到主分支,从根本上避免意外修改。
可以。1Code 提供背景代理功能,代理会在隔离的云沙箱中继续执行任务,即使本地设备休眠或关闭。用户可通过 Web 或手机 PWA 监控进度,并查看实时浏览器预览。
仓库使用 bun 或 npm 管理依赖。安装依赖后,运行 bun run dev 启动开发模式;bun run build 进行构建;bun run package:mac/win/linux 生成对应平台安装包。详细步骤需参考 package.json 脚本与构建配置。
是,1Code 在 GitHub 上开源(21st-dev/1code)。贡献指南请参考仓库中的 CONTRIBUTING.md 文件。项目采用 Electron + React + TypeScript 技术栈,欢迎提交 Issue 与 Pull Request。