ブラウザの中でnginx・MariaDB・WordPressを動かすWasmカーネルKandelo──WordPress.com運営元が公開
KandeloはWordPress.comを運営するAutomatticが公開した、POSIX互換のマルチプロセスWasmカーネルだ。ブラウザやNode.js上でnginx・PHP・MariaDB・Redis・WordPressをソース改変なしに動かす。作者はShow HN投稿で『ブラウザ内でエージェントを動かすサンドボックス』としての用途も有望視していると書いている。

目次
WordPress.comを運営するAutomatticが、POSIX互換のマルチプロセスWebAssembly(Wasm)カーネル「Kandelo」を公開した。ブラウザやNode.js上で、nginx・PHP・MariaDB・Redis・WordPressといった実在のソフトウェアをソースコード改変なしに動かすという。Hacker NewsのShow HN投稿は12ポイント・12コメントと反応自体は小さいが、GitHubリポジトリの中身は具体的だ。
3行まとめ
- KandeloはWordPress.com運営元Automatticが公開した、POSIX互換のマルチプロセスWasmカーネル。ブラウザとNode.js両方で動く
- GitHub READMEには、nginx・PHP 8.4・MariaDB・Redis・WordPress 6.7・CPython・Git・Vim・DOOMなど30種類近い「無改変で動くソフトウェア」の対応表がある
- 開発の動機は、サーバーサイドWordPressを丸ごとブラウザで動かす「WordPress Playground」の新基盤。作者はエージェントのブラウザ内サンドボックスとしての用途も有望視していると書いている
何がすごいのか——Show HN投稿の説明
投稿者はHacker NewsのShow HN本文でこう説明している。
Kandelo is an open-source, Wasm-based multi-process kernel that runs POSIX programs in browsers and Node.js. Kandelo is still experimental, but it already runs a substantial range of existing software.
(Kandeloはオープンソースの、Wasmベースのマルチプロセスカーネルで、ブラウザとNode.js上でPOSIXプログラムを動かす。Kandeloはまだ実験段階だが、すでにかなりの範囲の既存ソフトウェアを動かせている)
開発の出発点は懐疑的だったと投稿者は振り返る。
I wanted an authentic OS-level foundation for running systems software in the browser and started this as a vibe-coded exploration. I figured it would end up being too slow […] But after weeks of fighting agents, insisting on genuine POSIX compatibility as the default, I was surprised at how well the system worked without those compromises.
(ブラウザ上でシステムソフトウェアを動かすための、本物のOSレベルの基盤が欲しくて、これをvibe-coded(AIエージェントと対話しながらの)探索として始めた。結局は遅すぎる結果になるだろうと予想していた。〔中略〕しかし、本物のPOSIX互換性をデフォルトとして譲らず、エージェントと何週間も格闘した末、そうした妥協なしでもシステムがうまく動くことに驚かされた)
何に使われようとしているか——WordPress PlaygroundとAIエージェントのサンドボックス
投稿本文には、想定される用途が具体的に書かれている。
We are trying Kandelo as a new foundation for WordPress Playground which runs server-side WordPress entirely in the browser. Kandelo also looks promising as a sandbox for running agents in the the browser and on the command line.
(私たちは、サーバーサイドWordPressを完全にブラウザ内で動かす「WordPress Playground」の新しい基盤として、Kandeloを試している。Kandeloは、ブラウザ上やコマンドライン上でエージェントを動かすためのサンドボックスとしても有望に見える)
投稿者はさらに「ゲームやデスクトップ環境の移植で遊んでいる」「Kandelo内でコンパイルして実行可能なプログラムを作る実験もしている」とも述べており、単なるデモにとどまらない実験的な広がりを示している。
GitHub READMEが示す対応ソフトウェア
GitHubリポジトリのREADMEには、ソースコードの改変なしに動くソフトウェアの一覧表がある。主なものを抜粋すると次の通り(README「What runs on it」の表より)。
| ソフトウェア | バージョン | 備考 |
|---|---|---|
| nginx | 1.27 | 静的配信・リバースプロキシ・FastCGI・マルチワーカーfork対応 |
| PHP | 8.4 | CLI+PHP-FPM、FastCGIプロトコル |
| MariaDB | 10.5 | SQLデータベース、Ariaストレージエンジン、5スレッド |
| Redis | 7.2 | インメモリストア、バックグラウンド3スレッド |
| WordPress | 6.7 | nginx+PHP-FPM+SQLiteまたはMariaDBのフルCMS構成 |
| CPython | 3.13 | REPL・スクリプト実行・標準ライブラリ |
| SpiderMonkey | 140 ESR | Node.js互換ランタイムの中核。SharedArrayBuffer・worker_threads・npmインストール対応 |
| Git | 2.47 | バージョン管理の基本操作 |
| Vim | 9.1 | ncurses端末UI付きフルエディタ |
| NetHack | 3.6.7 | curses UIのローグライク |
| fbDOOM | (maximevince版) | カーネルの/dev/fb0(Linux fbdev互換)経由で動くDOOM移植版 |
このほかPerl 5.40・Ruby 3.3・GNU nano・dash・GNU coreutils/grep/sed/make・curl・wget・gawk・tar・gzip/bzip2/xz/zstdなど、Unix系の日常的なコマンド群も一覧に含まれている。README冒頭にはこう明記されている。
All run in both Node.js and the browser with no source modifications.
(すべてがNode.jsとブラウザの両方で、ソースコードの変更なしに動く)
アーキテクチャの骨格
README掲載のアーキテクチャ図によれば、KandeloはSharedArrayBufferとAtomics APIを使ったチャネルIPCで、単一の共有カーネルがすべてのプロセスにサービスを提供する構成になっている。各プロセスは独立したWeb Workerとして動き、muslのlibcとグルーコードにリンクされる。fork()もサポートされているという(Show HN投稿本文より)。仮想ファイルシステム(VFS)を中心に設計されており、VFSには使われるかどうか未確定なプログラムへの遅延参照を含められる——シェルのデモにおけるVimがその一例だとShow HN投稿は説明している。
READMEの「License」節によれば、Kandeloは分割ライセンス方式を採る。カーネル本体・ホストランタイム・SDK・ビルドスクリプトはGPL-2.0-or-laterだが、ユーザープログラムにリンクされるランタイムライブラリ部分(libc/musl-overlay/とlibc/glue/)はMITライセンスだ。READMEは「カーネルはIPCで通信し、リンクではないため、プロプライエタリなプログラムを含め自作プログラムをGPLの影響なしにコンパイル・実行できる」と説明している。
「RESEARCH」タグとAutomattic公式組織アカウント
GitHubのAPIで確認すると、Automattic/kandeloはAutomattic社の公式GitHub組織アカウント(github.com/Automattic、type: Organization、blogリンクはautomattic.com)配下にホストされている。リポジトリ自体の説明文(description)には、Automattic自身の手で次のように書かれている。
RESEARCH: Exploring making a complete POSIX-compatible kernel for running Wasm programs. The idea is to default to completeness and allow developers to explicitly choose which parts of compliance are removed or compromised for the sake of performance and practicality.
(研究: Wasmプログラムを動かすための完全なPOSIX互換カーネルを作れないか探索している。デフォルトでは完全性を優先し、パフォーマンスや実用性のためにどの互換性を落とすかは開発者が明示的に選べるようにする、という考え方だ)
つまり組織としての位置づけは、Automattic公式の「製品」ではなく、Automattic公式の「研究プロジェクト(RESEARCH)」であることが、リポジトリの説明文自体から確認できた。この記事執筆時点でのGitHubスター数は27、リポジトリ作成日は2026年3月17日、最終pushは2026年8月29日。公式ドキュメントサイト(automattic.github.io/kandelo/guide/)自体にも「Draft docs: These docs are unreviewed(草稿のドキュメント:未レビュー)」という注記があり、Kandelo自身のドキュメントも含めてまだ確定版ではないという位置づけが繰り返し明記されている。
公式サイトのライブデモは開いておらず、性能も測っていない
この記事は、Kandelo公式サイト(kandelo.dev)本体がJavaScript必須のSPAで本文取得ができなかったため、Hacker NewsのShow HN投稿本文、GitHubリポジトリ(Automattic/kandelo)のREADME、GitHub API、公式ドキュメントサイト(automattic.github.io/kandelo/guide/)を一次ソースとしている。実際にブラウザでKandeloのライブデモ(kandelo.dev)を開き、nginxやWordPressが動く様子を目視で確認する検証は行っていない。「まだ実験段階」と投稿者自身が明記している通り、モバイルブラウザでは「YMMV(結果は人による)」で、一部のディスクイメージは約50MBあり初回起動に時間がかかるともShow HN本文にある。READMEにはプロファイリング・ベンチマーク用のドキュメント(docs/profiling.md)や、ブラウザの制約をまとめたドキュメント(docs/browser-support.md、docs/wasm-limitations.md)へのリンクもあるが、この記事ではリンク先の具体的な数値や制約の中身までは確認していない。
関連記事: AIコーディングアシスタント比較
感想・指摘はコメント欄へ。
出典・参照資料
AIニュースの解説を動画でも
YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。
コメント
まだコメントはありません。最初のコメントを書いてみませんか?
AIについて聞きたいことはありますか?
質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。
質問箱を見る →新しい記事をメールで受け取る
AIの新しい発表を、出典付きで整理して届けます。