ローカルAPI

概要

PATAPIMは http://127.0.0.1:31415 でローカルのHTTP + WebSocket APIを提供します(内蔵のMCPサーバーが使うのと同じAPIです)。マシン上のあらゆるスクリプトやツールから、ターミナルの作成、AI CLIへのプロンプト送信、出力の読み取り、タスク管理、通知送信、内蔵ブラウザの操作ができます。

APIはデフォルトで無効です。設定 → ローカルAPIから有効化し、トークンを作成してください。

トークンとスコープ

すべてのリクエストにはスコープ付きトークン(ppat_…)が必要です。設定 → ローカルAPI → トークン作成で発行します。トークンは一度だけ表示されるので、パスワードのように保管してください。x-patapim-token ヘッダー(または Authorization: Bearer)で渡します。

各トークンは作成時にチェックしたスコープのみを持ちます:

スコープ権限
terminals:readターミナルの一覧、バッファと状態の読み取り
terminals:writeターミナルの作成、入力送信、リサイズ、クローズ
tasksプロジェクトタスクとスケジュールコマンドの読み書き
notifications設定済みチャンネルへの通知送信
browser内蔵ブラウザの操作(ナビゲート、クリック、入力、スクショ)
files:readプロジェクトディレクトリのファイル読み取り
files:writeプロジェクトディレクトリへのファイル書き込み
eventsWebSocketイベントストリームの購読

クイックスタート

# このトークンで何ができる?
curl http://127.0.0.1:31415/api/v1/meta -H "x-patapim-token: ppat_..."

# ターミナル一覧(スコープ: terminals:read)
curl http://127.0.0.1:31415/api/v1/terminals -H "x-patapim-token: ppat_..."

# ターミナル3にプロンプトを送信(スコープ: terminals:write)
curl -X POST http://127.0.0.1:31415/api/v1/terminals/3/write \
  -H "x-patapim-token: ppat_..." -H "Content-Type: application/json" \
  -d '{"data": "Summarize the failing tests", "pressEnter": true}'

イベントストリーム

ws://127.0.0.1:31415?token=ppat_... にWebSocketで接続し(トークンに events スコープが必要)、トピックを購読します — terminalsterminal-output:<id>tasksnotificationsnotifications トピックはPATAPIM自身がベル/トーストを出すのと同じタイミングで発火するため、「Claudeが応答待ち」をSlackやDiscordなどへ転送するのに最適です。

バージョニングと安全性

  • すべては /api/v1 配下にあり、追加のみです:ルート・パラメータ・レスポンスフィールドが削除・改名されることはありません。
  • プラン制限(無料枠のターミナル上限など)はリクエストの発生元に関わらず適用されます — APIがそれを回避することはありません。
  • 機械可読な完全仕様はOpenAPIドキュメントとしてSDKリポジトリで公開されています。

次は、これらすべてを型付きクライアントでラップするTypeScript SDKです。