mcpField
C
Cairn

Cairn

ローカル
github.comその他0今日更新

Cairn について

Cairn は、アイデア、決定、ノート、タスクをコードリポジトリ内の Markdown ファイルとして管理するプロジェクト用ワークスペースです。開発者や AI アシスタント向けに、リポジトリに基づくタスク収集と検索可能なプロジェクト記録を提供します。

主な機能

  1. 01プロジェクト内に Markdown を保存
  2. 02アイデア、決定、タスクの記録
  3. 03コード内 TODO のタスク化
  4. 04ノートとプロジェクト記録の検索
  5. 05AI アシスタント向けコンテキスト要約

活用シーン

  1. 01プロジェクトのノートやタスクをコードと共に管理
  2. 02ファイル位置と併せた TODO と FIXME の追跡
  3. 03チームや AI アシスタントへのプロジェクト情報共有

MCP 対応

`cairn mcp` インターフェースにより、Claude、Cursor、Copilot、OpenCode などの AI クライアントがプロジェクトの記録を検索・更新できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbcairn.mcpb1.0.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Cairn:リポジトリ内にある、もうひとつの脳。

リポジトリ内にある、もうひとつの脳。
アイデアを記録し、ブレインストーミングを行い、決定事項を記録してタスクを進めます。すべてコードの隣にあるプレーンなMarkdownで管理できます。

ライブデモを試す · 動作を見る · 主な特徴 · ランディングページ · juw12のその他のプロジェクト

テスト 最終更新 ライブデモ Web Python CLI 依存関係なし MITライセンス

M8ven Score Glama score

プレーンファイルでロックインなし
すべての情報はbrain/フォルダー内のMarkdownです。Cairnを削除しても、GitHub、Obsidian、VS Codeで問題なく読めます。
コードを把握
TODO/FIXMEコメントを、ファイルと行番号を記憶するタスクに変換し、ワンクリックでbrainをコミットします。
AIアシスタントにも対応
cairn mcpを使えば、Claude、Cursor、Copilot、OpenCodeからbrainを検索・更新できます。brain/CONTEXT.mdは、ほかのツール向けの1ページの概要です。APIキーは不要です。

動作を見る

Cairnのアイデアボード
juw12.github.io/cairnでインタラクティブなデモを開けます

概要

プロジェクトの思考はあちこちに散らばっています。 アイデアはNotionに、タスクはGitHub Issuesに、決定事項はSlackのスレッドに、TODOはコードコメントにあり、「なぜそうしたのか」は誰かの頭の中にあります。ObsidianやNotionはメモには優れていますが、どちらもリポジトリのことは何も知りません。

Cairnは、プロジェクトの中に落ち着いて使える場所をひとつ用意し、プロジェクトの作業が実際にどのように進むかに合わせて設計されています。

capture  →  brainstorm  →  decide  →  do  →  remember
  bar        ideas wall    decision    board    notes, journal,
  + CLI      + sparks      log                  map, context pack
画面機能
クイックキャプチャすべての画面に表示される入力バーです。todo: ship v1 #release、decision: use SQLite、log: fixed the bug、またはテキストだけ(アイデア)を入力できます。Enter キーを押す前に、メモの保存先が表示されます。
音声ログすべての画面に Log ボタンがあります。パソコンでは上部バーに、スマートフォンでは親指が届く右下に表示されます(または L)。話すと、今日の journal/YYYY-MM-DD.md にタイムスタンプ付きの行が書き込まれます。todo …、idea …、decision …、mood good と話すと、リンクされたメモや気分の記録も作成されます。Undo、read today、what did I do last Friday、search for …、stop にも対応しています。ブラウザーの音声エンジン、またはデバイス上で動作する オフライン音声モデル を使用します。API キーは不要で、どこでも文字入力を使えます。詳しくはこちら。
アイデアウォールRaw → Exploring → Ready → Parked。アイデアが固まるにつれて右へドラッグします。Spark はアイデアに思考を促すプロンプトを追加し、Promote to task はリンクされたタスクを作成します。
ボードドラッグ&ドロップ、チェックリスト、進捗バーを備えた To do → Doing → Done のボードです。
決定事項軽量な決定記録(背景、選択肢、決定、影響)です。コードのように番号が付けられ、PR でレビューできます。
ジャーナルと記憶継続記録、12 か月分のヒートマップ、気分チャート、振り返り(昨日、1 週間前、1 か月前、1 年前)、そのとき考えていたこと、全日を対象にした検索、ワンクリックで作成して journal/YYYY-Www.md に保存できる 週次レビュー を利用できます。
ノート、ジャーナルプレビュー、[[wikilinks]]、バックリンク、タグ、日ごとのページに対応した Markdown エディターです。ノートを タブ として開き、2 つ目のノートを最初のノートの 横に 表示できます(列ボタン、リンクまたはタブを Alt+クリック、またはタブを右にドラッグ)。どちらも編集可能で、サイドノート内のリンクはそのノート内で開き、レイアウトも記憶されます。
マップすべてのノートを表示するライブグラフです。ノートをドラッグ(ピン留めされます)し、ズームやピンチ操作ができます。ホバーすると、方向矢印付きで近隣ノートが強調表示されます。クリックすると、概要と入出力リンクを含むインスペクターが開きます。2 つのノートを Shift-クリック すると、その間の経路を表示します。ノートを別のノートに Alt-ドラッグ すると [[link]] を作成でき、空の「未作成」リンクをダブルクリックすると、そのノートを作成します。ローカルグラフ(1~3 ホップ)、検索、種類/フォルダー/クラスター/ステータスによる色分け、タグのハブ、孤立ノートのフィルター、脳の成長を振り返るタイムラプスに対応しています。Canvas 上に描画されるため、数千件のノートでも滑らかに動作し、すべてのノートにキーボードでアクセスできます。
キャンバス矢印でつないだノート、カード、リンク、グループを無限に配置できるボードです。Obsidian 互換の .canvas ファイルとして保存されます。Shift-ドラッグで範囲選択し、Ctrl+C/V/D でコピー、貼り付け、複製できます。リンク、[[note]]、またはテキストを貼り付けると、適切なカードが作成されます。Notes パネルからノートをドラッグして追加できます。ノートには配置されているキャンバスが表示され、マップでは各キャンバスがノートとつながった四角形として表示されます。
Obsidian 同期Obsidian の保管庫をインポートして、双方向で同期を続けられます(ノートとキャンバス)。ファイルはそのままミラーリングされ、変換は行われません。
データベースどのノート内にも Notion 風のデータベースを作成できます。```database ブロック(type: task、where: status != done、sort: due asc、view: board)は、ノートのライブな テーブル、ボード、ギャラリー、リスト、カレンダー になります。フィルターでは相対指定(where: due < today、due <= today+7)ができるため、期限超過 ビューは毎日正しく更新されます。セルをクリックして編集し、カードを別の列へドラッグし、New を押して行を追加できます。Notion と異なり、各行は通常の Markdown ファイルのままで、編集内容はすべてフロントマターに反映されます。そのため、Obsidian、GitHub、AI アシスタントで同じデータを確認できます。選択したビューはブロック自体に保存されます。
/ メニューエディターで / を入力すると、Notion 風のブロックメニューが開きます。見出し、ToDo、トグル(折りたたみ可能な Obsidian コールアウト)、コールアウト、テーブル、コード、数式、Mermaid ダイアグラム、リンク、埋め込み、日付、データベースを利用できます。挿入されるものはすべて通常の Markdown です。
プロジェクトGitHub 上のユーザーのすべてのリポジトリ(デフォルトでは自分のリポジトリ。Cairn 自体は常に含まれます。フォーク、アーカイブ済みのリポジトリ、プロフィール/設定用リポジトリは除外)を、堅実さ(ライブデモ、テスト、CI、コードベースの規模、保守期間、README、ライセンス)と可能性(スター数、最近のプッシュ、自分のノートで言及される頻度、他の人が試せるかどうか)に基づいて順位付けします。スコアは一部、他のリポジトリとの相対評価なので、似たプロジェクト同士でも順位に差がつきます。各カードには、そのリポジトリならではの強み(Why)と、評価を高める具体的な手順(Next)が表示されます。多くのリポジトリに当てはまるアドバイスは、リストの上に一度だけ表示されます。15 分ごとに自動で再順位付けされ、前日から順位が変わったプロジェクトが表示されます。また、リポジトリに再度プッシュされるまでテスト/CI のチェック結果を記憶するため、GitHub の匿名利用時のレート制限内に収まります。脳内の Project ranking ノートを最新の状態に保つこともできます。
プラグインコミュニティプラグインは、一覧、GitHub リポジトリ、リンクからインストールできます。各プラグインには、そのプラグイン独自のオプションから作成された 設定ページ が用意されます。問題が発生したプラグインは行に表示され、Restart ボタンから再起動できます。使用中のプラグイン一覧を 脳に保存 すると、ほかのデバイスでも同じプラグインのインストールが提案されます(保存されるのはソースのみで、コードは含まれません)。独自のプラグインは 1 つのファイルで作成できます(PLUGINS.md)。
コード受信箱リポジトリ内のすべての TODO、FIXME、HACK コメントです。ワンクリックで、file:line を記憶したタスクを作成できます。
コンテキストパック現在の作業、次の作業、適用中の決定事項、未解決の質問をまとめた 1 ページの概要です。チームメイトや AI アシスタント向けに brain/CONTEXT.md として保存されます。
検索Ctrl/⌘+K で、すべてのノートとコマンドを検索できます。C でキャプチャに移動し、? ですべてのショートカットを表示します。
人々GitHub 上のユーザーを検索して、その人の脳のファイルから読み取った作業実績を確認できます。現在の作業、リリース済みのもの、決定事項、共同作業の募集状況が表示されます。相手の脳を読み取り専用で開き、Ask to join から参加を申し込めます(内容が事前入力された GitHub issue が開きます)。
矢印でつながれたメモ、カード、グループが並ぶキャンバス
キャンバス。 無限のボード上にメモ、カード、リンク、グループを配置し、Obsidian の .canvas ファイルとして保存します。
分割表示で横並びに開かれた2つのメモ
タブと分割表示。 複数のメモを開いたまま、2つのメモを横並びで編集できます。
プラグインの設定を開いたプラグインページ
プラグイン。 一覧、リポジトリ、リンクからインストールでき、各プラグインには専用の設定ページがあります。
キーボードショートカット一覧
キーボード操作を重視。 アプリ内のどこからでも ? を押すと、すべてのショートカットを確認できます。
キーボードショートカット

アプリ内のどこからでも ? を押すか、パレットで キーボードショートカット を選択すると、一覧を表示できます。よく使うショートカットは次のとおりです。

場所キー
どこでもCtrl/⌘+K パレット · / 検索 · C キャプチャ · L 音声ログ · ? ショートカット · Esc 閉じる
タブリンクを Ctrl+クリックするとタブで開く · Ctrl+Alt+←/→ 切り替え · Ctrl+Alt+W 閉じる · Ctrl+Alt+T 再度開く
分割表示Ctrl+Alt+\ 開く/閉じる · リンクまたはタブを Alt+クリック · タブを右半分にドラッグ
文章作成Ctrl+B/I 太字/斜体 · [[ メモへのリンク · Enter リストを続ける
キャンバスダブルクリックで追加 · Shift+ドラッグで選択 · Ctrl+C/V/D コピー/貼り付け/複製 · Ctrl+Z 元に戻す · 矢印キーで少し移動 · Shift+1 全体を表示

使い方

実行方法は4つあります。どの方法でも同じプレーンファイルを読み書きします。

0. Windows デスクトップアプリ(最も簡単です)。 Cairn-Setup.cmdをダウンロードして ダブルクリックするか、PowerShell に次のコマンドを貼り付けます:irm https://juw12.github.io/cairn/install.ps1 | iex。 管理者権限は不要です。不足しているもの(Python、Git、ウィンドウおよびトレイのライブラリ)をインストールしてから、 Cairn を専用のウィンドウで開きます。その後はすべてアプリ内で行えます:

  • ノートは自動で開きます。 初回は、最後に使った Obsidian の保管庫(または Documents\Cairn に新しく作成した brain)を Cairn が開きます。Switch brain で別のフォルダーを開いたり、GitHub からリポジトリを取得したり(プライベートな リポジトリにも対応。GitHub 独自のサインイン画面が一度だけ表示されます)、新しい brain を作成したりできます。
  • Sync ボタンは1つだけです。 編集内容を保存し、他の人の編集を取得して、自分の編集を送信します(commit + pull + push)。また、 10分ごとに自動で実行されます。2人が同じ行を変更しても、何も失われません。自分の編集はローカルにコミットされたままになり、 Cairn が知らせてくれます。社内プロキシの背後では、Sync は利用可能なすべての方法(git 独自の設定、Windows のプロキシ、 HTTPS_PROXY、ユーザーとしてのプロキシへのサインイン)を試し、うまくいった方法を記憶します。
  • 公開 brain は常に最新の状態です。 Settings で公開用リポジトリ(例:you/brain)を指定し、 Publish automatically をオンにします。同期のたびに publish: true が付いたノートを公開しますが、 対象のノートに変更があった場合に限ります。
  • 常に利用できます。 ウィンドウを閉じても Cairn はトレイに残り、Windows の起動時に起動します。
  • 再起動不要で自動更新します。 Cairn は20分ごとに新しいバージョンを確認します。アプリ画面の変更は、 一時停止した瞬間にすばやく再読み込みして反映されます(開いているノートはそのままです)。頻度の低い エンジンの変更では、Cairn がトレイにいる間、または数分間操作がないときに、ひっそりと再起動し、 ウィンドウを元の状態に戻します。Settings でそれぞれをオンまたはオフにできます。

1. ターミナルからローカルアプリを起動します。 Python 3.13 以降が必要です。依存関係はありません:

git clone https://github.com/juw12/cairn
cd your-project
python -m cairn --root .          # run from the cairn folder, or `pip install ./cairn` and run `cairn`

コードスキャン機能とワンクリックの Commit brain(brain/ のみをコミットします。プッシュには通常の git ツールを使います)を備えた状態で http://127.0.0.1:4777 を開きます。

2. ブラウザーで実際のリポジトリを開きます。 juw12.github.io/cairn を開き、 Open a repo folder を選んで、プロジェクトを選択します。デスクトップ版の Chrome と Edge では、フォルダーを直接読み書きできます (File System Access API)。何もアップロードされません。

3. デモ。 サンプルプロジェクトをお試しください(オフラインのハイキングアプリです)。ブラウザー内にのみ保存されます。

バイブコーディングをリアルタイムで確認する

Vibe(サイドバー → プロジェクト)では、AI アシスタントが今何をしているのか、その結果や、周囲からの評価を確認できます。セッションは brain/sessions/ にある通常のファイルで、作業中は status: live となり、タイムスタンプ付きのステップが記録されます。フィードバックは brain/feedback/ に保存され、任意で1~5の評価を付けられます。

cairn vibe start "add dark mode" --agent claude   # opens a live session
cairn vibe log "asked for a theme toggle" --kind prompt
cairn vibe log --progress 40 "wiring the toggle"     # how far along it is: drives the live bar and time left
cairn vibe skill /refine "6.5 -> 8.7"              # skill runs: /refine, /council, /ambitious-founder, /precedent...
cairn vibe check -- python -m pytest               # runs your tests, logs pass/fail with the summary line
cairn vibe end --result shipped "toggle works"     # records commits and +/- lines since the start
cairn feedback "toggle is hard to find on mobile" --rating 3 --from @alice
cairn vibe status                                  # the same stats in the terminal

Vibe ページの指示を AGENTS.md または CLAUDE.md に貼り付けると、アシスタントが自分の進捗を報告します。スラッシュコマンドで始まるログのステップはすべてスキルの実行としてカウントされ、ページに集計されます。

  • 進捗、残り時間、作業量: すべてのライブセッションにパーセンテージバー、推定残り時間、理由(経過時間、変更した行数とファイル数、チェックと失敗)付きの作業量バッジ(軽・中・重)が表示されます。パーセンテージはエージェントがログに記録した値(--progress 40、[40%] ...、step 3/7)に基づきます。記録がない場合、Cairn はあなたの完了済みセッション(同じエージェントで10件以上ある場合)の実績から推定し、そのことをカードに表示します。
  • 並列エージェント: 複数のセッションを同時に実行できます(ターミナルごと、または git worktree ごとに1つ)。start を実行するとセッションのスラッグが表示されます。そのターミナルで CAIRN_SESSION に設定するか(または --session を渡すと)、すべてのコマンドがそのセッションで実行されます。
  • どこでもライブ: ローカルアプリは数秒以内に更新され、セッション開始後のコミットと変更ファイル数が正確にカウントされます(開始時のコミットを基準にします)。Chrome または Edge で開いたフォルダーは数秒ごとに更新されます。サインイン済みの GitHub の brain は条件付きリクエストを使って20秒ごとに更新されるため、変更のないチェックでレート制限を消費することはありません。
  • デモ: デモの Vibe ページで サンプルの1週間を読み込む を選択してください。統計には、セッション数、時間、リリース率、チェックの合格数、14日間のアクティビティチャート、未対応のフィードバック、平均評価が含まれます。連続記録もランキングもありません。すべて、ファイルとして開いて確認できる証拠です。
セッションを自動検出する

cairn vibe watch を実行すると、誰も vibe start と入力しなくても、AI コーディングセッションを検知します。

cairn vibe watch --once          # one sync, then exit
cairn vibe watch                 # keep watching (every 60 s; --every 30)
cairn vibe watch --everywhere    # OpenCode sessions from any folder, not just this repo
cairn vibe watch --install       # start hidden at Windows sign-in (--uninstall removes it)

デスクトップアプリは起動中に自動でこれを行うため(Settings → Record AI coding sessions)、アプリを使わない場合にのみこのコマンドが必要です。Obsidian の保管庫ではすべてのフォルダーのセッションを取り込みます。それ以外の brain では、その brain 自体のセッションだけを取り込みます。一度に brain に書き込める監視プロセスは 1 つだけです。アプリ、起動時の監視プロセス、ターミナルがすべて実行されている場合、ほかのプロセスは待機し、実行中のプロセスが停止してから 5 分以内に引き継ぎます。

  • OpenCode: OpenCode のローカルデータベースにある各セッションが、セッションノート(source: opencode)になります。アクティブ時間(メッセージ間の空白時間。上限は 10 分)、発生時刻(spans)、モデル、コストも記録されます。OpenCode は行の変更を記録しないため、監視プロセスはセッション中にそのフォルダーで行われたコミットも数えます(ローカルブランチのみ、マージは除外、作成者が [bot] のものは除外)。メッセージが届き続けている間は live、コードを変更またはコミットした場合は shipped、それ以外は done になります。ログには、フォルダーにコミットがないのか、そもそも Git リポジトリではないのかが記録されます。再実行しても重複せず、完了したセッションは再読み込みされません。また、手動で設定したステータスは、セッションが再び移行するまで保持されます。サブエージェントのセッションとアーカイブ済みのセッションはスキップされます。
  • Vector: Vector アプリの実行中にこのリポジトリが変更されると、セッションが開始します。新しいコミットが記録され、Vector が終了するか、リポジトリに 30 分間変更がないとセッションが終了します(コミットがあれば shipped、なければ partial)。検出は外部からのみ(プロセス一覧と Git)行うため、何を依頼されたのかは確認できません。プロンプトや手順を記録するには、cairn vibe start/log/check/end を使ってアシスタント自身に報告させてください。
  • プライバシー: OpenCode のデータベースは読み取り専用で開き、セッションのメタデータとメッセージのタイムスタンプのみを読み取ります。メッセージ本文は読み取りません。データがマシンの外に送信されることはありません。--no-opencode と --no-vector を使うと、いずれかのソースを無効にできます。
  • ページ上での表示: セッションは日ごとにグループ化されます(日付をクリックすると折りたためます)。結果を示すチップ(shipped、コード変更なし、Git なし)は、凡例とフィルターを兼ねています。日ごとの合計時間も実時間です。
  • Vibe 時間は、少なくとも 1 つのセッションが作業していた時間です。エージェントが 2 つ並行して 1 時間実行されても、1 時間として数えるため、1 日の長さを超えることはありません。エージェント時間の合計は、その横に「N× 並行」として表示されます。
スマートフォンから監視・操作する

opencode pair と同じ方法でスマートフォンをペアリングします。デスクトップアプリで Settings > Pair a phone(またはシステムトレイアイコンの Pair a phone...)を開くか、ターミナルで cairn pair を実行して、QR コードをスキャンします。スマートフォンでは Vibe ページが直接開き、ペアリング状態が維持されるため、ホーム画面にブックマークを作成しておけば、ソファからライブセッション、自動操縦ジョブ、メモを引き続き確認できます。

  • 見るだけでなく操作できます: スマートフォンでは、Settings やアップデートなどデスクトップ専用の操作を除き、アプリのすべての機能(キャプチャ、メモの編集、タスクの移動、自動操縦ジョブの開始、コメント、停止)を利用できます。
  • チャット: Chat ページでは、PC 上の OpenCode の AI モデル(PEGAAi OpenCode などの企業向けビルドも含む)と通常のチャットができます。モデルを選び、入力して送信すると、使用中のどのデバイスにも回答が表示されます。チャットはコンテキストを保持し、~/.cairn/chats に保存されます。隣の Glow タブを開くと、Glow アプリ(Chat、Council、Arena)が開きます。
  • どこからでもチャット(GitHub リレー): スマートフォンから PC にまったく接続できない場合(オフィスのネットワーク外で、Tailscale もない場合)、Chat は代わりにプライベート GitHub リポジトリを経由します。PC で cairn relay setup を一度実行すると、プライベートリポジトリ <you>/cairn-relay が作成され、GitHub トークンが Windows ユーザー用に暗号化されて ~/.cairn/relay.json に保存されます。その後、デスクトップアプリが応答します。スマートフォンで Cairn を開き、このリポジトリに限定したきめ細かなアクセストークン(Contents: read and write)でサインインして Chat を開きます。メッセージは devices/<pc>/requests/ に届き、PC が処理して回答を devices/<pc>/threads/ にストリーミングし、ページには PC が最後にチェックインした時刻が表示されます。回答が始まるまで、通常 5~15 秒ほどかかります。複数の PC を使う場合: 同じ GitHub アカウントでサインインした各 PC で cairn relay setup(必要に応じて --name "Home PC")を実行します。リポジトリ内に PC ごとのフォルダーが作成され、スマートフォンには回答する PC を選ぶ Talk to ピッカーが表示されます。各 PC にはそれぞれ独自のチャットとモデルがあります。リポジトリはプライベートに保ってください。リポジトリにプッシュできる人は誰でも、PC で OpenCode のプロンプトを実行させることができ、チャットもそこに保存されます。
  • どのネットワークからでもスマートフォンにサインイン: Settings > Sign in a phone (any network) を開くと、スマートフォンのブラウザーをこの PC の GitHub サインイン情報(cairn relay setup で保存したもの)で Cairn にサインインさせ、GitHub リポジトリからこの brain を開く QR コードが表示されます。Copy link を使うと、別のブラウザーでも同じ操作ができます。自分のデバイスにだけ表示してください。GitHub でサインインを取り消すと、デバイスのアクセスを遮断できます。
  • ライブ同期: スマートフォンでの変更は、再読み込みせずに数秒以内に開いている PC のウィンドウに反映され、その逆も同様です。入力中のメモは、一時停止するまでそのまま保持されます。
  • どのネットワークからでも接続: 両方のデバイスを同じアカウントの Tailscale に接続します。Settings > Set up Tailscale を開くと、PC に Tailscale がインストールされ、スマートフォン用ポートが Tailscale デバイスのみに開放されて、Run unattended が有効になります。すると QR コードには PC の Tailscale 名(my-pc.tail1234.ts.net)が使われ、ペアリングしたスマートフォンはモバイルデータ通信や任意の Wi-Fi から接続できます。Tailscale がない場合、スマートフォンと PC は同じ Wi-Fi に接続する必要があります。
  • 常時接続: Cairn は Windows の起動時に開始し、ポートが切断された場合は毎分開き直します。また、(デフォルトでは)スマートフォンからのアクセスが有効な間、PC が自動でスリープしないようにします。ノート PC の蓋を閉じると、引き続きスリープします。
  • 各 QR コードは一度だけ使用でき、5 分後に期限切れになります。ペアリングされたスマートフォンにはランダムなデバイス Cookie が割り当てられ(保存されるのはそのハッシュのみです)。Settings の Unpair all phones を選ぶと、すべてのスマートフォンを一度に切断でき、Let paired phones connect のチェックを外すとポートが閉じます。
  • スマートフォンが接続できない場合、Windows ファイアウォールが Python をブロックしている可能性があります。プライベートネットワークでの通信を許可してください。
目標を引き継ぐ:前例とオートパイロット

一度希望を伝えるだけで、次に頼みたくなることまで実行できます。cairn precedent は、あなた自身の履歴(Claude のトランスクリプトや OpenCode のローカルデータベースにある過去のプロンプト、Update Log、記録した教訓)から学び、どんな目標にも対応するブリーフを作成します。ブリーフには、Definition of Done の草案、これまでに同様の目標で依頼した内容から導き出した隠れた要望、最も近い過去のプロンプト、あなたの作業プロファイル(brain/notes/precedent-profile.md)、キュー、実行するループが含まれます。どのアシスタントでも、MCP(precedent_brief、precedent プロンプト)または cairn precedent install が Claude Code、OpenCode、Codex 向けに作成する /precedent コマンドから参照できます。

cairn precedent learn                       # build the library in ~/.cairn/precedent (redacts tokens and passwords)
cairn precedent brief "landing page for the new app"
cairn precedent queue "add CSV export" --auto   # a #queue task; --auto = safe unattended, --needs-me = waiting on you
cairn precedent next                        # the next open queue item
cairn precedent log "goal" "what shipped" "what you corrected"
cairn precedent install                     # /precedent for Claude Code, OpenCode and Codex

Autopilot ページ(および cairn autopilot)では、さらに一歩進んで、目標を引き継ぐと、Cairn があなたのコーディングエージェントを何ラウンドも実行します(デフォルトは OpenCode。claude -p など任意のコマンドも使用可能)。エージェントが STATUS: DONE を報告するまで実行し、仕上げのラウンドを数回行わせ、キューのタスクを完了済みにして、教訓を記録し、次の #auto 項目に進みます。ライブログを確認し、コメントで指示を調整できます。対応が必要になると、Windows の通知が届きます。

cairn autopilot add "add dark mode to settings, tests passing" --workdir ~/code/app
cairn autopilot on                          # the desktop app or `cairn serve` runs the worker (one per machine)
cairn autopilot status
cairn autopilot set engine=command command="claude -p"

キューは brain/tasks/ 内の #queue タグが付いた通常のタスクで、Board と Obsidian の両方に表示されます。Cairn 自体がモデルを呼び出すことはありません。すでに使っているエージェント CLI を、あなた自身のログイン情報で起動します。ワーカーは有効にするまで停止しており、その状態とログは ~/.cairn/autopilot に保存されます(CAIRN_HOME を変更すると、どちらも移動します)。単独の precedent スキルまたは Precedent Agent アプリから移行する場合: cairn precedent init --import-skill <skill folder> --queue-file <Queue.md> --agent-app <app folder>(安全に再実行できます)。

ビジネスアイデアを試す:Founder Studio

Founder Studio ページでは、Cairn 内で Founder Studio を実行できます。商品・サービスと価格を説明すると、20 人の購入者からなるシミュレーションパネルが 3D のマーケット広場を巡り、購入するか見送るかを決め、その理由を伝えます。さらに、その下に価格帯と A/B ピッチテストが表示されます。ブラウザー内だけで動作するため(Pyodide 経由の Python を使用し、データはどこにも送信されません)、ホスト版サイトでもオフラインでも利用できます。スタジオの上にある 3 つのステップに沿って進めます(アイデアを説明し、パネルを実行し、brain に保存します)。write your own をクリックするとスタジオのセットアップが開き、サンプルを自分のアイデアに置き換えられます。実行が完了すると、Cairn は目標に対する購入率を表示します。Save to brain をクリックすると、結果が founder-studio タグ付きのノートとして保存され、プロジェクトのノートや Obsidian と並べて確認できます。

スタジオの本体は docs/founder/ にあり、今後はそこで開発します。docs/founder.js は、スタジオを埋め込み、完了した各実行結果を受け取る小さなブリッジです。

音声で毎日のログを記録する

Log ボタン、または L を押します。パソコンでは検索の隣にあるトップバーに、スマートフォンでは右下にフローティング表示されます。親指が届く位置にあり、下へスクロールして読むと邪魔にならないように移動します。マイクが起動し(無効にもできます)、話した文が一文ずつ、今日のページに通常の Markdown の箇条書きとして追加されます。

## Log

- 08:12 Walked to work, sorted the GPX bug on the train #beta
- 09:40 Task: [[book-the-train-to-lyon|Book the train to Lyon]]
- 18:05 Mood: good (4/5)
話す内容動作
何でも今日のログにタイムスタンプ付きの行を追加します
todo …、remind me to …ログからリンクされたタスクをボードに追加します
idea …、decision …、note …ログからリンクされたメモを追加します
mood good、I feel tired気分チャート用に、気分を 1〜5 で記録します
undo、scratch that最後の行(および作成されたメモ)を削除します
read today、what did I do last Friday、how was 3 Novemberその日の内容を読み上げます
open today、open 3 Novemberその日のページを開きます
search for the export、when did I last mention Sam毎日のログをすべて検索し、最新の検索結果を読み上げます
weekly review、stopレビューを作成し、音声認識を停止します

前に「Hey Cairn」と付けてもかまいません。無視されます。Keep listening を使うと、ハンズフリーで次々とログに記録できます。Review before saving を使うと、発話内容がまず入力ボックスに表示されます。シートで音声認識の言語を選択してください(English、中文、Bahasa Indonesia、Español、Français、Deutsch など)。Listen for "Hey Cairn" を有効にすると、Cairn が開いている間はバックグラウンドでマイクが待機します。どの画面でも "Hey Cairn, finished the export" と話すと、その内容が記録されます(ボタンの小さな点で待機中かどうかがわかります。タブが非表示になると一時停止します)。人物にタグを付けるには @sam と入力します。一度 @メンションすると、「lunch with Sam」と話すだけでその人物にもリンクされ、Journal に気にかけている人が一覧表示されます。

音声認識にはブラウザー(Chrome、Edge、Safari)の機能を使うため、通常はインターネット接続が必要です。オフラインで音声を使うには、シートでOffline voiceを開きます。言語用の小さな音声モデル(English、中文、Deutsch、Español、Français、Italiano、Português、Русский など、30〜50 MB、Vosk)をダウンロードするか、手元にあるモデルファイルを選択してください。モデルはブラウザー内に保存され、音声認識はデバイス上で実行されます。オフラインになったときやブラウザーの音声認識サービスが動作しなくなったときは、Cairn が自動的にこちらへ切り替えます。Use it even when online にチェックを入れると、常に音声をデバイス上で処理できます。デバイス上での音声認識に対応したバージョンの Chrome では、同じパネルにブラウザー内蔵のローカルエンジン用のInstall itも表示されます。ウェイクワードは大まかに照合されるため、「hey Karen」や「hey Cairo」でも認識されます。対応していないブラウザーではマイクがグレー表示になり、入力ボックスはテキストのプレフィックス(todo:、idea:、mood:)を使って同じように動作します。Cairn がデータを外部に送信することはなく、読み取り専用の脳ではボタンは表示されません。

Journal はページを記憶に変えます。連続記録日数、過去 12 か月のヒートマップ、気分チャート(30 日または 90 日)、昨日・1 週間前・1 か月前・1 年前に書いた内容、気にかけていた人・タグ・メモ、今日とリンクを共有する日、そしてすべての記録を対象にした検索(完全一致を優先し、次に類似した結果を表示するため、weathr のようなタイプミスでも天気に関する記録が見つかります)が表示されます。ログシートを閉じるまで、キーボードフォーカスはシート内にとどまります。Weekly review は、その週の記録、気分、完了したタスク、新しいメモを journal/2026-W45.md にまとめます。これは通常のメモとして、Map とバックリンクに表示されます。

自分の知識を共有し、ほかの人の知識を探す

Cairn はネットワークとして GitHub を利用するため、新たにサインアップする必要はありません。

  1. brain/ を公開リポジトリに置き、トピック cairn-brain を追加します(リポジトリページ → About → Topics)。
  2. プロフィールのリンク https://juw12.github.io/cairn/?u=<your-username> を共有するか、知識を直接共有します: https://juw12.github.io/cairn/?brain=<owner>/<repo>。

このリポジトリでは実際に Cairn を活用しています。 @juw12 のプロフィールまたは Cairn 自身の知識をご覧ください。表示されるのはトピックが付いたリポジトリだけです。 ほかの人の知識は常に読み取り専用です。認証されていない GitHub API 呼び出しは IP ごとに 1 時間あたり 60 回までのため、 結果は 10 分間キャッシュされます。

作業の証拠を示す

claim: 行と、作業へのリンク(リポジトリ、マージされたプルリクエスト、コミット、リリース)を evidence: の下に記したメモとして主張を書きます。 Proof ビューと各ユーザーのプロフィールでは、GitHub 上の各リンクを確認し、誰も入力できないレベルを表示します:L1 主張、L2 自分が所有する作業で裏付け済み、L3 他の人に利用されている (他人のリポジトリにマージ、フォーク、またはスター済み)、L4 推薦済み(別の人が自分のリポジトリに推薦ファイルをコミット済み。Vouch ボタンを押すと、ファイルが事前入力されます)。知識は非公開のままにして、publish: true と記されたメモだけを公開します:

python -m cairn publish --to YOUR-NAME/brain --source "path/to/your/vault"

形式の詳細は PROOF.md をご覧ください。

どのデバイスからでも知識を編集する

ウェブアプリで GitHub にサインインすると、スマートフォン、借りたノートパソコン、または任意のブラウザーから知識リポジトリを編集できるようになります。保存するたびに、リポジトリの brain/ にコミットされます。Cairn のサーバーやデータベースは引き続き必要ありません。

  1. juw12.github.io/cairn を開き、Sign in with GitHub を選択します。
  2. トークンを貼り付けます。ダイアログには、設定済みの細かな権限を持つトークンへのリンクがあります (名前、有効期限 90 日、Contents: Read and write が入力済みです。Only select repositories と自分の知識リポジトリを選択します)。これが最も権限を絞った方法です。public_repo を指定した従来のトークン を使うと、People ページから新しい知識を作成することもできます。
  3. 自分の知識(最後に編集したもの、または唯一のもの)が表示されます。通常どおり編集してください。入力はまとめて処理されるため、 まとめて編集した内容は 1 つのコミットになります。

同じメモが別の場所で変更されていた場合、Cairn は新しいバージョンを表示し、あなたのバージョンもその横に残します (Use my version、Copy my text、または Keep the newer one)。オフラインやサインインの有効期限切れなどで保存に失敗した場合も、同様に入力したテキストは保持されます。プッシュできないリポジトリは読み取り専用のままです。

または Continue with GitHub をクリックします。短いコードを使って github.com で承認すれば、トークンをコピーする必要はありません。GitHub の OAuth エンドポイントはブラウザーからの呼び出しを許可していないため、この方法では、秘密情報を保持せず、2 つのリクエストだけを転送する小さな Cloudflare Worker を経由します。詳しくは worker/README.md をご覧ください。

Obsidian のボルトで使う

Cairn は Obsidian のボルトをそのまま開くため、インポートもコピーも brain/ フォルダーも必要ありません。.obsidian/ が含まれるフォルダー(またはノートの GitHub リポジトリ)を直接使用し、.obsidian/、.trash/ などの隠しフォルダーはスキップします。リンクも Obsidian と同じ方法で解決されます。[[folder/note|alias]]、[[note#heading]]、![[embeds]]、[text](note.md)、プロパティ内の Wiki リンクに対応しています。

  • このコンピューターで使う: python -m cairn --root "path/to/your vault" serve を実行するか、ブラウザーで フォルダーを選択 します。
  • どのデバイスでも使う: ボルトを GitHub リポジトリに保存し(Obsidian Git プラグインでプッシュとプルができます)、サインインして you/your-vault を開きます。

編集によって変更されるのは、実際に変更した部分だけです。プロパティの順序、コメント、リストのスタイルは維持され、ファイルの改行コードも保持されるため、Obsidian と git でクリーンな1行差分が表示されます。

Map は Obsidian のグラフをさらに拡張します。フィルター、タイプ・フォルダー・クラスター・タグごとの色分け、深さ1~3のローカルマップ、2つのノート間の最短経路、キーボード操作(矢印キーでリンクをたどり、Enter で開き、L でローカル表示)、ハブ・孤立ノート・孤立クラスターの一覧表示、そして リンク候補 に対応しています。リンク候補は、別のノートのタイトルに言及しているもののリンクしていないノートを示し、ワンクリックでリンクできます。Alt キーを押しながらドラッグしてノートを別のノートに重ねるとリンクが書き込まれ、存在しないノートへのリンクである未作成ノートをダブルクリックすると作成できます。また、成長を再生 すると、ノートが書かれた順にマップが再生されます。2026-11-05.md のような名前の日次ノートは、ボルト内の場所にかかわらず、Journal に表示されます。

執筆に関するメモ

エディターは Obsidian 形式の Markdown に対応しているため、Vault はどちらのアプリでも同じように表示されます。

  • Markdown: コールアウト(> [!tip]、+/-で折りたたみ可能)、==ハイライト==、プレビューでチェックできるタスクリスト、入れ子のリスト、表、脚注、%%コメント%%、インラインの#タグ(クリックするとノートを絞り込めます)、画像と添付ファイル(![[diagram.png|300]]、PDF)、ノートの埋め込み(![[note#Heading]])。

  • 執筆、分割、プレビューを切り替えられ、単語数はリアルタイムで表示されます。エディターで[[と入力するとリンク候補が表示されます(見出しを選ぶには#を追加します)。Enterキーでリストを続けられ、Ctrl+B、Ctrl+I、Ctrl+E(プレビューの切り替え)も通常どおり使えます。

  • 各ノートの下: 見出しのアウトライン、バックリンク、外部リンク、ワンクリックでリンクに変換できる未リンクのメンションが表示されます。リンクにカーソルを合わせると、ノートをプレビューできます。

  • プロパティ: 組み込みのキーに限らず、フロントマターのキーを編集、追加、削除できます。

  • ノートの名前を変更すると、そのノートへのすべてのリンクも書き換えられます。存在しないノートへのリンクは薄く表示され、クリックすると作成できます。

  • 検索: ノートはリスト表示またはフォルダーツリー表示にでき、ブックマークフィルターや、検索演算子(tag:release、path:ideas/、file:、type:、status:、line:、"完全一致する語句"、-除外)を利用できます。

  • テンプレート: Templates/(または_templates/)内のノートはコマンドパレット(Ctrl+K)に表示され、新しいノートとして作成するか、開いているノートに挿入できます。{{title}}、{{date:YYYY-MM-DD}}、{{time}}は自動入力されます。パレットにはランダムなノートと名前の変更もあります。

  • 初回起動: 短いガイドツアーでアプリの各部分を案内します。いつでもスキップでき、サイドバー下部の**?**ボタン、またはパレットのツアーを開始から再度表示できます。

  • 数式と図: $E=mc^2$と$$…$$は KaTeX で組版され、```mermaidブロックは図になります。どちらのライブラリも、ノートで使われるときだけ読み込まれます(バージョン固定、整合性チェック済み)。オフラインでは、ノートにソースが表示されます。

  • キャンバス: ノート、カード、リンク、グループを配置し、それらの間に矢印を描画できる無限のボードです。ダブルクリックでカードを追加し、カードの端にある点をドラッグして接続できます。色の変更、元に戻す操作、ズーム、パンはマウス、キー、タッチで行えます。開かれた JSON Canvas 形式の.canvasファイルとして保存されるため、Obsidian でボードを開いたり、Vault と双方向に同期したりできます。Cairn が認識しないフィールドも保持されます。

  • タブ: 複数のノートを開いたままにできます。ノートを Ctrl/⌘キーを押しながらクリックするか、中クリックすると新しいタブで開きます。タブをドラッグして並べ替えたり、Ctrl+Alt+←/→で切り替えたり、Ctrl+Alt+Wで閉じたり、Ctrl+Alt+Tで再度開いたりできます。タブはブレインごとに記憶されます。

  • 分割ビュー: Ctrl+Alt+\(または列ボタン)で、最初のノートの横に2つ目のノートが開きます。ノート、リンク、タブをAltキーを押しながらクリックすると、そちら側で開きます。閲覧や編集ができ、タイトルをクリックすると左右が入れ替わり、×で閉じられます。

  • コミュニティプラグイン: プラグインから有効にし、組み込みリスト(ノートクエリ、カレンダー、執筆統計、最近使ったファイル)、任意の GitHub リポジトリ(owner/repo)、またはリンクからインストールできます。プラグインは、コマンド、サイドバーページ、```langブロックのレンダラー、イベントフックを追加できる JavaScript ファイルです。PLUGINS.mdを参照してください。プラグインはお使いのデバイスに保存され、共有ブレインには保存されません。Obsidian 独自のプラグインはここでは動作しません(Obsidian の API が必要なため)が、Cairn の API は Obsidian の API を模倣しているため、移植はたいてい簡単です。

Vault と別のブレインを同期する

プロジェクトの brain/ フォルダー(または GitHub リポジトリ)にノートを保存し、Obsidian の Vault も使っている場合は、サイドバーで Obsidian sync を開くか、cairn obsidian ~/path/to/vault を実行します。Cairn は Vault を brain/obsidian/ にコピーし、その後は両方を同期し続けます。どちらのアプリでノートを編集しても、次回の同期で変更がコピーされます。(Cairn 自身が Vault を開いた場合は、同期するものがないため、その旨がページに表示されます。)

  • ローカルアプリ: Vault のパスを貼り付けます。Cairn を開いている間は 20 秒ごとに同期します。cairn obsidian --watch 10 を実行すると、アプリを閉じていても同期を続けます。--folder . は Vault を brain/ 自体にミラーリングします(--folder "" も同様ですが、PowerShell では空の引数が破棄されます)。--dry-run はコピーされる内容を表示します。
  • ブラウザー、Chrome/Edge: Vault フォルダーを選択すると、タブを開いている間は双方向で同期され、アップロードは行われません。
  • その他のブラウザー: 一方向のインポートです。変更を取り込むには、もう一度インポートしてください。

データが失われることはありません。Cairn で削除したノートは Vault の .trash/ に、Obsidian で削除したノートは brain/.cairn/trash/ に移動します。両方でノートが変更された場合は、新しい方が優先され、もう一方は Name (conflict 2026-11-06).md として保持されます。Vault が突然空に見える場合(ドライブが取り外された場合など)は、何も削除せずに同期を停止します。同期されるのは Markdown のみです。添付ファイルと .obsidian/ の設定は Vault に残ります。

マップの隅にあるトグル(または 2 / 3 キー)で、マップを 2D と 3D の間で切り替えられます。3D マップでは、奥行きや光の当たる球体を使い、遠近感をもってノートを空間に配置します。ドラッグすると全方向に 360° 回転し、右ドラッグまたは Shift キーを押しながらドラッグするとパンできます。スクロールまたはピンチでズームし、R キーで自動回転します。選択、ローカルマップ、パス、フィルター、リンク候補はどちらのモードでも同じように機能し、Cairn は好みのモードを記憶します。

コマンドライン
cairn init                               # create brain/ (never overwrites)
cairn add "todo: ship v1 #release"       # capture from the terminal
cairn add "decision: use SQLite"         # → brain/decisions/0001-use-sqlite.md
cairn log "fixed the GPX bug #beta"     # a timestamped line in today's journal page
cairn log "todo: book the train"        # the task, linked from the log
cairn log                               # show today's log (--day yesterday, --days 7)
cairn list --type task --status doing
cairn todos                              # TODO/FIXME/HACK comments in the code
cairn context                            # write brain/CONTEXT.md
cairn mcp                                # MCP server for Claude, Cursor, Copilot, OpenCode (--print-config, --read-only)
cairn obsidian ~/Documents/MyVault       # import a vault into brain/obsidian/ and sync both ways
cairn obsidian --watch 10                # keep syncing every 10 s (--dry-run to preview)
cairn vibe watch                         # detect OpenCode and Vector sessions automatically
cairn precedent brief "goal"             # a brief from your own history (learn, queue, next, log, install)
cairn autopilot add "goal"               # your agent carries it to done (on, off, status, set)
cairn serve --port 4777                  # the app (default command)

データ形式

your-repo/
  brain/
    ideas/      offline-maps.md
    tasks/      ship-v1.md
    decisions/  0001-use-pmtiles.md
    notes/      architecture.md
    journal/    2026-11-05.md
    CONTEXT.md  (generated)
    README.md   (explains the folder to people who don't use Cairn)
---
title: Ship v1
type: task            # idea | task | decision | note | journal
status: doing         # idea: raw/exploring/ready/parked · task: todo/doing/done · decision: proposed/accepted/superseded
tags: [release, web]
created: 2026-11-05
source: src/app.py:42 # optional: where in the code this came from
---
Plain Markdown. Link other notes with [[offline-maps]].
  • ファイル名がリンクとして使われるため、[[offline-maps]] は Obsidian と Foam でも解決されます。必要であれば、brain/ を Obsidian の Vault として開いてください。
  • Cairn が認識しないフィールド(エイリアスや他のプラグインのデータ)は、保存時にも保持されます。
  • 開いた後に別のエディターでノートが変更されていた場合、Cairn は上書きせず、新しいバージョンを読み込みます。
AI アシスタントに使わせる

AGENTS.md、CLAUDE.md、または .github/copilot-instructions.md に 1 行追加します。

Read brain/CONTEXT.md before starting. Decisions in brain/decisions/ marked "accepted" are binding.

CONTEXT.md には、日記の直近 3 日分をまとめた短い Lately セクションもあります。アシスタントは、直前に何をしていたかを把握できます。

AI アシスタントを接続する(MCP)

cairn mcp は、stdio 経由で Model Context Protocol サーバーを実行するため、アシスタントは単一のファイルを読む代わりに、ブレイン自体に問い合わせられます。標準ライブラリのみを使用し、ローカルで動作し、API キーは不要です。

cairn mcp --print-config     # ready-to-paste config for Claude Desktop, Cursor, VS Code, OpenCode and Claude Code

cairn serve を実行すると、Context ページに同じスニペットが表示され、実行環境に合わせた内容が入力されます。

ツールアシスタントができること
search、read_note、list_notesテキスト、種類、ステータス、タグでノートを検索し、バックリンクとともにノートを読み取ります
context、recent、code_todosプロジェクト概要、最近の変更内容、コード内の TODO/FIXME コメントを確認します
capture、log、update_noteアイデア/タスク/決定事項を追加し、今日の日記に書き込み、ステータスやタグを変更します(新しい編集を上書きすることはありません)
precedent_brief、queue_next自分の履歴に基づく目標の概要と、次に処理する未完了の #queue 項目を確認します
queue_add、precedent_log質問する代わりにフォローアップをキューに追加し、リリースした内容や修正した内容を記録します

すべてのノートはリソース(cairn://brain/<path>)でもあります。project-brief プロンプトはコンテキストパックからセッションを開始し、precedent プロンプトは目標を引き継ぎます。書き込みツールを非表示にするには、--read-only を追加します。

理由

ツール得意なこと「プロジェクト内の頭脳」に足りないもの
Notionデータベース、ダッシュボードクラウド上にあるため、差分を確認できず、レビューできず、リポジトリを読むツールから見えません
Obsidianローカルの Markdown のリンクリポジトリについて何も把握していません。コードの TODO も git もなく、プラグインを設定しないとプロジェクトの流れも分かりません。Cairn はボルトと同期するため、両方を使い続けられます
Foam (VS Code)エディター内の Wiki リンクエディターに固定されており、ボードやブレインストーミングのワークフローがありません
GitHub Issues/Projects作業の追跡まだ固まっていないアイデアには大げさで、ネットワークが必要です。思考のためのツールではありません

Cairn はこれらに取って代わるものではありません。プロジェクトのアイデア、決定事項、次のステップをコードと一緒に保ち、これらのツール(および AI アシスタント)が読み取れる形式で管理する薄いレイヤーです。

プライバシーとセキュリティ

  • Cairn のアカウントもテレメトリーもありません。フォント(SIL OFL)とアイコンは同梱されています。
  • 外部へのリクエストは api.github.com と raw.githubusercontent.com のみで、誰かを検索するとき、公開されたブレインを開くとき、またはサインインするときに限られます。ローカルのブレインがマシンから外に出ることはありません。
  • サインインは任意です。トークンは、このタブ内(sessionStorage)にのみ保存されます。このデバイスで記憶するにチェックを入れた場合を除きます。トークンは api.github.com にのみ送信され(テスト済み)、サインアウトすると削除されます。オプションの Worker を使用する場合、デバイスフローのトークンはブラウザーに戻る途中で一度だけご自身の Worker を経由します。
  • ローカルサーバーは 127.0.0.1 のみにバインドし、Host ヘッダーを確認します。また、すべての API 呼び出しにカスタムヘッダーを要求するため、他のウェブサイトからアクセスできません。
  • スマートフォンへのアクセスは、スマートフォンをペアリングするまで無効です。ペアリングすると、ローカルネットワークのポート 47778 でリスナーが起動し、ペアリング済みのデバイス(1 回限りの QR コード、その後はデバイス Cookie)にのみ応答します。デスクトップの制御機能はありません。通常の HTTP なので、公共の Wi-Fi ではなく、ご自身の Wi-Fi または Tailscale で使用してください。
  • ブレインのフォルダー内にある .md ファイルのみを読み書きします。フォルダーの外に出るパスは拒否されます(テスト済み)。

開発

python -m unittest discover -s tests          # core, API, CLI, parity, e2e, Obsidian sync, map, sign-in, Worker
pip install playwright && playwright install chromium   # for the parity and e2e tests
python scripts/make_media.py                  # regenerate the banner and screenshot
python scripts/live_github_check.py           # sign-in + edits against the real GitHub API on a throwaway repo

docs/ のウェブアプリは、ビルド手順を必要としないプレーンな HTML、CSS、ES モジュールで構成されています。cairn/core.py と docs/core.js は同じルールを実装しており、tests/test_parity.py で相互に照合されています。 デザインの根拠(形、色、その背後にある心理学):plan/DESIGN.md。 計画と評価の方法:PLAN.md、plan/rubric.md、plan/refine_log.md。

ライセンス

MIT © Juwen Lie。個人による独立したプロジェクトです。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。