xiaojilele-glitch/WhyBuddy
A Simple and Universal Product Rehearsal Engine, Speccing Anything. 简洁通用的产品推演引擎,推演万物。
🎯 SlideRule (WhyBuddy) とは
SlideRule はオープンソースの製品リハーサルエンジンです。製品アイデアを説明する一文を与えると、システムは完全な製品仕様、UI モックアップ、データモデル、さらには実行可能なウェブアプリまで、決定的で段階的な作成プロセスを案内します。すべてブラウザ内で行われます。各中間成果物は、次のステップに進む前に明示的な「ゲート」(証拠チェック)を通過する必要があるため、最終アプリは「LLM が完了と言った」だけではなく、具体的で監査可能な作業によって保証されます。
🛠️ 中核概念とワークフロー
| フェーズ | 何が起こるか | 誰/コンポーネント |
|---|---|---|
| 意図 | 一文を入力します(例:「ペットクリニックの予約」)。 | クライアント UI |
| コントロールプレーン | 文はスコープカードと前提カードに変換され、リハーサルを駆動します。 | rehearsal_control (Node/TS) |
| 仕様 → ページ → 構造 → バインド | 仕様ファーストパイプラインが要件仕様、次に UI ページ、次にデータ構造グラフを生成し、最後にすべてをバインドします。 | spec-first パイプライン (Python) |
| 前提レビュー | 隠れたモデル分岐はカードとして表示されます。ユーザーは続行する前に確認する必要があります。 | spec.assumptions |
| 公開クロージャ | 6 つの必須「スキル」(証拠、RBAC、ワークフロー、データ、AIGC など)がすべてチェックされます。ゲートが失敗した場合、リハーサルは改善のために一時停止されます。 | publish closure |
| 実行 / 改善 | 完全に機能するウェブアプリがブラウザで起動されます。反復、修正、エクスポートが可能です。 | ブラウザランタイム + コントロールプレーン |
ループ全体はリポジトリの Live path 図で視覚化され、ホストされたデモですぐに試せます(バックエンドや API キーは不要)。キーが提供されると、LLM は OpenAI 互換エンドポイントを介してブラウザ内で実行されます。
🚀 内部の仕組み
| レイヤー | 技術 | 役割 |
|---|---|---|
| フロントエンド | Vite + React (TypeScript) | 意図の作成、リハーサルステップの表示、生成されたアプリの実行のための UI。 |
| 軽量プロキシサーバー | Express (Node) | /api/sliderule と /api/agent-loop エンドポイントを公開し、Python エンジンに転送します。 |
| オーソリティエンジン | FastAPI (Python) – slide-rule-python |
決定的パイプライン、ゲートチェック、アーキテクチャグラフ検証を実装します。 |
| 共有コントラクト | shared/ (JSON スキーマ) |
TS と Python 間で同じデータモデルを保証します。 |
| スキルパッケージ | skills/sliderule.zip |
自己完結型の「スキル」で、任意の TRAE/Claude スタイルのエージェントホストにドロップできます。文を完全な仕様パッケージに変換します。 |
| Docker | docker‑compose.yml |
ワンコマンドの開発/本番スタック(Node + Python、オプションで MySQL、Redis、Lobster エグゼキュータ)。 |
すべてのアーキテクチャ図はコードから生成され(arch_graph.py / arch-graph-ts.mjs)、視覚表現が実際の実装から乖離しないことを保証します。
📦 クイックスタート (Docker)
# クローンして設定
git clone https://github.com/2686521696/WhyBuddy.git && cd WhyBuddy
cp .env.example .env # OpenAI 互換の LLM_API_KEY を追加
# スタックをビルドして実行
docker compose up -d --build
# UI を開く
open http://localhost:3000/agent-loop/sliderule
LLM キーを省略すると、エンジンは決定的テンプレートにフォールバックするため、UI は探索用に引き続き機能します。
🧪 ソースから実行(Docker なし)
pnpm install # TS 依存関係をインストール
pnpm run dev:all # Vite (3000) + Node プロキシ (3001) + Python FastAPI (9700)
上記と同じ URL を開きます。リポジトリは、軽量な dev:sliderule モード(フロントエンド + Python のみ)と、オフラインデモ用の UI のみの dev:frontend モードも提供します。
🎓 ユースケース例(README より)
- ペットクリニックの予約とトリアージ – トリアージ UI を備えた完全な予約フローを生成します。
- 中古楽器委託販売 – 台帳、査定ワークベンチ、カレンダービューを作成します。
- 脚本殺人イベント会場スケジューリング – セッションボード、申し込みフォーム、相乗り調整を構築します。
- フィールドレベルの権限を持つ調達承認 – RBAC でロックされた承認状態機械を備えた 5 システムモデルを生成します。
各例は、意図 → 仕様 → UI → 実行可能アプリというエンドツーエンドのパスを示し、すべて証拠チェックによってゲートされています。
📊 プロジェクト規模(リポジトリ時点)
- 9,313 の追跡ファイル
- 3,336 の TS/TSX ファイル(約 945 k 行の TypeScript)
- 817 の Python ファイル(約 226 k 行の Python)
- 2,018 のテストファイル
- 2,205 のライブモジュール(実行中システムの一部であるモジュール)
🤝 貢献
プロジェクトはゲート付きマージワークフローを使用します:
bash scripts/merge-gated.sh <branch> "msg" # → pre_main
bash scripts/merge-gated.sh pre_main "msg" main # → main
ローカルで pnpm run check && pnpm run test を実行し、Python テストは次のコマンドで実行します:
slide-rule-python/.venv/bin/python -m pytest slide-rule-python/tests/ -q
完全なガイドラインは CONTRIBUTING.md を参照してください。
📄 ライセンスとリンク
- ライセンス: MIT
- ライブデモ: https://2686521696.github.io/WhyBuddy/agent-loop/sliderule
- メインリポジトリ: https://github.com/2686521696/WhyBuddy
- 製品サイト: https://sliderule.ai
- 受賞: TRAE Pioneer Skill Award 2026‑07
SlideRule は「ワンクリックアプリジェネレーター」ではありません。その価値は、コードがリリースされる前に、すべての設計決定を可視化し、監査可能にし、元に戻せるようにすることにあります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト