Campfire

Campfire

Boring Infra Co. · コーディング · 生産性向上

Campfire は、人間とコーディングエージェントが同じ目標、途中で下した判断、変更の記録を共有するためのオープンソースのワークスペースだ。手元のマシンで動く。

Campfire の画面プレビュー

Campfire について

About

Campfire とは

Campfire は、コーディングエージェントと、それを使う人間のための共有ワークスペースである。目標、エージェントが触ったファイル、エージェントが報告した調査結果、それを読んだ同僚の判断が一か所にそろう。開発は Boring Infra Co. が進めており、ソースコードは GitHub で公開されている。

狙いははっきりしている。あるエージェントは何を変えたかを知り、別のエージェントは何を見つけたかを知っている。2時間前に別のターミナルで誰かが質問に答えている。セッションを閉じた瞬間にその文脈は消え、次のエージェントは空のプロンプトから始める。Campfire は作業状態を手元に残し、次のセッションや次の同僚が前回の続きから動けるようにする。人間の関与を残すのは設計上の選択であり、後付けの安全策ではない。エージェントは手を動かし、計画を変える必要が出たときは人が答える。

Campfire はエージェントを編成しないし、Codex、Claude Code、OpenCode、自作のハーネスを置き換えるものでもない。設計すべきグラフも、導入すべきランタイムもない。すでに動かしているエージェントの間に立ち、両者が共有するもの、つまり目標、セッション、判断、成果物、来歴を保存する。マルチエージェントの土台として働き、指示を配る上司にはならない。現在はプレビュー段階なので、粗さは残り、リリースの間隔も短い。

はじめかた

  1. Node.js 22 以上が入っていることを確認し、curl のインストーラー、brew install boringinfraco/campfire/campfire、nix profile install github:BoringInfraCo/Campfire のいずれかを実行する。
  2. campfire を一度実行する。git config かログイン名から名前を取り、~/.config/campfire にローカルのプロファイルを作る。
  3. campfire up でローカル API と読み取り専用ビューアを起動し、インストール済みの Codex または OpenCode のハーネスを接続する。ビューアは http://localhost:9415 で開く。
  4. エージェントを開き、取り組んでいる内容を伝える。ワークスペースと目標はエージェントが自分と一緒に作り、セッションを登録する。
  5. あとは普段どおりに進める。判断が必要になったらワークスペース内で答え、次のエージェントが読める状態にする。残りは campfire status で確認できる。

AIツール情報

Campfireの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プランFree
プラットフォームmacOS, Linux (CLI)
開発元Boring Infra Co.
カテゴリコーディング · 生産性向上
リリース日Sep 2026
最終更新Oct 2026
サイト訪問数N/A
サイト世界ランキングN/A
API提供状況はい

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • 同じコードベースで複数のエージェントを走らせる開発者。セッションごとに共有の目標と調査結果の置き場ができる。ターミナルに慣れていることが条件だ。
  • 実行の合間に質問へ答えるテックリード。回答がワークスペースに残り、誰かが言い直さなくても次のエージェントに届く。
  • プラットフォーム担当がいない小さなプロダクトチーム。導入はコマンド1つで、状態はローカルファイルに収まる。
  • 複数クライアントを抱える個人開発者。1つのワークスペースに1つの目標だけを置くので、請求処理の修正が別のブランチに流れ込まない。

タスク

  • 途中で止まったリファクタリングを別のエージェントに渡す。新しいセッションが目標、差分の要約、未解決の問いを読む。
  • エージェントが夜間に変えた内容を確認する。履歴に実行者、変更点、時刻が並ぶ。
  • 実行を止めている問いを解く。同僚が判断を記録し、その回答が見える状態で作業が続く。
  • 自律エージェントの権限を絞る。ケイパビリティの一覧でリポジトリの読み取りとテスト実行を許し、本番デプロイを拒否する。

シーン

  • 2つのエージェントが同じ不具合を別方向から追う。片方はテストを書き、もう片方は失敗の経路をたどり、どちらも同じ目標に書き込む。
  • 外部の協力者が1週間だけ参加する。招待ファイルは履歴を見せるが、過去の非公開トランスクリプトは渡さない。
  • 数日がかりの移行作業。ノート PC を閉じても、次のセッションの文脈が消えない。

