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 全文 + 適用範囲の注記
ソース閲覧: 上記 path のリンクをクリックすると .txt 版 (text/plain) または .js 版 (application/javascript) として直接表示されます。右クリック →「保存」または各リンク末尾の download 属性でローカル保存可能。

2. ライセンス全文 MIT License

MIT License Copyright (c) 2026 JAVATEL Inc. <https://javatel.co.jp/> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

2.1 適用範囲 (scope)

本 MIT License は index.htmlslimetree-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. 使い方 ― 自分のサイトに組込む

  1. 上記 3 ファイル (index.html + slimetree-rlm-mock.js + LICENSE.txt) を任意の静的ホストに置く
  2. (任意) index.html__JAVATEL_META_APP_ID__ を自分の Meta App ID に置換 → Facebook ログイン有効化
  3. (任意) KNOWN_FACTSMUTE_TRIGGERS (slimetree-rlm-mock.js 内) を自分の事業ドメインに合わせて調整
  4. 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. 関連

← Gateway デモへ戻る 商用ライセンス・受託について