vulcan-code
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in .github/actions/rust-setup/action.yml
- rm -rf — Recursive force deletion command in .github/actions/self-hosted-workspace/action.yml
- rm -rf — Recursive force deletion command in .github/workflows/build-smoke.yml
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Open-source AI coding workbench in Rust: desktop app (GUI) + terminal TUI. Multi-session agents, plan and goal modes, built-in terminal and browser, diff review and Git commits, MCP client and server, skills, knowledge base and long-term memory. Works with OpenAI, Anthropic, Gemini, DeepSeek and more.
Vulcan Code
开源的 AI Coding 工作台:图形界面桌面端 + 终端 TUI
Rust Core · Electron 桌面壳 · React WebUI · ratatui TUI
简体中文 | English | 繁體中文 | 日本語 | 한국어 | Español | Français | Deutsch | Русский | Português
关于项目
Vulcan Code 是一款 AI Coding 软件,提供图形界面桌面端和终端 TUI 两种客户端。它把项目、会话、终端、浏览器、代码审查和 Git 提交放进同一个工作台,让 AI 能理解你的代码、推进任务,并交付可以检查的结果。
这个项目已经在内部开发和调试了很长时间,现在以 MIT 协议开源。我们希望它不只是一个团队的产品,而是由社区一起打磨的工具:
- 🐛 遇到问题、有想法,欢迎提 Issue
- 🔧 修了 bug、做了新功能,欢迎提 Pull Request
- 🤝 无论你是用户还是开发者,都可以参与共建,一起做一个大家都喜爱的 AI Coding 软件
特色功能
🧭 桌面工作台
- 多项目、多会话管理,文件树、审查、记忆、子代理等面板自由组合
- 内置项目终端,支持多标签;AI 可以持有长时间运行或需要交互的命令会话
- 流式回答,Markdown、代码块、Mermaid/SVG 图形与工具调用卡片直接渲染
- 可以编辑历史问题重新生成,也可以从任意已完成的回合分叉出新会话
- 中英文界面,明暗主题
💻 终端客户端(TUI)
- 在终端里使用同一个工作台:项目与会话、对话与思考过程、工具调用、提问、Git 变更与提交,以及记忆、知识库、技能、代理、插件管理和系统设置
- 与 WebUI 共用同一套服务接口,连接的是同一个 Core
- 全鼠标操作:单击、双击、右键菜单、滚轮都可用;命令面板、斜杠命令与快捷键齐全
- 可以从托盘菜单直接打开,也可以用
make bt构建后启动;详见 TUI 说明
🎯 任务推进
- Goal 目标模式:设定目标和 Token 预算,AI 按回合持续推进,可暂停、恢复、清除
- Plan 计划模式:先探索、出计划,确认后再执行
- 执行中引导:任务运行时可以追加说明、排队后续请求
- 子代理协作:内置探索、计划等代理角色,另附 agency-agents 的 260+ 个角色模板(默认关闭,按需启用)
- 结构化提问:AI 遇到需要你决定的问题时,用选项卡片向你提问
🧠 理解代码与积累经验
- CodeKit 代码导航:直接在实时工作树上做结构定位、文本搜索、函数正文提取与整函数替换,不预建索引,也就不存在索引过期;需要语义代码检索时可以接入外部 MCP 服务
- AI 管理知识库:AI 用专门的工具整理、读取和检索长期资料,支持 BM25、向量与混合检索,历史永久保留、可以还原;按项目授权、按会话选择
- MemoryMesh 长期记忆:回合后自动提炼经验,回合前自动召回;记忆可以查看、修正、删除,并带回收站和来源追溯
🔍 结果可检查
- Diff 审查:统一/分栏视图、字词级差异、全文搜索,支持暂存、还原
- Git 提交:AI 生成提交信息,可以提交到当前分支或新分支,并直接推送
- AI 浏览器:AI 在真实 Chromium 页面里导航、点击、截图、读控制台;你可以随时接管控制权
🧩 可扩展
- 提示词技能(
SKILL.md):把团队的做事方法沉淀下来,下次直接复用 - LuaSkills:把常用动作封装成可配置、可安装的程序化能力包
- MCP:支持本地进程与 HTTP 两种 MCP 服务器,带连接诊断和工具 Schema 查看
- MCP 服务:Vulcan 本身也是 MCP 服务器。Claude Code、Codex 等其他 AI 工具可以按授权列出项目与会话、发送消息并等待回复、新建会话、停止运行、回答提问,也可以调用单独授权的图片与视频模型;每个工具一枚令牌,权限审批始终留在 Vulcan 中
- 插件系统:插件可以提供工具,也可以挂载自己的界面。内置插件:Context7 文档检索、AI 浏览器、用量统计、CDP/DAP 调试工具
⚙️ 模型与供应商
- 支持 OpenAI、Anthropic、Gemini、Cohere 等协议族,内置 OpenAI、Anthropic、Google、DeepSeek、Kimi、MiniMax、阿里、OpenRouter 等供应商配置,也可以添加自定义供应商
- 对话、记忆检索、知识库向量、媒体生成可以各自选用不同的模型
- 扩展能力:网页搜索与抓取,图片/视频/音频理解,图片与视频生成,语音合成与转写
- 上下文窗口分层策略,自动或手动(
/compact)压缩上下文 - RTK 命令输出压缩:宿主原生集成 RTK,压缩命令输出和 Git 提交上下文以减少 Token 消耗,可以在设置中开关并查看节省统计
- Token 用量、延迟、参考费用统计
路线图
目前已经可用的是 GUI 桌面版和终端 TUI 版,接下来计划:
- 远端手机连接:用手机远程查看和操控桌面上运行的会话
- Linux / macOS 适配验证:构建脚本已经具备,还需要在各平台完成完整验证
如果你对其中某项感兴趣,或者有新的想法,欢迎在 Issue 里讨论。
架构
flowchart LR
subgraph Desktop["Electron 桌面壳(窗口 / 托盘 / 宿主能力)"]
WebUI["React WebUI"]
end
TUI["TUI 终端客户端(ratatui)"]
Core["Rust Core(vulcan-code-service)<br/>会话内核 · Agent 运行时 · 工具执行<br/>Provider 协议 · MCP · LuaSkills<br/>知识库 · MemoryMesh · RTK<br/>终端宿主 · 浏览器宿主 · 插件运行时"]
WebUI <-->|"RPC / 事件"| Core
TUI <-->|"同一套 RPC / 事件"| Core
Core 服务可以独立在后台(托盘)运行,关闭桌面窗口或退出 TUI 都不会中断正在执行的任务。桌面端、浏览器中的 WebUI 和 TUI 连接的是同一个 Core。
| 目录 | 说明 |
|---|---|
apps/vulcan-code-service |
Core 服务宿主,承载会话内核、Agent 运行时和 WebUI RPC/流服务 |
apps/vulcan-code-desktop |
Electron 桌面壳:窗口、托盘,负责启动本地 Core 并加载 WebUI |
apps/vulcan-code-web |
React/Vite WebUI:工作台、设置、会话、Diff、技能等界面 |
apps/vulcan-code-tui |
TUI 终端客户端(ratatui),按 WebUI 的函数与参数调用同一套服务接口 |
crates/vulcan-agent-runtime |
共享代理运行时:Provider、工具、LuaSkills、MCP、流式执行 |
crates/vulcan-service-* |
后端服务 API、核心服务内核与运行时适配 |
crates/vulcan-memorymesh-* |
MemoryMesh 长期记忆 |
crates/vulcan-runtime-assets |
系统提示词、供应商清单、子代理模板等权威资源 |
plugins/ |
内置插件 |
docs/contracts/ |
开发契约文档 |
快速开始
当前在 Windows x86_64 上完成了完整验证。Linux 与 macOS 有对应的
make.sh脚本,但还没有完整跑通,欢迎帮忙验证。
环境要求
make- Rustup:仓库通过
rust-toolchain.toml固定工具链版本,进入目录后会自动安装 - PowerShell 7
- Node.js 与 pnpm
构建与运行
make init-system # 首次:安装 Rust 工具、宿主依赖与受管 Node/pnpm
make sync # 同步配置、系统技能、插件与浏览器运行时到 output/
make build # 构建 Core、WebUI 与 Electron 桌面壳
make run # 启动桌面端
也可以用 make br 一步完成构建和运行;make bt 会完整构建后启动 Core 并进入 TUI,不启动桌面端和 Vite。发布构建使用 make release。
详细的环境说明见 docs/contracts/development-environment.md。
日常开发
Vite 开发服务器、Core 服务和 Electron 桌面壳彼此独立,可以分别启动和重启:
make vite start # 启动 WebUI Vite 开发服务器(也支持 status / stop)
make service # 只启动后台 Core,不打开桌面窗口
make core-restart # 只改了 Rust Core 时:增量编译并热替换 Core(Windows Debug)
make sync # 改了资源、配置、技能或插件后需要重新同步
- 只改 WebUI 页面时,保持 Vite 和桌面壳运行即可热更新
- debug 模式下
make run/make br会自动确保 Vite 已启动 - 不要直接编辑
output/,权威资源在crates/vulcan-runtime-assets/resources/
参与共建
我们欢迎任何形式的贡献:报告 bug、完善文档、改进交互、适配新平台、接入新供应商、开发插件和技能……
提 Issue
- Bug:请附上操作系统、复现步骤、预期与实际行为,以及相关日志或截图
- 功能建议:说明使用场景和想解决的问题
提 PR
Fork 仓库并从
main创建分支修改前先阅读
AGENTS.md。它记录了仓库的长期约定,涉及特定领域时还要阅读对应的docs/contracts/文档提交前在本地完成验证:
# Rust:优先对修改的 crate 做定向检查 cargo check -p <crate> --all-targets cargo nextest run -p <crate> # WebUI pnpm --dir apps/vulcan-code-web run lint pnpm --dir apps/vulcan-code-web run test pnpm --dir apps/vulcan-code-web run build在 PR 描述里说明改了什么、为什么改,以及怎么验证的
几条约定:
- 面向 AI 的工具名称、描述、Schema 使用英文;面向用户的界面文案可以使用中文
- 仓库默认限制编译与测试并发为 4,请不要在验证命令中去掉这个限制
- 一个 PR 尽量只做一件事,便于评审
致谢
Vulcan Code 构建在众多优秀的开源项目之上,感谢这些项目的作者和社区。
内置组件与工具
- RTK:命令输出压缩,减少 Token 消耗(宿主原生集成)
- Context7:按版本检索最新的库文档(Context7 插件)
- Playwright / Playwright MCP:AI 浏览器的驱动与工具
- LuaSkills:LuaSkills 技能运行时
- ripgrep 与 ast-grep:随包提供的文本与语法树搜索工具
桌面端与界面
- Electron:桌面壳
- React 与 Vite:WebUI 框架与构建工具
- shadcn/ui、Radix UI、Tailwind CSS:组件体系与样式
- xterm.js:终端渲染
- Shiki:代码与 Diff 语法高亮
- Mermaid:图表渲染
- Lucide、Iconify:图标
终端客户端
- Ratatui:TUI 渲染框架
Rust Core
- Tokio 与 Axum:异步运行时与服务框架
- rmcp:MCP 官方 Rust SDK
- LanceDB 与 Apache Arrow:向量索引与列式数据
- SQLite(rusqlite):本地数据存储
- jieba-rs:中文分词,用于知识库全文检索
- portable-pty(WezTerm):跨平台伪终端
设计与实现参考
- OpenAI Codex:Responses 协议通讯、重试与上下文压缩的实现参考;Apply Patch 语法与流式解析器改编自 Codex
- cc-switch:多协议转换、流式工具调用与模型价格数据参考
- CLIProxyAPI:Gemini 协议与兼容转换参考
- OpenCode:供应商目录与系统提示词参考
- agency-agents:子代理角色模板来源
- Answer me with HTML:回答组件(发现、对比、流程等结构化区块)的设计参考;本项目自行定义组件语法并在会话内原生渲染,不依赖其 CLI
社区
- LINUX DO:感谢 LINUX DO 社区的支持与交流
完整的第三方依赖及许可证见 THIRD_PARTY_NOTICES.md,也可以在应用内的「设置 → 关于与许可证」中查看。
许可证
MIT © 2026 OpenVulcan
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi