Show HN: MicroCodex コーディングエージェント – OpenAI の Codex を C++ で再実装し、バイナリサイズが 1MB 未満

2026/08/03 5:11

Show HN: MicroCodex コーディングエージェント – OpenAI の Codex を C++ で再実装し、バイナリサイズが 1MB 未満

RSS: https://news.ycombinator.com/rss

要約

日本語翻訳:

## サマリー:

MicroCodex は、C++23 で実装された極めて軽量なコーディングエージェントであり、ローカル端末環境で直接動作します。その主な利点は、リモートサーバー接続を必要とせずにインタラクティブな開発セッションを可能にし、ワンショットプロンプトを処理し、永続的な対話を維持できる点にあります。本ソフトウェアは、長期的な利用時の効率的性を確保するため自動コンテキスト圧縮機能を採用しており、Mac および Linux システム向けにスクリプトまたはバイナリによる簡素化されたインストールをサポートします。ただし、ユーザーはマシンが

libcurl
や OpenSSL などの必須ランタイムライブラリを事前にインストール済みであることを確認する必要があります。ヘッドレスマシンにおいては、デバイス認証フローによって認証が処理されます。MicroCodex は破壊的なコマンド(例:
rm -rf
git reset --hard
)をブロックする辞書形式的な否認リストや OAuth ベースのログインシステムといった安全機能を含んでいますが、開発者はこれがサンドボックスではなく明示的であることを理解する必要があります。bash 安全性ゲートは完全なシェルパーサーとして動作しないため、本ツールは間接的なまたは認識されていないマルウェアコードに対するすべての保護を保証することはできません。したがって、安全なローカルアシスタンスには最適ですが、システムに与える総体的な害を防ぐ点での制限については、ユーザーが注意を払うべきです。

本文

MicroCodex:ローカルターミナルで動作する軽量コーディングエージェント

MicroCodex は、C++23 で書かれた極めて軽量なコーディングエージェントです。以下の機能を備えています:

  • ワンショットプロンプト対応
  • インタラクティブなターミナル UI
  • ローカルコーディングツール連携
  • 耐久性のある会話履歴
  • 自動コンテキスト圧縮機能

クイックスタート

インストールと実行方法

Mac または Linux でのインストール

以下のコマンドを実行して、システムアーキテクチャに合わせて自動的にネイティブビルドされた版をインストールします:

curl -fsSL https://github.com/paoloanzn/microcodex/releases/latest/download/install.sh | sh

起動手順

  1. サインインを行う:
    microcodex login
  2. ブラウザで表示された URL を開く(または
    --device-auth
    フラグを使用)。
  3. セッションを開始:
    microcodex
    またはワンショットプロンプトを渡す。
# インタラクティブセッション
microcodex

# ワンショットプロンプト
microcodex "失敗しているテストを見つけ、修正し、関連するテストスイートを実行してください"

別なインストール方法(GitHub リリースから)

最新のリリースページからバイナリファイルをダウンロードすることも可能です。展開後、実行可能ファイルを

microcodex
として名前変更することをお勧めします。

  • macOS
    • Apple Silicon/arm64:
      microcodex-aarch64-apple-darwin.tar.gz
    • x86_64:
      microcodex-x86_64-apple-darwin.tar.gz
  • Linux
    • x86_64:
      microcodex-x86_64-unknown-linux-gnu.tar.gz
    • arm64:
      microcodex-aarch64-unknown-linux-gnu.tar.gz

特定のバージョンインストール 既定の最新リリースではなく、特定のバージョンをインストールしたい場合は、

MICROCODEX_RELEASE
環境変数を設定します:

curl -fsSL https://github.com/paoloanzn/microcodex/releases/latest/download/install.sh | MICROCODEX_RELEASE=v0.1.0 sh

OAuth サインイン詳細

  • microcodex login
    を実行し、ブラウザで URL を開く。
  • 遠隔マシンやヘッドレス環境の場合:
    microcodex login --device-auth
    を実行し、ワンタイムコードを入力する。
  • クレデンシャルは
    $CODEX_HOME
    (デフォルト:
    ~/.codex
    )に保存されます。

