Skip to content

GoDiao/dreamcoder

Repository files navigation

DreamSeed 种梦计划参赛作品


DreamCoder

Claude Code 的开源桌面版 GUI

面向创造者的 AI 编程工作台

Tauri 2 React 18 Bun License: MIT Good First Issues Help Wanted

🌱 正在招募贡献者! 我们整理了一批 good first issuehelp wanted,每条都有 mentor 可以陪你走完第一个 PR。先读 贡献指南 再下手会更顺。


✨ 为什么是 DreamCoder?

Claude Code 非常强大,但它是一个纯命令行工具 (CLI-only)。 DreamCoder 将 Claude Code 强大的核心引擎,封装进了现代的原生桌面应用中。

“我想要 Claude Code 的能力,但我需要一个 GUI 来管理会话、切换模型、处理文件。”

  • 非叉子 (Not a Fork):DreamCoder 复用了 Claude Code 的核心逻辑,或使用兼容的运行时。它只是给命令行体验穿上了一件漂亮的外衣。
  • 隐私优先:你的 API Key 和数据完全保存在本地。不依赖任何云端服务。
  • 全模型支持:无缝切换 Anthropic, OpenAI, DeepSeek, 阿里通义、MiniMax, Azure, Google Vertex 等。

🚀 核心功能

1. 原生桌面体验

  • 会话管理:可视化历史、侧边栏导航、多标签页界面。
  • 集成终端:内置 PTY (PowerShell/Bash/Zsh),集成 xterm.js。
  • 可视化设置:告别手动编辑 JSON 文件,在 UI 上直接管理 Provider 和 API Key。

主界面

2. 完美对接 Claude Code

  • Computer Use 模式:原生支持视觉模型控制电脑(截图模式),以及全新的 UIA Tree 模式(文本辅助访问模式,更快、更低成本)。
  • 工具调用可视化:AI 读写文件、执行终端命令的过程全程透明可见。
  • MCP 支持:通过 Model Context Protocol 扩展 AI 能力。

Computer Use 设置

3. 高级 Provider 系统

  • 一键切换:点击即可在不同模型供应商之间切换。
  • 支持列表:Anthropic (Claude), OpenAI, DeepSeek, Moonshot (Kimi), MiniMax, Azure OpenAI, Google Vertex, AWS Bedrock。
  • 可视化测试:在设置界面直接测试连接状态和延迟。

Provider 设置


4. MCP 扩展

  • MCP 原生支持:Model Context Protocol 全面支持。
  • 可视化配置:告别 JSON 配置,图形界面管理 MCP 服务器。
  • 开箱即用:内置常用 MCP 工具集成。

MCP 技能设置


🛠️ 技术栈

组件 技术选型
桌面外壳 Tauri 2 (Rust)
前端 UI React 18 + Vite + TailwindCSS 4
后端运行时 Bun (Node.js 兼容)
终端 portable-pty (Rust) + xterm.js
状态管理 Zustand
协议 WebSocket, MCP, LSP

💻 平台支持现状

平台 状态 预编译安装包
Windows x64 ✅ 维护者实测 ✅ NSIS .exe + MSI .msi(每个 release 都发)
macOS arm64 ⚠️ 维护者未实测(仅留有构建脚本) ❌ 等社区帮忙
Linux x64 ⚠️ 维护者未实测 ❌ 等社区帮忙

DreamCoder 当前仅在 Windows x64 上开发与验证。代码里有 #[cfg(target_os = "macos" / "linux")] 分支,但维护者本人日常不在这两个平台上跑,所以非 Windows 构建处于"理论 cover、实测未知"的状态。 如果你是 macOS / Linux 用户,bug 报告和 PR 都非常欢迎 —— Linux 内存问题正在 #25 调查中。


📅 路线图

  • Phase 1: 桌面端 GUI + 多模型支持 + 项目工作台
  • Phase 2: CLI 后端集成 + Computer Use + MCP + Skills + Agent Teams
  • Phase 2.5: 性能优化 — bundle 拆分、轮询节流、终端 LRU、sessionStore 重构
  • Phase 3: H5 远程访问 (手机/浏览器接入桌面端会话)
  • Phase 4: IM 适配器集成 (飞书/钉钉/Telegram/微信)
  • Phase 5: Release 自动化 + 自动更新

详见 ROADMAP


🏁 快速开始

环境要求

  • Bun >= 1.0
  • Rust (用于编译桌面端)
  • Node.js >= 18 (部分依赖需要)

安装与运行

这是一个 Bun monorepo(根 + desktop/ 各有独立 package.json),四步都不能跳,否则 tauri dev 会因为缺 sidecar 二进制 / Tauri CLI 启动失败。

# 0. 克隆仓库
git clone https://github.com/GoDiao/dreamcoder.git
cd dreamcoder

# 1. 安装根工作区依赖(sidecar 运行时:Anthropic SDK / AWS SDK / ink 等)
bun install

# 2. 安装桌面端依赖(Tauri CLI + React 前端)
cd desktop && bun install

# 3. 编译 sidecar 二进制(不跑这步,第 4 步会因 externalBin 缺失而失败)
bun run build:sidecars

# 4. 启动桌面端开发模式
bun run tauri dev

Linux 用户:还需要先装好 WebKitGTK / libappindicator / librsvg 等系统库, 详见 Tauri 官方 prerequisites。 维护者不在 Linux 上日常使用,欢迎 PR 补充发行版具体命令。

配置 AI 模型

  1. 打开 DreamCoder,进入 设置 -> Provider (模型供应商)
  2. 添加你的 API Key (例如:Anthropic, OpenAI, 或 DeepSeek)。
  3. 选择默认模型,即可开始编程。

🤝 贡献指南

欢迎提交 Issue 和 PR!请阅读我们的 贡献指南 了解更多详情。

📝 更新日志

版本历史详见 CHANGELOG.md

📄 许可证

MIT © 2024-2026 GoDiao & DreamCoder Contributors