MIT License 2 ファイル / 約 40 KB 改変・商用利用可
SlimeTree-RLM Prompt Gateway ― ソースコード公開
Gateway デモ の全ソース (HTML + mock JS) を MIT License で公開。複製・改変・再配布・商用利用すべて自由。実 WASM (約 272 KB) のみ別商用ライセンス。
⬇ index.html (33 KB) ⬇ slimetree-rlm-mock.js (7 KB) ⬇ LICENSE.txt (2 KB)
1. ファイル構成
| パス | サイズ | 役割 |
|---|---|---|
| index.html | ~ 33 KB | Gateway 本体。Meta ログイン / Claude key 管理 / プロンプト送信 UI / D·μ·R 経路の リアルタイムパイプライン可視化 / WAL 監査 UI を 1 ファイルに集約。外部依存は Facebook SDK のみ (オプション) |
| slimetree-rlm-mock.js | ~ 7 KB | SlimeTree-RLM 公開 API (init / route / getAudit / exportWAL / rollback) をエミュレートする ES module。SHA-256 chain は crypto.subtle で実演算 (改竄検知も実動作) |
| LICENSE.txt | ~ 2 KB | MIT License 全文 + 適用範囲の注記 |
.txt 版 (text/plain) または .js 版 (application/javascript) として直接表示されます。右クリック →「保存」または各リンク末尾の download 属性でローカル保存可能。
2. ライセンス全文 MIT License
2.1 適用範囲 (scope)
本 MIT License は index.html と slimetree-rlm-mock.js の 2 ファイルのみに適用されます。以下は対象外で、別ライセンスです:
- 実 SlimeTree-RLM WASM バイナリ (約 272 KB) ― JAVATEL 商用ライセンス
- Rust ソース crate (slimetree-rlm-core 等) ― 商用ライセンス + NDA
- 特許請求項 1-44 ― 別途実施許諾
本デモの mock は API 形状 (関数名・引数・戻り値の shape) のみ再現しており、実装の内部 routing / 推論 / 監査ロジックは含みません。
3. 公開 API surface
mock も実 WASM も、同じ public API を持ちます。実 WASM 差替時は import 文 1 行を変えるだけ。
| シグネチャ | 戻り値 | 説明 |
|---|---|---|
await init() |
Promise<SlimeTreeRLM> |
初期化。実 WASM 版では WASM ロード + linear memory 確保 |
await rlm.route(text) |
{ verdict, payload, record_id, wal_head, latency_ms, source, suppress_reason } |
入力テキストを判定。verdict は 'D' (即応) / 'μ' (抑制) / 'R' (LLM 委譲) のいずれか |
await rlm.getAudit() |
{ verified, record_count, head_hash, broken_at } |
WAL chain 全件を SHA-256 で再検証。broken_at は破壊された record_id |
await rlm.exportWAL() |
string (JSON) |
WAL 全件を JSON シリアライズ (S3 等にアーカイブ用) |
await rlm.rollback(ts_unix_ms) |
{ rolled_back_count, new_head, new_count } |
指定時刻より新しい record をすべて破棄 |
4. 差替えポイント ― mock → 実 WASM
実 WASM (約 272 KB) を入手したら、index.html 内の 1 行を変えるだけで切替えできます。
// === mock 版 (現状) ===
import { SlimeTreeRLM } from './slimetree-rlm-mock.js';
const rlm = new SlimeTreeRLM();
await rlm.init();
// === 実 WASM 版 ===
import init, { SlimeTreeRLM } from './slimetree_rlm.js';
await init({
module_or_path: './slimetree_rlm_bg.wasm',
// shared memory を使う場合は memory: new WebAssembly.Memory({ shared: true, ... })
});
const rlm = new SlimeTreeRLM({ capacity: 16 * 1024 * 1024, audit: true });
他の呼出 (rlm.route(text) 以降) は完全に同じです。チュートリアル 中級編 に shared memory + COOP/COEP の設定が、高度編 に WebWorker pool + 永続化があります。
5. 使い方 ― 自分のサイトに組込む
- 上記 3 ファイル (
index.html+slimetree-rlm-mock.js+LICENSE.txt) を任意の静的ホストに置く - (任意)
index.htmlの__JAVATEL_META_APP_ID__を自分の Meta App ID に置換 → Facebook ログイン有効化 - (任意)
KNOWN_FACTSとMUTE_TRIGGERS(slimetree-rlm-mock.js内) を自分の事業ドメインに合わせて調整 - HTTPS でホスト → ブラウザで開く → ゲストログイン or Meta ログインで開始
静的 HTTP サーバとして十分動作 (Node / Apache / nginx / GitHub Pages / Cloudflare Pages / Vercel すべて OK)。サーバサイドの実行環境は不要。
6. 改変例 (アイデア)
- 業界別事実テーブル:
KNOWN_FACTSに医療 / 金融 / 法務 の定型 Q&A を追加 → D ヒット率が上がり Claude 呼出が更に減少 - R を別 LLM へ:
callClaude()を Gemini / Llama / 自社モデルの呼出に置換 - WAL を IndexedDB / OPFS に永続化:
exportWAL()の結果を保存、起動時に復元 - 多段ゲート:
Rをさらに細分 (R-safe / R-needs-review / R-deny) し、人手レビュー段を挟む - SAB-backed shared memory: 実 WASM 版で WebWorker pool を組み、並行 routing + 並行 audit
7. 関連
- 稼働中デモ: SlimeTree-RLM Prompt Gateway
- setup ガイド: Meta App + Claude key + nginx 設定
- 製品ページ: SlimeTree-RLM 製品詳細
- 一次資料: SlimeTree-RLM 一次資料 (ベンチ + 論文 + 特許)
- チュートリアル: 入門 → 中級 → 高度
- カテゴリ: DEVICE 製品 / Resource トップ