⚠️ 重要:セキュリティの注意点 MicroCodex は完全なサンドボックスではありません。以下の対策が適用されていますが、限界があります:

  • シェル開始前に「強制ファイル削除(
    rm -f
    )」、「ディスクフォーマット」など、危険なコマンドをブロックする辞書的ホワイトリストを使用しています。
  • このガードはシェルパーサーであり、完全なセキュリティ境界ではありません。
  • ホワイトリストに一致しないコマンドやファイル操作は、MicroCodex プロセスと同じ権限で実行されます。

Codex スキルの使用方法

MicroCodex は

$CODEX_HOME/skills
(デフォルト:
~/.codex/skills
)にインストールされたファイルシステムスキルを認識します。

  • 各スキルは
    SKILL.md
    ファイルを持つ必要があります。
  • SKILL.md
    にはスキルの名前は、説明を含んだ YAML フロントマターを記載してください。
  • セッション開始時にスキルメタデータ(名前・説明)がエージェントに提示され、タスクと一致するまでスキル本体は読み込まれません。

ソースコードからのビルド

C++23 コマパイラー、

make
が必要で、Linux 上では開発ファイルとして
libcurl
OpenSSL も必要です。

git clone --recurse-submodules https://github.com/paoloanzn/microcodex.git
cd microcodex
make
  • 実行可能ファイルは:
    build/microcodex
  • テストスイート実行:
    make test

既知のバグと制限事項

  • MCP(Model Context Protocol)サポート: まだ実装されていません。
  • コピー機能: ターミナルでのテキストコピーは現時点では利用できません。
  • セキュリティ限界: Bash セーフティゲートは辞書的ホワイトリストに基づくため、間接的な破壊コマンドや認識できない危険コマンドがブロックされない可能性があります。

ドキュメントとライセンス

  • ドキュメント項目
    • CLI の使い方
    • インストールとビルド
    • テストスイート
  • ライセンス: Apache-2.0

同じ日のほかのニュース

一覧に戻る →

2026/08/03 1:26

Show HN: Kakehashi – Linux ARM で macOS バイナリを実行するための実験的なユーザースペース

## Japanese Translation: Kakehashi は、JIT コンパイルや Apple の専用 SDK に依存せず、Linux aarch64 上で実際の macOS ARM64 ゲストを実行するためのオープンソースで CLI ファーストのユーザースペース翻訳層です。中心となるクリート(`kh-loader`、`kh-runtime`、埋め込まれた `libSystem.B.dylib`)を中心に構成され、システムコールを翻訳するとともに、ゲストのファイルシステムをホストに `/Volumes/linux/…` を介して橋渡しします。具体的には、ゲストの `/usr/local/bin` をホストのバイナリに、`/etc/ssl/cert.pem` を CA バンドルにマッピングします。インストールは `cargo install kakehashi`(ソース:`crates/kh-cli`)で行い、事前に `kh bottle ensure` でボトルを確保します。ツールの追加は `kh install`、実行は `kh run` によって行われます(例:マルチスレッド圧縮用の `kh run 7zz -- -mmt=4` や、単に `kh run curl --` など)。Linux aarch64 ベアメタル、VM、Docker/Colima(ヘルパーがアーティファクトを `.tmp/kh-out/` に出力)上で動作し、Rust 1.88 以上(Linux aarch64)、コンテナの種類に応じて 4 KiB または 16 KiB のページサイズに対応します。ベンチマークの結果では、Linux 側のマルチファイル 7-Zip 圧縮とネイティブ実行を比較した場合の全実行数のギャップは約 5.2 倍ですが、単一ファイルまたは圧縮負荷の重いワークロードではオーバーヘッドは約 1.1〜1.2 倍に留まります。Darwin クライアントツールを高価な macOS ランナー($0.062〜$0.102/分)ではなく、低価格な Linux ARM64 ランナー($0.005/分)上で実行できるため、パフォーマンスのオーバーヘッドがあっても Kakehashi は多くの場合で費用対効果に優れています。Apache 2.0 ライセンスの下にあり、Darling から派生していない本ツールは、自動化された CLI ワークフローのためにエコシステムを橋渡しする無料の代替手段を提供します。

2026/07/28 23:21

メモTaking とパーソナルナレッジ管理

