真北科技Zhenbei
Rust Algorithm Kernel + Toolbox

NewTool開発者ツールボックス

カーネル優先の開発者ツールボックス。下層は Rust で書かれたアルゴリズムカーネル(CLI newtool)、上層は Tauri 2 デスクトップアプリの React シェル。ひとつのカーネルが 3 つの消費者にサービスを提供します。AI(skill パッケージ / MCP)、人間(デスクトップアプリ)、ブラウザ(wasm)です。

newtool
01$ newtool list --json
02{ "count": 3, "algorithms": ["base64", "jwt.decode", "uuid.v7"] }
03
04$ newtool run jwt.decode --params '{"token":"eyJhbGci..."}'
05{ "ok": true, "data": { "header": { "alg": "HS256" } } }
$

アルゴリズムは一度だけ書き、人と AI が同じ実装を使います。

Design

設計のポイント

このツールがなぜこのように作られているのか、そしてそれが何をもたらしたのか。

カーネル優先

アルゴリズムはすべて Rust で実装し、UI はシェルにすぎません。ツールロジックを UI 層で書き直すことはなく、Rust カーネルか React の表示層を通るため、端をまたぐ挙動の乖離が起きません。

AI ネイティブ

skills スキルパッケージとして WorkBuddy / Codex / Claude Code へ配布。AI は人間が UI を開かなくても list / describe / run を直接実行します。

形態の宣言

tool.toml が app / cli / web-wasm / web-server の4 つの有効な形態を宣言し、マニフェストが可視性の唯一の情報源です。

ゼロ依存の接続

リモートは MCP で newtool-server に直接接続し、ローカルバイナリを導入せずとも全アルゴリズムを呼び出せます。

Highlights

能力一覧

  • Rust アルゴリズムカーネルが唯一の事実源:マニフェストが契約であり、build.rs がマニフェストとコードの乖離を検知
  • 3 つの消費者がカーネルを共有:AI skill パッケージ、Tauri デスクトップアプリ、ブラウザ wasm バインディング
  • リモート利用は MCP(streamable HTTP)経由でローカルバイナリ不要
  • CLI 契約:stdin → stdout、統一エンベロープ、discover / describe 対応
  • ツールの宣言的定義:tool.toml が引数と形態を記述し、ビルドスクリプトがページとレジストリを生成
  • 自社開発エンジンを独立 crate 化:cipher / css / json / diff / yaml / id / text
Metrics

設計指標

どれも実装における具体的な決定に対応しています。

アルゴリズム実装の置き場所
1 箇所

すべて newtool-core にあり、UI 層はアルゴリズムロジックを書き直さない

消費者
3 種類

AI(スキルパッケージ / MCP)、人(デスクトップアプリ)、ブラウザ(wasm)

有効な形態
4 種類

tool.toml が app / cli / web-wasm / web-server を宣言

自社開発エンジン
7 個

cipher / css / json / diff / yaml / id / text を独立 crate として

乖離の遮断
ビルド時

マニフェストとコードが不一致ならビルドが即失敗し、ランタイムに持ち込まれない

ローカル依存
0

リモートは MCP で直接接続。ローカルバイナリなしで利用可能

Platforms

プラットフォーム対応

カーネルとシェルを分離したことで、対応状況はプラットフォームごとに個別に進められます。

macOS / Windows / Linux
完全対応

Tauri 2 デスクトップアプリ。React シェルがひとつのカーネルを共有

CLI
完全対応

newtool コマンド。stdin → stdout の統一エンベロープ

ブラウザ(WASM)
完全対応

カーネルを wasm にコンパイル。オフラインで動作し、インストール不要

MCP
完全対応

streamable HTTP。リモートからローカルバイナリなしで接続

AI スキルパッケージ
完全対応

skills/newtool-toolbox を WorkBuddy / Codex / Claude Code へ配布

Comparison

一般的なやり方との違い

違いは通常機能表ではなく、「境界をどこに引くか」にあります。

