2026年7月6日 2 分钟阅读

AI 编码 Agent 写的桌面 IDE 你敢信?microide —— 从零到 v2.6.5 的 100% vibecoded 实验

tinyash 0 条评论

你用 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,x discard,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.exec default-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_benchmicroide_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,已经能从一个空目录出发,产出一个带有单元测试、安全门控和发布流程的真实桌面应用。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。