## Japanese Translation: 本稿の主要な論旨は、ブレンnan ケネス・ブラウンの記事に対し、ノートツール「Obsidian」に独自の知的価値を誤って帰属させ、不均衡な見解を示していることを批判しています。著者は、ソフトウェアが整理を助けることは事実だが、画期的なアイデアそのものの源泉ではないと主張します。証拠によると、ブラウンは Obsidian が複雑なシステムであるかのように誤って描写しており、実際には 1994 年頃の技術に準じるような個人的なウィキとして機能しています。この分析では、PARA やニコラス・ルーマンが使用した歴史的なゼッテルkasten メソッドなど、確立された枠組みを参照して議論の文脈を設定し、そのようなツールは人間の創造性を置き換えるのではなくそれを支援するに過ぎないと指摘します。さらに、Obsidian のダウンロード数が約 75 万回に達しているにもかかわらず、それは 460 億ドル規模の巨大な業界内で運営されており、その現在の影響は限定的であることを示唆しています。この批判は、世界を変えるような貢献を直接ソフトウェアに帰属させることは誤った結論と不確実な引用につながることを警告しています。結局のところ、ユーザーはこのツールを独自性の源泉ではなく、個人的な解決策のための基盤として認識するべきです。 ## Text to translate: The central argument critiques Brennan Kenneth Brown's article for presenting an unbalanced view that wrongly attributes unique intellectual value to the note-taking tool Obsidian. The author asserts that while software facilitates organization, it is not the source of groundbreaking ideas itself. Evidence shows Brown mischaracterizes Obsidian as a complex system when it functions essentially as a personal Wiki, comparable to technologies from 1994. This analysis contextualizes the debate by referencing established frameworks like PARA and the historical Zettelkasten method used by Niklas Luhmann, noting that such tools merely support human creativity rather than replacing it. Furthermore, despite Obsidian having roughly 750,000 downloads, it operates within a vast $46 billion industry, suggesting its current impact is limited. The critique warns that attributing world-changing contributions directly to the software leads to flawed conclusions and inconclusive citations. Ultimately, users should recognize these tools as foundations for personal solutions rather than engines of original thought.

2026/08/03 5:26

FamilyWild を用いたホスト間の X11 サーバー共有

## Japanese Translation: 2026 年 8 月 2 日、隔離環境(コンテナや chroots など)内または非転送された SSH 接続上でグラフィカルな X11 アプリケーションを動作させる際に生じる「Authorization required, but no authorization protocol specified」というエラーを解決するための方法が詳述されました。根本原因は、`.Xauthority` クッキーが family と hostname の双方で鍵付けされており、クライアントが自分のマシン名と一致しない hostname を持つクッキーを拒絶する点にあります。 解決策は、クッキーの family フィールドの最初の 2 バイトを `0100`(`FamilyLocal`)から `0xffff`(`FamilyWild`)に書き換えることです。これには以下のコマンドを使用します:`xauth nlist :0 | sed 's/^..../ffff/' | xauth -f /tmp/portable.Xauthority nmerge -`(`:0` を `$DISPLAY` に置き換えてください)。family を `FamilyWild` に変更することで、クッキーは任意の hostname に対して有効となり、hostname が不一致のクライアントからの接続も可能になりつつ、ホストベースのアクセス制御を完全に無効にすることなく済みます。 これを使用するには、生成された `/tmp/portable.Xauthority` ファイルを bind-mount または SCP でクライアント環境に移動し、`$XAUTHORITY` 変数を指すように設定します。ただし、厳格なセキュリティ上の注意が必要です:`FamilyWild` クッキーはローカルなものよりも特定の情報が少ないため、ソケットアクセスがありファイルを閲覧できるあらゆるユーザーが表示器に接続できるようになります。そのため、ファイルのパーミッションは必ず 0600 を維持し共有マシンにはコピーを残すべきではありません。このアプローチは、ホストベースのセキュリティを完全に無効にする `xhost +` の使用や、全クッキーをクリアしつつ無効なエントリを残そうとする危険な方法よりも優先されます。著者はこのトリックを、特別に非特権 LXC コンテナへの X11 転送のために適用しています。

Show HN: MicroCodex コーディングエージェント – OpenAI の Codex を C++ で再実装し、バイナリサイズが 1MB 未満 | そっか~ニュース