AI 编码 Agent 写的桌面 IDE 你敢信?microide —— 从零到 v2.6.5 的 100% vibecoded 实验
你用 AI 编码 Agent(Claude Code、Codex、Cursor)写过代码,但你有没有想过:如果让 AI Agent 自己去写一个完整的桌面 IDE,从第一行代码到 v2.6.5 发布,结果会是什么?
这不是思想实验。2026 年 7 月,开发者 Pablo Jiménez Mateo 发布了 microide——一个 100% vibecoded 的原生 C++/SDL3 桌面 IDE,每一行代码、每一个测试、每一份文档,全部由 AI 编码 Agent(Claude、GPT 等混合)在人工指导下生成。没有手写代码路径。
结果呢?一个 stable 标记的 v2.6.5 版本,121 个测试文件、10 个 fuzz target、ASAN/UBSAN/TSAN sanitizer 门控、Debian 包分发、GPG 签名验证——以及完整的多 Tab 编辑器、三方合并、Git 工作站、PTY 终端和 DAP 调试器。MIT 许可证。
什么契机:一个真实世界实验
microide 不是玩具。它的目标很清楚:做一个真正能用、专注于编辑器 / diff / merge / search / git / 终端 / 调试器工作流的单窗口、键盘优先的原生 IDE。不需要 GPU(有 GPU 时加速文本渲染,没有则纯软件渲染)。
“Every source file, test, and document in this repository was written by AI coding agents — a mix of Claude, GPT, and other tools — under human direction. There is no hand-written code path.”
项目在 GitHub 上公开发布(MIT 许可证, pablojimenezmateo/microide),目前约 1 星——不是社区热度的代表,而是一个人 + AI Agent 能走多远的实验性验证。
从 0 到 IDE:AI Agent 写了什么
编辑器核心
一个完整的文本编辑器,内置:
- Piece-tree 文本模型:
O(log n)的 edit splice,无逐行堆分配,UTF-8 codepoint 边界处理,IME 预编辑 - 多光标编辑 with position remap 和 region-stack 高亮
- 语法高亮 with per-file checkpointed state(大文件快速随机跳转)
- 软换行 with hanging indent,长方法 fold
- Undo/Redo:存储 line-range patch 而非全量快照,word-level undo coalescing
- Git blame 阴影文本:异步、viewport 范围、caret-local 注释,hover 显示 commit 详情
- 耐久写入:保存时冲突检测 + 非阻塞外部变更提示
34,000+ 字符的 README 完整列出了所有功能。这不是一篇概念文章——它真的能跑。
Diff & Merge(最成熟的工作流)
项目自称最成熟、验证最充分的工作流是原生 diff / merge / git 工作站:
- Compare tabs:工作目录 vs
HEAD、任意 commit、outgoing base-branch 文件 - 三方 Merge tabs:incoming / result / current 三面板,逐 hunk pick,整体应用
- 共享 decorated text-grid 渲染管线(editor / compare / merge 统一)
[/]hunk 导航;o打开工作目录文件到对应行- 独立的
microide_diff_bench基准测试
microide /path/to/repo
Git 工作站
- 侧边栏 Git 视图:工作目录变更、staged 文件、merge 冲突、outgoing 分支文件
s单文件 stage,xdiscard,bulk stage-all,confirmed discard-all- 冲突文件直接在 three-way merge tab 中打开
- commit message 可编辑;branch/commit ref picker
PTY 终端
- 原生 PTY 终端 Tab,支持 scrollback 和选择
- Alternate-screen 支持,application cursor-key mode,origin mode
- OSC 52 剪贴板拷贝(opt-in),focus notifications
- 右键 “Copy Last Command + Output”
内置 DAP 调试器
Gated behind debug.enabled(默认关闭),但功能完整:
- per-language launch configs,line/function/conditional breakpoints + logpoints
- Continue / Step Over / In / Out / Pause / Restart
- capability-gated reverse execution(
reverseContinue/stepBack) - Call Stack、Variables/Scopes(带 inline edit)、Watch、Breakpoints
- Agent-drivable headless debugging:通过 stdin/stdout 控制信道设置断点、启动、步进、查询变量
最后一条特别关键——AI Agent 可以无头控制 microide 的调试器,形成一个闭环:AI Agent 写代码 → 打开 microide → 驱动调试器 → 读取结果 → 修复代码。
Lua 5.4 插件系统
- 插件从
~/.config/microide/plugins/加载,项目目录被忽略(防 cloned repo 自动执行插件) - 每个插件声明
capabilities表:filesystem 限制在项目根内,process.execdefault-deny - Linux 上额外用 Landlock + seccomp 做内核层进程隔离(子进程不可写项目外目录、不可建网络 socket)
- 内置 dogfood 示例:eslint 诊断、eol-annotations 装饰、surface-preview 内容面板
不是玩具:121 个测试和性能基准
microide 的测试基础设施和代码质量门控会让你忘记它是 “vibecoded”:
121 test files + 10 fuzz targets ASAN / UBSAN / TSAN sanitizer gates Committed startup/typing/scroll/diff/search performance baselines Architecture-invariant lints on every test run
性能基准测试覆盖:冷启动(无项目/小项目/大项目)、打字吞吐(小文件/大文件)、滚动(大文件)、项目搜索(literal/regex)、compare tab 打开、merge tab 打开、终端滚动、空闲行为(idle soak 30s / 8h)。
cmake --preset microide-perf cmake --build build/microide-perf-make -j8 xvfb-run -a ./build/microide-perf-make/microide/microide_perf --smoke
有独立的 microide_diff_bench 和 microide_search_bench 可重复执行的时间基准。
怎么上手
Debian/Ubuntu 一行安装:
sudo apt-get install -y cmake ninja-build pkg-config \ libsdl3-dev libsdl3-ttf-dev libpcre2-dev liblua5.4-dev libfontconfig-dev cmake -S . -B build cmake --build build -j8 ./build/microide/microide
或使用预构建的 Debian 包(GPG 签名验证):
gpg --import microide-signing-key.asc gpg --verify microide_2.6.5_amd64.deb.asc microide_2.6.5_amd64.deb sudo dpkg -i microide_2.6.5_amd64.deb
快捷键跟随 VSCode 默认设置——Ctrl+p 打开文件查找、Ctrl+Shift+f 项目搜索、Ctrl+Shift+p 命令面板——肌肉记忆可直接迁移。
诚实的前沿:Known Limitations
microide 的 README 有一个 “Known Limitations” 章节,诚实得令人耳目一新:
- 没有第三方对比基准。不声称比 VSCode/Zed/Helix 快
- 32-bit offset 天花板。Piece-tree 的 buffer offset 是 32-bit,单文件理论上限 ~4 GiB
- Linux-only。macOS 和 Windows 不支持
- 单窗口。不打算做多窗口分离
- 插件在进程中运行。有 capability sandbox 但没有 out-of-process 隔离
- 编辑器 vs 标准 IDE 的距离。Plugin marketplace、remote install、signed-plugin verification 都不在 roadmap 上
这些限制不是缺陷——它们是诚实。对于一个 100% vibecoded 的项目,能清醒地划清「做了什么」和「不打算做什么」的边界,本身就是一种工程成熟度。
写代码只是开始
microide 最让我惊讶的不是它能写一个 IDE——而是这个 IDE 有完整的 CI 门控、性能基准回退检测、GPG 签名发布流程、安全沙箱设计和清晰的 scope 边界。这些部分才是真正区分「AI 写了代码」和「AI 写了一个可交付产品」的东西。
如果你对 vibecoding 的边界好奇,或者想看看 AI Agent 在一个真实项目中到底能走多远,microide 的代码库值得花一个下午翻阅。不是因为它完美——而是因为它证明了一件事:现在的 AI 编码 Agent,已经能从一个空目录出发,产出一个带有单元测试、安全门控和发布流程的真实桌面应用。
相关链接: