Claude Code 是 Anthropic 官方的命令行 AI 编程助手,强大的功能让它成为开发者的新宠。但命令行界面对于复杂任务管理仍有局限。opcode 作为一款基于 Tauri 2 的桌面应用,为 Claude Code 提供了可视化界面,支持自定义 Agent、会话管理、成本追踪等功能,让 AI 辅助编程更加直观高效。
一、项目简介
opcode 是由 Asterisk 团队开发的开源桌面应用,基于 Tauri 2 + React 构建,为 Claude Code CLI 提供完整的图形化管理界面。
核心定位
- 命令中心的可视化扩展:将 CLI 工具转变为直观的桌面体验
- Agent 定制平台:创建专属 AI Agent,配置系统提示词和权限
- 使用分析仪表盘:实时追踪 API 成本和 Token 消耗
- 本地优先:所有数据存储在本地,无云端依赖
技术架构
1 | opcode/ |
技术栈明细:
| 层级 | 技术 |
|---|---|
| 前端框架 | React 18 + TypeScript + Vite 6 |
| UI 框架 | Tailwind CSS v4 + shadcn/ui + Radix UI |
| 状态管理 | Zustand 5 |
| 后端框架 | Rust + Tauri 2 |
| 数据存储 | SQLite (rusqlite) |
| 包管理 | Bun |
二、核心功能详解
1. 项目与会话管理
项目浏览器
opcode 自动扫描 ~/.claude/projects/ 目录,可视化展示所有 Claude Code 项目:
- 项目列表:显示项目名称、路径、最近活动时间
- 智能搜索:快速定位特定项目
- 一键导航:点击项目即可进入会话管理
会话历史
每个项目下的会话完整保留:
- 会话概览:首条消息、时间戳、模型信息
- 会话恢复:随时继续之前的对话,保留完整上下文
- 元数据展示:Token 使用量、成本、状态一目了然
2. CC Agents(自定义 Agent)
这是 opcode 最强大的功能——创建专属 AI Agent。
Agent 配置结构
1 | { |
配置参数说明
| 参数 | 可选值 | 说明 |
|---|---|---|
name |
自定义字符串 | Agent 名称 |
icon |
bot, shield, code, terminal, database, globe, file-text, git-branch |
图标类型 |
model |
opus, sonnet, haiku |
使用的 Claude 模型 |
system_prompt |
自定义文本 | Agent 的行为指令 |
default_task |
自定义文本 | 默认执行的任务描述 |
Agent 运行模式
- 前台执行:阻塞式运行,实时查看进度
- 后台执行:独立进程运行,不阻塞主界面
- 权限控制:配置文件读写、网络访问权限
3. 预置 Agent 示例
opcode 提供三个开箱即用的 Agent:
Git Commit Bot(自动提交)
1 | { |
使用场景:日常开发中自动化 Git 提交,生成规范的 commit message。
Security Scanner(安全扫描)
1 | { |
使用场景:项目上线前的安全检查,生成详细的安全报告。
Unit Tests Bot(单元测试)
1 | { |
使用场景:为新模块快速补充测试覆盖。
4. 使用分析仪表盘
成本追踪
实时监控 Claude API 使用情况:
- 总成本:会话累计花费
- 模型分布:按模型类型细分成本
- 时间趋势:每日/每周使用图表
Token 分析
详细的 Token 使用明细:
| 指标 | 说明 |
|---|---|
| Input Tokens | 输入消耗 |
| Output Tokens | 输出消耗 |
| Context Usage | 上下文利用率 |
| Cache Hit Rate | 缓存命中率 |
数据导出
支持导出使用数据用于财务分析或团队核算。
5. MCP Server 管理
Model Context Protocol(MCP)服务器统一管理:
- 服务器注册表:集中管理所有 MCP 服务器
- 配置导入:从 Claude Desktop 导入现有配置
- 连接测试:验证服务器可用性
- 动态启用:按会话选择性启用服务器
6. 时间线与检查点
这是 opcode 独有的版本控制功能:
检查点创建
在会话任意节点创建快照:
1 | Session → Create Checkpoint → 记录当前状态 |
时间线导航
可视化展示会话历史:
- 分支展示:显示会话的演进路径
- 差异对比:查看检查点之间的代码变化
- 一键回滚:恢复到任意历史状态
- 分支派生:从检查点创建新的会话分支
7. CLAUDE.md 编辑器
内置 Markdown 编辑器管理项目配置:
- 实时预览:左侧编辑,右侧渲染
- 语法高亮:完整 Markdown 支持
- 项目扫描:自动发现所有 CLAUDE.md 文件
- 即时生效:修改后立即应用于会话
三、安装指南
系统要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10/11, macOS 11+, Linux (Ubuntu 20.04+) |
| 内存 | 最小 4GB,推荐 8GB |
| 存储 | 至少 1GB 可用空间 |
| Claude Code | 必须已安装 Claude Code CLI |
前置依赖安装
1. Rust 环境
1 | # macOS/Linux |
验证安装:
1 | rustc --version |
2. Bun 运行时
1 | # macOS/Linux |
验证安装:
1 | bun --version |
3. Claude Code CLI
从 Claude 官网 下载安装,确保 claude 命令在 PATH 中:
1 | claude --version |
4. 平台特定依赖
Linux (Ubuntu/Debian):
1 | sudo apt update |
macOS:
1 | # 安装 Xcode 命令行工具 |
Windows:
- 安装 Microsoft C++ Build Tools
- 确认已安装 WebView2(Windows 11 已预装)
构建步骤
1. 克隆仓库
1 | git clone https://github.com/winfunc/opcode.git |
2. 安装前端依赖
1 | bun install |
3. 开发模式运行
1 | bun run tauri dev |
这会启动开发服务器并打开应用窗口,支持热重载。
4. 生产构建
1 | bun run tauri build |
构建产物位置:
| 平台 | 输出路径 |
|---|---|
| Linux | src-tauri/target/release/opcode |
| macOS | src-tauri/target/release/opcode.app |
| Windows | src-tauri/target/release/opcode.exe |
5. 特殊构建选项
Debug 构建(更快编译,更大体积):
1 | bun run tauri build --debug |
macOS Universal Binary(Intel + Apple Silicon):
1 | bun run tauri build --target universal-apple-darwin |
四、使用指南
启动与初次配置
- 启动应用:双击
opcode.exe(Windows)或运行./opcode(Linux/macOS) - 自动检测:opcode 会自动扫描
~/.claude目录 - 欢迎界面:选择进入「CC Agents」或「Projects」
管理项目与会话
查看项目
1 | Projects → 项目列表 → 点击项目查看会话 |
每个项目卡片显示:
- 项目名称
- 最近活动时间
- 会话数量
恢复会话
1 | 项目详情 → 会话列表 → 点击会话 → Resume |
会话恢复后保持完整上下文,可直接继续对话。
创建自定义 Agent
步骤详解
1 | CC Agents → Create Agent → 配置参数 → 保存 |
基本信息:
- 输入 Agent 名称
- 选择图标类型
- 选择模型(Opus/Sonnet/Haiku)
系统提示词:
- 编写 Agent 的行为指令
- 定义任务处理流程
- 设置输出格式要求
权限配置:
- 文件读权限
- 文件写权限
- 网络访问权限
保存并测试:点击「Create」保存 Agent
Agent 最佳实践
| 类型 | 推荐模型 | 提示词要点 |
|---|---|---|
| 简单任务 | Haiku | 简洁明确的指令 |
| 通用任务 | Sonnet | 结构化的步骤说明 |
| 复杂推理 | Opus | 详细的上下文和示例 |
导入预置 Agent
从 GitHub 导入
1 | CC Agents → Import → From GitHub → 浏览 Agent → Import Agent |
官方仓库提供三个预置 Agent,可直接导入使用。
从文件导入
1 | CC Agents → Import → From File → 选择 .opcode.json 文件 |
下载 Agent 配置文件后本地导入。
执行 Agent 任务
前台执行
1 | 选择 Agent → 设置任务描述 → Execute (Foreground) |
实时查看执行进度,适合短任务。
后台执行
1 | 选择 Agent → 设置任务描述 → Execute (Background) |
Agent 在独立进程运行,适合长时间任务。
查看执行历史
1 | CC Agents → Agent 详情 → Execution History |
显示每次执行的:
- 开始/结束时间
- 任务描述
- 执行结果
- Token 使用量
使用时间线功能
创建检查点
在会话过程中随时创建:
1 | Session → Timeline → Create Checkpoint |
回滚到检查点
1 | Timeline → 选择检查点 → Restore |
查看差异
1 | Timeline → 选择两个检查点 → View Diff |
配置 MCP Server
1 | Menu → MCP Manager → Add Server |
手动添加
输入服务器配置 JSON:
1 | { |
从 Claude Desktop 导入
1 | MCP Manager → Import from Claude Desktop |
自动读取 Claude Desktop 的 MCP 配置。
查看使用分析
1 | Menu → Usage Dashboard |
仪表盘显示:
- 实时成本:当前会话花费
- Token 分布:饼图展示输入/输出比例
- 趋势图表:折线图展示使用趋势
- 导出功能:下载 CSV/JSON 数据
五、进阶技巧
Agent 提示词模板
代码审查 Agent
1 | <role> |
文档生成 Agent
1 | <role> |
进程隔离原理
opcode 的 Agent 运行在独立进程:
1 | 主进程 (Tauri) |
优势:
- Agent 崩溃不影响主界面
- 并行执行多个任务
- 资源占用可控
数据存储位置
| 数据类型 | 存储路径 |
|---|---|
| Agent 配置 | ~/.opcode/agents/ |
| 检查点数据 | ~/.opcode/checkpoints/ |
| 使用记录 | ~/.opcode/analytics.db |
| MCP 配置 | ~/.claude/mcp_servers.json |
六、常见问题
1. 构建失败 “cargo not found”
解决方案:
1 | # 确保 Rust 已安装 |
2. Linux “webkit2gtk not found”
解决方案:
1 | sudo apt install libwebkit2gtk-4.1-dev |
3. Windows “MSVC not found”
解决方案:
- 安装 Visual Studio Build Tools
- 选择「C++ 构建工具」工作负载
- 重启终端
4. “claude command not found”
解决方案:
1 | # 确保 Claude Code CLI 已安装 |
5. 构建内存不足
解决方案:
1 | # 减少并行编译 |
七、项目资源
| 资源 | 链接 |
|---|---|
| GitHub 仓库 | winfunc/opcode |
| Discord 社区 | Join Discord |
| 许可证 | AGPL-3.0 |
八、总结
opcode 为 Claude Code 提供了完整的桌面 GUI 体验:
| 功能 | 价值 |
|---|---|
| 自定义 Agent | 定制专属 AI 工作流 |
| 会话管理 | 可视化管理所有对话 |
| 成本追踪 | 实时监控 API 开销 |
| 时间线回滚 | 版本控制式的会话管理 |
| MCP 管理 | 统一配置扩展服务 |