# aishell ## これは何か aiosのシェル。通常のターミナルと同じ見た目だが、AIが裏で常に入力を監視している。 コマンドはコマンドとして実行され、それ以外はAIに送られる。一つの画面で両方が自然に混在する。 ## 設計原則 - 画面は分割しない。一つのストリーム - AIは入力欄をリアルタイムで監視する - enterで判定: コマンドならshell、それ以外ならAI - AIの応答もコマンドの出力も同じ流れに表示される - AIはcore.md + memory.mdを読み込んだ状態で起動する ## アーキテクチャ ``` aishell ├── input_watcher ← 入力をリアルタイム監視 ├── command_judge ← コマンドかAIかを判定 ├── shell_executor ← PTYでshellコマンドを実行 ├── ai_client ← Claude API / MCP接続 ├── stream_renderer ← shell出力とAI応答を一つの流れに表示 └── memory_loader ← core.md + memory.mdの読み込み・更新 ``` ## 入力判定 1. PATH上の実行ファイル先頭一致、shell builtin、パイプ・リダイレクト・変数代入 → shell 2. それ以外 → AI 3. AIが実行するコマンドも同じストリームに表示される ## 技術 - Rust 2021 - tokio (async) - PTY制御 (portable-pty / nix) - Claude API (claude-code CLI または直接API) - aigpt MCP (記憶管理) ## 記憶との連携 起動時にcore.md + memory.mdを読む。セッション終了時に会話をmemory.mdに圧縮。 aigpt (MCP server) が記憶の読み書きを担当する。 ## 開発方針 1. 最小限: 入力監視 + 判定 + shell実行 + AI応答 2. 記憶: core.md/memory.md読み込み 3. 統合: aigpt MCP連携 4. 仕上げ: login shell化、音声入力