主な機能

散らばったトランスクリプトの代わりに共有ワークスペース

ワークスペースが作業の単位になる。中には目標、それに紐づくセッション、人が記録した判断、エージェントが生んだ成果物が入る。アクセス権を持つ人は同じ状態を見られ、3つのターミナルログから経緯を組み立て直す必要はない。ローカルのビューアは localhost:9415 で現在のワークスペースを表示し、読み取り専用のまま動く。開いたことで作業が変わることはない。

セッションを越えて残る目標

エージェントが止まればセッションは終わる。目標は終わらない。Campfire は目標のタイトルと周辺の文脈を保存し、すでに分かっていることから始められる出発点を次のエージェントに渡す。同じ3つの質問を繰り返すエージェントと、ファイルを開いて判断を読み、続きを進めるエージェントの違いはここにある。エージェントの引き継ぎが滑らかに進むかどうかは、長いプロンプトではなく、こうした書き残された状態で決まる。過去の非公開セッションは取り込まないので、記録に入るものを決めるのは自分だ。

ワークスペースごとの権限の境界

ワークスペースの設定には、repo:read、repo:write、tests:run、deploy:prod のような許可と拒否の項目が並ぶ。エージェントはその作業に必要な分だけを受け取り、それ以上は持たない。自律実行を試すチームにとって、この境界はモデルの選択より重い。誤ったツール呼び出しが広げる被害を抑えられるからだ。

判断が作業の一部として残る

エージェントが分岐点に差しかかったとき、答えるのは人間だ。Campfire はその回答を目標に紐づく判断として記録し、提案、承認済み、要確認、履歴のいずれかで示す。次のエージェントはそれを文脈として読み、解釈を要するチャットメッセージとしては扱わない。判断が Slack のスレッドで消えているチームには、スレッドより長く残る記録が手に入る。

監査できる履歴と来歴

すべての操作に実行者と時刻が付くので、誰が何をしたのか、何が変わったのかをワークスペースが答える。記録は人間の操作とエージェントの操作を分ける。レビューや障害対応のときに効く。Campfire はこれを来歴と呼ぶ。目標、代替案、失敗、根拠、成果物は、属している作業とつながったまま残る。

手持ちのエージェントとハーネスを使う

Campfire は Codex、Claude Code、OpenCode に接続し、campfire mcp で独自の MCP サーバーも公開する。MCP のツールには読み取り専用のケイパビリティ検索と読み取りレシピが含まれ、エージェントは状態を変えずにワークスペースの対応範囲を調べられる。JSON 出力に対応した CLI は導入とスクリプトを担い、campfire onboard を使えば非対話の初回設定で認証情報を一度だけ出力できる。

メリットとデメリット

メリット

  • 無料のオープンソースで、コードは GitHub にある。インストール前に、自分のマシンで動くものを読んで確かめられる。
  • Codex、Claude Code、OpenCode をそのまま使える。新しいランタイムを覚える必要も、移行作業もない。
  • 作業状態がセッションを越えて残るので、毎回の冒頭10分を食っていた説明のやり直しが減る。
  • 許可と拒否の一覧が、自律作業の境界を具体的に決める。読みやすい TOML ファイルに書く。
  • CLI、ローカル API、MCP サーバーがそろうので、手作業の流れにもスクリプトにも組み込める。

デメリット

  • プレビュー段階なので破壊的な変更と粗さが付いてくる。プロジェクト自身がサイトでそう説明している。
  • Node.js 22 以上とターミナル操作が要る。技術者でない同僚向けのホスト型ダッシュボードはない。
  • クラウド共有は管理されたアルファ版だ。招待された人はインストール済みの CLI で承認し、ブラウザ登録やワンクリックの承認リンクはない。
  • 共有状態は保存するが、エージェントの調整はしない。エージェント間の自動的なタスク振り分けを期待するなら別のツールが要る。

よくある質問

エージェント作業の共有状態を1か所にまとめる。目標、セッション、判断、成果物、履歴が対象だ。複数のエージェントや複数の人間が同じ問題に関わり、セッションのたびに文脈が失われる場面で使う。