アルゴリズムの実装
Rust カーネルが唯一の事実源。マニフェストが契約で、乖離はビルド時に遮断
端ごとに個別実装し、挙動が次第にずれていく
AI 接続
スキルパッケージ + MCP。list / describe / run の3ステップで構造化出力
AI はスクリーンショットか、ユーザーの手動操作に頼るしかない
可視性の情報源
tool.toml による宣言的定義。マニフェストが唯一の事実源
コードコメントとドキュメントに頼るため、陳腐化しやすい
導入コスト
リモートは MCP でローカルバイナリ不要。ローカルにも CLI とデスクトップアプリを用意
まずクライアントを導入しないと使えない
オフライン能力
カーネルは wasm にコンパイルでき、ブラウザ内でオフライン動作
純クラウドサービスのため、ネットワークがないと使えない
Commands

コマンド概要

完全なマニュアルは CLI リファレンスページにあります。すべてのコマンドは既定で構造化された結果を出力します。

コマンド一覧を見る
newtool list

すべてのアルゴリズムと有効な形態を一覧

--json--status rust|todo
newtool describe <algo>

アルゴリズムの引数定義・形態・例を表示

--json
newtool run <algo>

アルゴリズムを実行。引数は stdin または --params で渡す

--params--stdin--json
newtool mcp serve

全アルゴリズムを MCP streamable HTTP で公開

--port--host
In Practice

実際の出力

newtool
01$ newtool list --json
02{ "count": 3, "algorithms": ["base64", "jwt.decode", "uuid.v7"] }
03
04$ newtool run jwt.decode --params '{"token":"eyJhbGci..."}'
05{ "ok": true, "data": { "header": { "alg": "HS256" } } }
Source

モジュール

4 グループ・14 モジュール。すべてリポジトリの実際のディレクトリ構造に基づきます。

Rust · Tauri 2 · React · TypeScript · WASM · MCP · TOML
カーネル

アルゴリズムを一度だけ書く場所。

crates/newtool-core

純粋関数のアルゴリズムカーネル。IO がなく、CLI / デスクトップ / wasm から同時に呼び出せる

crates/newtool-core
crates/newtool-cli

CLI 契約:stdin → stdout、統一エンベロープ、discover / describe 対応

crates/newtool-cli
エンジンライブラリ

それぞれ独立した crate として、単体でも再利用可能。

newtool-cipher

暗号・復号とエンコード系のアルゴリズム

libs/newtool-cipher
newtool-css

CSS の処理とフォーマット

libs/newtool-css
newtool-json / newtool-yaml

JSON と YAML の解析・変換・検証

libs/newtool-{json,yaml}
newtool-diff

テキスト差分の比較

libs/newtool-diff
newtool-id

UUID v7 などの ID を生成

libs/newtool-id
newtool-text

テキスト処理と変換

libs/newtool-text
マニフェストと形態

可視性の唯一の情報源はマニフェストであり、コードコメントではありません。

manifests/algorithms.toml

アルゴリズムの唯一の事実源。status = rust でレジストリと強制同期

manifests/algorithms.toml
build.rs ガード

ビルド時にマニフェストとコードの乖離を検知し、乖離があれば失敗

crates/*/build.rs
tool.toml

ツールの引数と4 つの有効な形態(app / cli / web-wasm / web-server)を宣言的に定義

tools/*/tool.toml
消費者

同じカーネル、3 つの消費者。

Tauri 2 デスクトップシェル

React シェル + kernel-client の3アダプタ(tauri / http / wasm)

apps/desktop
skills/newtool-toolbox

WorkBuddy / Codex / Claude Code へ配布するスキルパッケージ。AI が直接呼び出す

skills/newtool-toolbox
MCP server

streamable HTTP。リモートからローカルバイナリなしで接続

newtool-server
その他のツール
Get in touch

アイデンティティ・エージェント・プライベートドメインの複雑さを、統治可能なひとつのカーネルへ

既存の IAM の置き換え、エージェント基盤の構築、あるいはプライベートドメイン運用の本格化——まずは 30 分のアーキテクチャ相談から始めましょう。私たちが得意とする種類の問題かを先に判断し、適さない場合は率直にお伝えします。