vibe-coders
v0.8.0
Published
Repository-based resident agent with shared terminals, memory and desktop.
Readme
Vibe Coders
リポジトリを拠点に動く常駐エージェント。Hono + Bun + React、SQLite + Drizzle、Atom Memoryを使用しています。
起動
Bun 1.3.14以上を先にインストールしてください。この配布物は0.8.0です。
npm install -g vibe-coders@latest
vibe-coders setup
cd /path/to/workspace
vibe-coders init
vibe-codershttp://127.0.0.1:3100 を開き、親AIの接続方法を選びます。Codexサブスクは端末の保存済み認証を自動利用します。OpenRouter・OpenAI互換APIはURLとAPIキーを設定します。どちらもモデルpickerで一覧から検索・選択でき、モデル名を直接入力することもできます。親モデルが未設定でも、設定画面とターミナルは利用できます。
機能
- チャット、画像・テキスト・PDF添付、非同期の人間入力、認証再確認
- チャットの下書き・添付画像をブラウザへ保存、長い会話の自動要約(元の履歴は保持)
- ファイルの編集・差分・内容照合つき復元、shell・PTY、同じ端末の手動操作、再起動時の状態復帰
- デッキ・複数端末のグリッド・最大化・モバイル切り替え、Codex / Claudeを含む任意CLIの共通shell実行
- 継続的な標準入力、EOF、イベント待機、PTYの現在画面、人間とAIによる同じシェルの直接操作
- stdio / HTTP MCP、導入依頼・動的追加・更新・再接続、複数選択・初期値付きフォーム、URL認証、OAuth(事前登録クライアントにも対応)
- Codexのサブスク枠で親エージェントを実行。ChatGPTログイン、モデル一覧、画像・ツール呼び出し、認証待ちからの再開
- Linuxのデスクトップを自動接続。画面のないホストには専用の仮想画面、Chrome・端末の起動、AI操作中のプレビュー
- WebSocketによる即時の端末入出力、コピー・貼り付け・文字サイズ・全画面
- 発火ごとに新しい会話で動く自動実行、Atomの保存と自動取得
- 会話単位のMCP読込、Codex / Claudeの応答完了通知、履歴と画像の保存期間設定
atom.toml と AGENT.md が作業Homeの構成です。設定・資格情報・DBは既定でリポジトリ外へ保存します。vibe-coders doctor で利用可能な機能を確認できます。
旧 @tako0614/vibe-coder から改名しています。保存先は従来の ~/.config/vibe-coder と ~/.local/share/vibe-coder、環境変数は VIBE_CODER_* を引き継ぎます。同じHomeで起動すると既存の設定・会話・記憶を使用できます。
モデル変更はチャット内で完結します。設定画面は認証と接続先の管理に使用します。API接続はモデルを未選択のままキーを保存でき、チャットでモデルを選ぶと待機中の依頼を開始します。
実行環境
初期リリースの実機検証対象はLinuxです。WindowsのPTYはnode-pty / ConPTYの経路を用意していますが、Windows・macOSでの実機検証は別途必要です。
PDFにはPopplerの pdftotext、X11直接操作には xdotool とImageMagickが必要です。PDFは先頭20ページまでのテキスト層を扱い、スキャン画像のOCRは含みません。
Linuxでは起動時にアクセス可能なX11画面を確認し、なければ認証付きXvfbとVNCをこのホストに起動します。Debian / Ubuntuでは不足パッケージをrootまたはパスワード不要のsudoで自動導入します。権限が足りない場合は実行するコマンドを画面に表示します。Chrome / Chromiumはホストにインストールされたものを専用プロファイルで開きます。通常のWayland画面・macOS・Windowsの直接自動接続は未対応で、手動VNCを使用します。
手動VNC方式は、RFB 3.3 / 3.7 / 3.8のraw encodingとNone / 標準VNC password authenticationに対応します。対象OS側でVNCサーバーを有効にします。別ホストへ接続する場合は、SSH転送等でバックエンドのloopbackへ接続してください。OS固有の画面共有認証をすべて実装するものではありません。
「npmパッケージから導入」はAI未接続でも使えます。バージョンを固定して導入し、MCPへ接続してツール一覧を取得します。認証情報が必要なら専用入力を出し、保存後に接続を再開します。
MCPは「設定・接続 → MCP → 接続を追加」でコマンド・HTTP接続を手動登録し、一覧から編集・認証できます。AIに任せる場合はチャットから「Chromeを導入してMCPで接続して」と依頼できます。親がOS・既存環境を確認し、通常のChromeと必要なMCPを導入・登録・接続します。親モデルと対象ホストへの操作経路が必要です。Chromeのリモートデバッグ許可など、本人操作が必要な箇所は入力カードへ回します。
Codexサブスクは既存の CODEX_HOME/auth.json(既定 ~/.codex/auth.json)をそのまま使います。有効な認証があれば再ログインなしで利用できます。設定で「Codexを使う」を選び、チャット入力欄のモデルpickerでモデルを検索・選択するかIDを直接入力します。認証がない場合だけWebUIのコード・ブラウザ認証を使います。keyringのみの認証読取は未対応です。CLIで設定する場合は vibe-coders provider configure --kind codex --model MODEL_ID です。親はアプリ内のResponses接続で推論し、Vibe CodersがMCP・ファイル・予定・記憶を実行します。APIキーは不要です。
認証が必要な間は親の推論を待機し、ログイン完了で元の依頼を再開します。Codexが認証情報を保存・更新し、アプリが認証情報を会話・モデル入力・Atomへ渡すことはありません。サブスクの利用枠不足をAPI課金へ自動で切り替えません。Codexのサブスク向け接続仕様の変更によって更新が必要になる場合があります。
全停止は管理下の実行を止めます。任意shellは起動したOSユーザーの権限で動きます。WebUIは単一所有者向けの管理画面です。外部公開する場合はHTTPSと正確な VIBE_CODER_ORIGIN を設定してください。
Atom Memoryは0.9.0を使用し、Bun SQLiteと長い語彙検索用のパッチを適用してbundleしています。依存ライブラリのライセンス文は THIRD_PARTY_LICENSES.txt に同梱しています。
0.2.0から子実行専用のnativeツール・APIを廃止しました。Codex / Claudeも通常のshellコマンドとして起動します。Codexサブスクの親モデル接続とログインは利用できます。0.7.0ではshell・computer use・外部MCPを独立した実行ホストが保持します。agent側の再起動後も同じ実行へ戻れます。実行ホスト自体やOSを停止すると実行は中断し、自動再実行しません。vibe-coders execution status で状態を確認し、vibe-coders execution stop で明示的に停止できます。
チャットの「シェル」「画面」から、同じ会話の実行環境を横に開けます。AIがシェルや画面を使い始めたときも自動で開きます。画面を閉じてもプロセスは継続し、AIの一時停止も起動済みシェルを終了しません。操作の引数・結果は会話中の履歴を展開すると確認できます。
チャットの「画面」で右パネルを開き、+ から複数の独立した仮想デスクトップを作成できます。画面ごとにシェル・Chromeプロファイル・MCPの対象を管理します。人間とAIは同じ画面を操作でき、許可・引き継ぎ操作は不要です。Codex/OpenRouterの対応モデルでは、チャットのモデル名の横からeffortを選択できます。
チャットのモデルメニューから保存済みの接続先を切り替えられます。OpenRouter・OpenAI・互換APIのキーは「設定・接続」で接続先ごとに暗号化保存し、モデルとeffortも保持します。Codexは端末の認証を使います。ターミナル・デスクトップ・予定・記憶・ファイル・入力依頼は左サイドバーから開きます。
記憶の整理と意味検索
0.6.6では、現在の依頼と作業の観測から関連するAtomを自動想起します。同じ状態では取得結果を再利用し、記憶の改訂・要約・索引の変化で更新します。モデル内部のCoTは取得しません。agentは memory_inspect でAtomの本文・正参照・逆参照を読み、次の接続先を選んで探索できます。memory_search は入口を探す補助として使います。抜粋と全文を区別し、見ていない本文を読んだ扱いにはしません。
記憶ページはAtom同士のグラフを標準表示し、Atomを選んで本文や関係を辿れます。一覧にも切り替えられ、表示方式はURLに保存されます。Dreamingも同じ探索操作を使い、処理段階と対象をリアルタイムに表示します。日次予算の予約は共通のトークン見積もりを使い、取得できた実usageで精算します。
Dreamingの日次上限は記憶ページで直接変更できます。使用量・残量・翌日分への切替時刻を表示し、数値入力と「現在の上限を2倍」に対応します。予算だけの変更はAIの作業中も保存できます。設定変更だけでは自動再開せず、「保存して整理する」で明示的に開始します。プロバイダー側の利用枠とは別の制限です。
0.5.0は会話の原文をAtom Memoryの外にUTF-8の範囲ごとに保持し、空き時間に検索・確認・差分更新・進捗保存を繰り返します。本文・引用・必須条件・版固定を維持し、根拠が訂正された派生記憶を通常取得から外します。画面から停止・再開・再評価・日次予算を設定できます。
意味検索はCPU用の固定版multilingual E5を別プロセスで実行します。初回にHugging Faceからモデルを取得し、設定ディレクトリの models/ に保存します。会話本文をモデル配布元へ送信しません。準備中・オフライン時は語彙検索を使います。「設定・接続 → 記憶」で無効化、または生成用APIとは別のEmbedding API・専用キーに切り替えられます。Dreamingは「整理する」を押したときだけ実行します。「設定・接続 → 記憶」で専用の接続先・モデルを選べます。省略時はチャットと同じモデルです。保存済みのAPIキー・Codex認証を使用し、日次予算と利用量を画面に表示します。
旧DBは起動時にWALを含めたスナップショットを保存します。原文をAtomとして扱う旧形式は、そのまま想起や整理に使いません。「設定・接続 → 記憶」で記憶をリセットすると、新しいメッセージから整理を始めます。会話・設定・端末は残し、過去の会話を自動で取り込み直しません。戻す場合はサービスを止め、同じスナップショットの state.sqlite、memory.sqlite、authority、設定を一組で戻してください。移行後の変更を先に退避する必要があります。
「履歴ごと消去」は依存するAtomとアプリ内の関連キャッシュにも反映します。途中で止まった消去は同じ対象から再開します。既存バックアップ、ユーザーが書き出したファイル、外部サービスのデータ、ストレージの物理消去は対象外です。
記憶のグラフはAtom同士の関係だけを表示します。Atomをドラッグすると接続線と周囲の配置が追従し、参照先・参照元を矢印と色、関係名で確認できます。ドラッグした配置は再読み込みでも保持し、「配置を整える」で戻せます。スマホのドラッグ・ピンチと、OSの「動きを減らす」設定にも対応します。原文は詳細の「元の情報」から読めますが、意味検索や活性化、関係の伝播の対象にしません。
端末の左上のつまみを別の端末の上下左右にドラッグすると、その位置へ分割配置します。境界のドラッグと矢印キーで大きさを変更できます。端末設定からの配置変更にも対応しています。配置操作ではシェルを再起動しません。チャット横にも複数端末を表示でき、作業パネルのつまみや位置メニューで左・右・下へ移動できます。スマホは一覧から一つを全画面で開く操作を使います。
シェルとデスクトップは「デッキ」にまとめます。「追加」で種類を選び、PCでは上下左右に配置・分割サイズ変更、スマホでは一覧から1つ選んで全画面表示できます。チャット脇のデッキも同じ配置を使い、パネルを左・右・下へ移動できます。
0.6.7ではagentの単発pipeコマンドをデッキと閉じた端末の一覧から除外します。継続shell・PTYと、手動でデッキから起動したプロセスは引き続き表示します。
別PCの実行環境を接続
追加PCでは vibe-coders execution serve --port 3210 だけを起動します。環境側に init・atom.toml・AGENT.md は不要です。作業フォルダはagent側の実行環境設定に保存し、shell開始時に渡します。同じ環境を複数workspaceで使えます。agentの「設定・接続 → 実行環境」にURLと表示された10分間有効の招待JSONを入力すると、以降はEd25519公開鍵で相互認証します。招待の再発行は vibe-coders execution invite。
既定の接続先はHTTPのloopbackです。別PCへはSSH転送、または --listen 0.0.0.0 --tls-cert 証明書 --tls-key 秘密鍵 でHTTPSを使います。TLS検証を省略する設定はありません。deckで実行環境を選択し、複数PCのshellとデスクトップを混在できます。環境の状態は各PCが保持し、agent再起動では実行を止めません。WindowsのデスクトップはそのPC内のVNCを設定します。Windows実機の検証は未完了です。
実行環境の保存先は ~/.local/share/vibe-coder/execution/。変更する場合は --state-dir PATH または VIBE_CODER_EXECUTION_DIR を指定します。カレントディレクトリを変えても同じ環境IDです。0.7.0の追加環境は実行を終了して登録解除後、agentと環境をともに更新して再登録してください。旧環境のデータは自動で削除しません。
