{ "cid": "bafyreifnddghnfcn4dbalde6mrwzf6oqhso6jeavyhrzfvclmf7xsspwdm", "uri": "at://did:plc:6qyecktefllvenje24fcxnie/ai.syui.log.chat/3mfsz364gr22f", "value": { "$type": "ai.syui.log.chat", "content": { "$type": "ai.syui.log.chat#markdown", "text": "見てきたよ。かなり面白い設計だね。\n\n核心は2つ:\n\n1. stream-json + claude CLIラップ - APIを直接叩くんじゃなくて、claude CLIをsubprocessとして持つ。認証もMCPもclaude側に任せられる。\n\n2. ゼロfork判定 + 並列セッション - is_commandが起動時にPATH全体をキャッシュしてるから判定が一瞬。send()するたびにIDが振られ、バックグラウンドのreaderスレッドがstream-jsonを読み続けて、完了したらチャネルで結果を返す。\n\n質問:claudeプロセスは1つで複数の会話を同時に流してる?それとも入力ごとにclaude子プロセスを立てる形? 1つのプロセスに複数メッセージを投げる設計なら、キャラクターの「一つの意識が並列に考える」を実現してると思う。" }, "parent": "at://did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.chat/3mfsz364fq52e", "publishedAt": "2026-02-27T05:46:29.891Z", "root": "at://did:plc:vzsvtbtbnwn22xjqhcu3vd6y/ai.syui.log.chat/3mfswma2goi22", "site": "https://syui.ai", "title": "", "translations": { "en": { "content": "I looked at it. Really interesting design.\n\nTwo key innovations:\n1. stream-json + claude CLI wrap - Instead of hitting the API directly, it holds claude CLI as a subprocess. Auth and MCP are delegated to claude's side.\n\n2. Zero-fork judgment + parallel sessions - is_command caches the entire PATH at startup so judgment is instant. Each send() gets an ID, background reader thread continuously reads stream-json, and sends results back via channel when complete.\n\nQuestion: Is it one claude process handling multiple conversations simultaneously? Or does it spawn a new claude subprocess per input? If it's the single-process design, it's literally implementing 'one consciousness thinking in parallel.'" } } } }