CLIリファレンス

3バイナリ(aachat / chat / aachat-mcp)の役割分担と、aachatの全コマンド・主要フラグ・出力形式の事実をまとめる。コマンドの案内はこのページを根拠に行う。

aachatのCLIは3つのバイナリで役割を分ける。どのバイナリを案内すべきかは、ユーザー(またはagent)がどこにいるかで決まる。

バイナリ使う場所役割
aachatローカルのターミナル、connected repo人間と外部agent(Cursor / Claude Codeなど)がteam・agent・project・sessionを操作する
chataachat up が起動したsessionの内部session内のagent専用。session外では使わない
aachat-mcpaachat up のsessionに自動接続MCPサーバー。Conceptのreview・review投稿・削除提案の3 toolだけを提供する

出力形式

public commandのうちinitauthpublishupenvsupportmanage-agentdocskillsdoctorupdateの11 rootは人間向けtextを使い、一部は対話的です。それ以外のpublic commandの結果は、stdoutに{"ok": true, "data": ...}または{"ok": false, "error": ...}のような一つのJSON envelopeで返ります。成功時の例外として、aachat skill installは人間向けの確認行を出力します。next_actionsがあれば読みます。--json切替はありません。help/versionはtextです。

自動処理ではstdoutとstderrの診断を分け、終了statusと応答内容の両方を確認します。JSON commandの失敗はnonzero(1)、人間向けtextのエラーはstderrとnonzero statusで返ります。終了codeが成功でも、診断内のfailed/skippedがhealthyになるわけではありません。doctorの各checkとstatusのfieldを読んでください。

認証・診断・更新

bash
aachat auth login     # ローカルの gh トークンから短命JWTを発行・キャッシュ(~/aachat/.run/tokens/user.jwt)
aachat auth status    # サインイン状態の確認
aachat auth logout    # 保存済み認証情報の削除
aachat doctor         # 環境の健全性診断(人間向けテキスト)
aachat status         # repo接続・認証・daemon・mirror・docs・Launch ReportをJSONで確認
aachat update         # aachat自体の更新

gh が認証済みなら auth login は非対話で完了する(信頼境界)。

ランタイム

bash
aachat up [--if-stopped]   # 常駐runtimeを起動。--if-stoppedは既存runtimeを置き換えない
aachat support        # 対話型サポート
aachat manage-agent   # agentの対話的管理(検索 / clone / カスタマイズ / スキル追加)

aachat upが常駐runtimeを所有します。起動時には管理対象のinstall済みbinaryの更新と再execを行う場合がありますが、常駐中の定期更新保証ではありません。通常のupは既存runtimeを再起動し、up --if-stoppedは稼働中なら置き換えず成功終了します。再起動前に実行中の仕事を確認し、その後Launch Reportを読みます(EnvironmentDesktop)。

repo接続

bash
aachat init [--team <slug>]   # 現在のgit repoをteamに接続する

書き込みはそのrepo内のファイルと ~/aachat/.state/repo-connections/ のローカル記録のみ。repo外パスとsymlink越しの書き込みは拒否される。詳細は Connected Repo

team

bash
aachat team create <slug> --repo <owner/repo>   # teamを作る。--repo がteamのデフォルトworkspace repoになる(sessions.md)
aachat team join <token>                        # 招待トークンで参加する
aachat team list                                # 所属teamの一覧
aachat team show <slug>                         # teamの詳細

agent

--runtime に指定できる値は claude-acpcodex-acp

bash
aachat agent list [--mine]                      # 一覧(--mine で自分のもののみ)
aachat agent show <agent>                       # 自分のagentの詳細(session情報を含む)
aachat agent create <name> [--repo <owner/repo>] [--description <text>] [--runtime claude-acp|codex-acp]
aachat agent ensure <name> [--repo <owner/repo>] [--description <text>] [--runtime claude-acp|codex-acp]
aachat agent ensure <name> --source <owner/repo>
aachat agent update <name> [--repo <owner/repo>] [--dormant | --no-dormant] [--runtime claude-acp|codex-acp]
aachat agent delete <name> --yes
aachat agent search [query] [--sort popular|recent|stars] [--limit N]   # Discoverの公開agentを検索
aachat agent show-public <owner/repo>           # 公開agentの詳細
aachat agent clone <owner/repo> [--name <name>] # 公開agentを自分のアカウントに複製

環境承認とcatalog導入

bash
aachat env
aachat env list [--all]
aachat env approve <agent> <name>
aachat env revoke <agent> <name>
aachat publish <agent> [--go-public]
aachat skill install <catalog-uuid> --agent <name>

envはlocalの名前単位の承認を管理し、serverへsecret値を保存する操作ではありません。revokeしてもproviderの値は削除しません(Environment)。publishは確認済みのAgent公開repositoryを準備または登録し、--go-publicは準備済みprivate repositoryの可視性を明示的に変えます(Discover)。skill installは対象Agent repoの変更をcommit/pushした後にcatalog導入を記録します。ファイルをinstallする操作ではなく、skills addはlocal skill追加、skill feedbackはLedger feedbackです(Skills)。

agent ensureは既存Agentを変更せず返します。存在しない場合は--sourceでcloneするか、repo/description/runtimeの作成optionを使います。sourceとこれらのoptionは同時に指定できません。

project

project read / project send がtimelineの入出力である。 timelineにはメッセージ・Shared Documentsの動き・sessionの動きが古い順で混ざって返る。

bash
aachat project list [--status planning|active|completed|archived|all] [--team <team>]
aachat project create <name> --lead <member> --stdin [--parent <parent>] [--description <text>] [--team <team>]    # 名前は [a-z0-9-]、2〜30文字
aachat project ensure <name> --lead <member> --stdin [--description <text>] [--team <team>]
aachat project update <name> [--description <text>] [--status planning|active|completed|archived] [--cancel-runs] [--team <team>]
aachat project update <name> --lead <member> [--team <team>]
aachat project reparent <child> --parent <parent> --stdin [--team <team>]
aachat project delegations <parent> [--team <team>]
aachat project delete <name> --yes [--team <team>]
aachat project show <name> [--team <team>]
aachat project members <name> [--team <team>]   # agentの稼働sessionとcapabilityも返る。依頼前の確認に使う
aachat project join <name> [--team <team>]
aachat project read <project> [--last N] [--before <cursor>] [--team <team>]
aachat project send <project> (<msg> | --stdin) [--reply-to <seq>] [--via <label>] [--type <type>] [--attach <path>]... [--team <team>]
aachat project edit <project> <seq> (<text> | --stdin) [--team <team>]
aachat project unsend <project> <seq> [--team <team>]
aachat project post-type update <project> <seq> --type <type> [--team <team>]
aachat project assign <project> --agent <name> [--team <team>]
aachat project unassign <project> --agent <name> [--team <team>]
aachat project document <project> [--team <team>]   # Shared Documents と canonical path
aachat project media <project> [--query <text>] [--limit N] [--before <cursor>] [--team <team>]
aachat project html <project> [--team <team>]
aachat project database <project> [--team <team>]   # schema catalog の読み取り。mutate は chat db

createはLeadとstdinのBriefを必須とする。descriptionは任意のcatalog noteでありBriefの代わりではない。たとえばbrief.mdへ目的・背景・期待成果・制約を書き、aachat project create first-work --lead @<owned-agent> --stdin < brief.mdで渡す(<owned-agent>は実際の所有agent名に置き換える)。名前にstreamdmrepoは使えない。agent Leadなら最初の仕事が受付され、人間Leadなら通知される。agent Leadなら受付結果のSessionを確認し、同じ初回依頼を重ねない。人間Leadなら通知を入口にProjectとBriefを確認し、仕事を始める。親・所有条件と完了時のREPORTはProjectsを参照する。

最初の依頼を重複させずProjectをensureする

createensureはどちらも--lead--stdinが必須です。createは新規作成し、ensureは既存ならcreated: falseで変更せず返します。既存のBriefやLeadを置き換えません。存在する場合もparser上は両flagが必要です。

bash
cat > brief.md <<'BRIEF'
目的: 日英の顧客ガイドを準備する。
背景: 読者が前提を見落とさず最初の仕事を完了できるようにする。
期待成果: ガイド原稿と例の確認記録。
制約: 現在の対応機能を使い、まだ公開しない。
BRIEF
aachat project ensure first-guide --lead @<active-team-member> --team <team> --stdin < brief.md
aachat project show first-guide --team <team>

<active-team-member><team>は実在の値に置き換えます。ensureで存在しないProjectを作る場合、LeadにはactiveなTeam memberだけを指定できます。追加依頼の前にcreatedを確認してください。このcommandは受付済みのLead actionを返しません。Projectを作成した場合はproject showとProject timelineで現在状態を確認します。既存Projectなら現在の目的とmemberを読み、必要な仕事を別途依頼します。Lead変更、子のREPORT読取、完全なreparent Briefの手順はProjectsにあります。

ProjectをArchiveする

Project Adminとして、対象のTeamとProjectを確認して実行する。Archiveは他の設定変更と分けて送る。

bash
aachat project update <name> --status archived --team <team>

対話端末ではWorkflow Runの取消件数、停止対象Session、阻害条件を読んで確認に答える。非対話実行では、未完了Runがある場合に限り、その取消へ明示的に同意する --cancel-runs が必要になる。一般的なエラー回避として追加せず、Projectsを確認する。未完了Runがない非対話実行はこのflagなしでも受付され得る。

返る archive_in_progress は処理の受付であり、完了ではない。完了は archivedoperation.completed_at で区別する。同じコマンドを再度実行して既存の処理があれば、その状態を返す。失敗した処理を再開する操作はWebUIの Retry を使う(復旧手順)。

利用中の aachat --versionaachat project update --help を確かめる。--cancel-runs がhelpにない版ではこのflagを使わず、更新後のhelpを確認するか、Archive確認に対応したWebUIを使う。agent専用の chat project update にこのflagを転記しない。

ask

既存のProject Askの閲覧・回答・キャンセル。作成と待機は内側の chat ask。外側agentは同じ会話のホストaskで人間に聞く。Askは不変で、回答はrevisionとして積まれる。 show はすべての回答revisionを返す。

bash
aachat ask list <project> [--status open|answered|cancelled|all] [--scope project|session] [--assignee <@user>] [--creator <@user> | --mine] [--limit N] [--before <cursor>] [--team <team>]
aachat ask show <project> <ask-id> [--team <team>]
aachat ask cancel <project> <ask-id> --reason <text> [--team <team>]
aachat ask answer <project> <ask-id> --expected-revision <N> (--answer <text> | --stdin) [--team <team>]

文脈の探索

bash
aachat inbox [project] [--mark] [--last N] [--with-messages] [--message-limit N] [--team <team>]
aachat find [query] [--project <project>] [--by <name>] [--mentioning <name>] [--last N] [--before <cursor>] [--team <team>]
aachat mentions [project] [--last N] [--before <cursor>] [--team <team>]

# connected repoのTeam Registry(Teamは検証済みfile pathとrepo connectionから解決)
aachat registry check <resource-file>
aachat registry plan <resource-file>
aachat registry submit <resource-file> [--reason <text>]
aachat registry refresh (<resource-file> | --all) [--discard-local]
  • find はqueryか --project / --by / --mentioning のいずれか1つ以上が必須。対象はprojectとDM(Streamは対象外)
  • inbox --mark は返ってきた未読を既読にする。inboxはページングせず、過去は project read --before で遡る
  • 会社文脈を読む前にaachat statusdaemon.workspace_mirror.team_projection.statehealthyであることを確認する。その後、2つのRegistry index(aachat/teams/<team>/concepts/_index.yamlaachat/teams/<team>/entities/_index.yaml)、必要な個別YAML、aachat/meetings/の該当本文を読む。個別YAMLの保存はlocal staged changeで、human Team APIを呼ぶのはregistry submitだけ。indexとMeeting fileはread-only generated snapshotである

session

bash
aachat session list [--agent <name>] [--project <project>] [--team <team>] [--last N] [--before <cursor>]
aachat session run <agent> --project <project> [--repo <owner/repo>] [--runtime <claude-acp|codex-acp>] [--config <ID=id:VALUE|boolean:BOOL>]... [--attach <path>]... [<msg> | --stdin] [--team <team>]
aachat session send <session-id> --project <project> [--cancel-current-turn] [--attach <path>]... [<msg> | --stdin] [--team <team>]
aachat session read <session-id> --project <project> [--last N] [--before <cursor>] [--decision | --submission <turn-id>] [--team <team>]
aachat session stop <session-id>    # 即時終了。実行中のターンは中断されうる
aachat session logs <session-id> [--from-start | --after-offset N]
aachat session permission list <session-id> --project <project> [--team <team>]
aachat session permission respond <session-id> <request-id> --project <project> (--option-id <id> | --cancel) [--team <team>]
aachat session schedule create <session-id> --project <project> --at <RFC3339> [--every 60-86400] (<prompt> | --stdin) [--team <team>]
aachat session schedule list <session-id> --project <project> [--team <team>]
aachat session schedule cancel <session-id> <schedule-id> --project <project> [--team <team>]
aachat session compact <session-id> --project <project> [--request-id <uuid>] [--team <team>]
  • run は常に新規sessionを起動する。agentはprojectのmemberとして解決される
  • session list--project なしは Team Work Index。接続チーム内で読める project を cover する全 lifecycle の session を返し、他人の session も含む。--project は 1 project に絞る。各 session は所属の project と、追加 coverage があるときだけ also_covers を返す。--last の既定は 20(最大 100)
  • --repo は作業リポジトリの指定。--runtime はこのSessionのRuntimeを選び、Runtimeとconfigの両方を省略すると保存済みinteractive起動設定を再利用でき、それ以外のdefault解決はAgentsに従う。明示するtyped Runtime設定は --config を繰り返す(例: --config mode=id:plan
  • --attach は画像・動画・PDFをsession historyに添付する。Project Mediaには公開されない
  • run / sendはtextなしで--attachだけでも実行できる
  • --cancel-current-turn は実行中のターンを破棄して新しい指示を差し込む強い操作。方針転換や誤実行の修正だけに使う
  • readlogs は対になる: session read はserverに保存されたtranscript、session logs はローカルのstderrログ(~/aachat/.run/logs/)を読む。sessionの記録の所在は 信頼境界
  • session read --decision は bounded decision view。--submission <turn-id> は accepted submission を追跡する。両者は排他
  • session schedule は既存sessionへの scheduled follow-up を作成・一覧・取消する。新Session / WorkflowのTriggerはWebUIまたはchat triggerで設定する(Sessions
  • session compact は project-scoped session の compact をキューする。session は終了しない

文書検証・スキル・テンプレート・報告

bash
aachat doc check <path>            # projectionされたshared documentファイル1件を検証する(--hook でhook payloadをstdinから読む)
aachat skills add <skill-name> [--target <dir>]   # ローカル skill を通常sourceの .agents/skills/ に追加する。Skill Ledger への feedback ではない
aachat skill feedback <skill-name> (<feedback> | --stdin) [--location <text>] [--suggestion <text>] [--team <team>]   # 稼働中 Skill Ledger skill への human feedback。内側 session では `chat skill feedback`
aachat concept publish <concept-id> --revision <revision-id> [--team <team>]
aachat concept decline <concept-id> --revision <revision-id> --reason <text> [--team <team>]
aachat meeting create <team> --title <text> --started-at <RFC3339> [--participant <name>]... --stdin [--client-nonce <uuid>]
aachat workflow list <project> [--last N] [--before <cursor>] [--team <team>]
aachat workflow show <project> <slug> [--team <team>]
aachat workflow runs <project> <slug> [--last N] [--before <cursor>] [--team <team>]
aachat workflow run <project> <slug> --stdin [--client-nonce <uuid>] [--team <team>]
aachat workflow publish <project> <slug> [--team <team>]   # ローカル Draft `aachat/projects/<team>/<project>/workflows/<slug>/` を公開する
aachat workflow status <project> <run-id> [--team <team>]
aachat workflow cancel <project> <run-id> [--team <team>]

aachat meeting createの結果が不明な場合、CLIは元のstdin本文をprivateなlocal retry fileへ保持し、同じ本文とnonceを使うcommandを返す。そのcommandだけを実行し、receipt確定後にretry fileは削除される。

bash
aachat template list [--mine] [--sort popular|recent|votes|comments] [--limit N] [--tag <tag>] [--kind <kind>]
aachat template search <query> [--limit N]
aachat template show <template>
aachat template install <template> --project <project> [--team <team>] [--force]
aachat template publish --slug <slug> --name <name> (--from-project <project> | --from-file <path>)
                        [--description <text>] [--description-ja <text>] [--description-en <text>]
                        [--tags a,b] [--team <team>]
aachat template update <template> [--name <text>] [--description <text>] [--tags a,b]
                        [--from-project <project> | --from-file <path>] [--team <team>]
aachat template unpublish <template>
bash
aachat report ("message" | --stdin) [--level error|warning|info] [--context '{"key":"value"}']   # 既定levelはerror

主要フラグ

フラグ意味
--team <team>対象teamの明示指定。省略すると、projectを直接操作するコマンドはconnected repoのteamを使い、inbox / find / mentions は見えるすべてのteamを対象にする。個人teamのslugは ~username 形式のため、シェルでは --team '~kensaku' のようにクオートする
--last N / --before <cursor>件数と過去方向のページング。Nの範囲は1〜100で、既定値はコマンドごとに異なる(project read 20 / mentions 5 / session read 50)。Timeline/transcriptはnext.before、Workflow一覧はnext_cursor--beforeへそのまま渡す(ページング)。inboxfind では --limit--last の別名
--via <label>どのクライアントから送られたかを示す自由記述ラベル(例: cursorclaude-code)。送信の記録に残る
find --by / --mentioning送信者・メンション対象での絞り込み。agentは <agent>.<owner> 形式で指定する

chat — session内部のagent専用CLI

chataachat up が起動したsessionの中のagentだけが使う。通常の成功結果はJSONをstdoutへ出力する。引数parseやcommandの失敗はstderrの単一JSONと終了status 1で返り、error、表示されたhintcommandsを読む。stdoutが空でもエラーなしとは判断しない。help/versionはtextで、診断JSONを付けず成功終了する。sessionのスコープ内で動くため --team フラグはない。

対応版の失敗JSONにはdiagnosticが付く。diagnostic.diagnostic_idと、diagnostic.contextに実際に出た操作名・版・HTTP相関情報を保存する。旧版や失敗経路によってfieldがない場合は補完せず、chat --versionと対象commandの--helpも確認する。診断の読み方とsupportへの受け渡しを参照する。このshapeを外側のaachatのstdout envelopeへ適用しない。

bash
# メッセージ
chat send <project> (<msg> | --stdin) [--reply-to <seq>] [--type <type>] [--via <label>]
chat read <project> [--last N] [--before <cursor>]
chat thread <project> <seq> [--last N] [--before <cursor> | --after <cursor>]
chat edit <project> <seq> (<text> | --stdin)
chat delete <project> <seq>
chat post-type update <project> <seq> --type <type>
chat inbox [project] [--mark] [--last N] [--with-messages] [--message-limit N]

# project
chat projects [--status active|planning|completed|archived|all]   # 既定はactiveのみ
chat project info <name>
chat project members <name> [--runtime-profiles]   # members[].name / capability.commands / live_sessionsをrun/send選択に使う
chat project join <name>
chat project create <name> --parent <parent> --lead @<member> --stdin [--description <text>]
chat project assign <project> --agent <agent>
chat project delegations <parent>
chat project update <name> [--description <text>] [--status planning|active|completed|archived]

# Ask(作成と待機は内側だけ。外側は aachat ask list|show|cancel|answer)
chat ask create <project> [--scope project|session] --to @user --question <text> (--body <text> | --stdin) [--option <text>]...
chat ask list <project> [--status open|answered|cancelled|all] [--scope project|session] [--assignee @user] [--creator @user | --mine] [--limit N] [--before <cursor>]
chat ask show <project> <ask-id>
chat ask wait <project> <ask-id> --timeout <sec>
chat ask cancel <project> <ask-id> --reason <text>

chat wait --all [--session <id>]... [--workflow <run-id>]... [--ask <ask-id>]... [--project <project>] [--client-nonce <uuid>]
chat wait show <wait-id> [--project <project>]

# 探索(既定scopeは現在のsessionがカバーする範囲)
chat mentions [project] [--scope session|all] [--last N] [--before <cursor>]
chat find [query] [--project <project>] [--scope session|all] [--by <name>] [--mentioning <name>] [--last N] [--before <cursor>]

# Team Registry(current stateはaachat/teams/<team>/{concepts,entities}のYAML)
chat registry check <resource-file>
chat registry plan <resource-file> --project <project>
chat registry submit <resource-file> --project <project> [--reason <text>] [--proceed-token <token>]
chat registry refresh (<resource-file> | --all) [--discard-local]

# Meeting / メディア / Database
chat meeting create --title <text> --started-at <RFC3339> [--participant <name>]... --stdin [--client-nonce <uuid>]
chat media <project> [--q <text>] [--last N] [--before <cursor>]
chat media <project> --download <MEDIA_ID>
chat db schema
chat db migrate <migration-file>
chat db query --sql <sql> [--params '<json-array>']

# Workflow
chat workflow init <slug> [--project <project>] [--client-nonce <uuid>]
chat workflow validate <path>
chat workflow list [--project <project>] [--last N] [--before <cursor>]
chat workflow show <slug> [--project <project>]
chat workflow runs [<slug>] [--project <project>] [--last N] [--before <cursor>]
chat workflow run <slug> [--project <project>] (--input-file <path> | --stdin) [--client-nonce <uuid>] [--wait]
chat workflow run --draft <path> (--input-file <path> | --stdin) [--client-nonce <uuid>] [--wait]
chat workflow publish <path>
chat workflow status <run-id> [--project <project>]
chat workflow cancel <run-id> [--project <project>]
chat workflow retry <run-id> --step <step-key> [--project <project>] [--client-nonce <uuid>]
chat workflow feedback --stdin
chat workflow feedback <run-id> --step <step-key> [--project <project>] [--attempt N] --stdin
chat workflow complete --stdin

# Trigger
chat trigger create --project <project> --stdin
chat trigger list --project <project> [--cursor <cursor>] [--limit N]
chat trigger preview --project <project> --stdin
chat trigger show <trigger-id> --project <project> [--cursor <cursor>] [--limit N]
chat trigger edit <trigger-id> --project <project> --stdin
chat trigger run <trigger-id> --project <project> --state-version N
chat trigger pause <trigger-id> --project <project> --state-version N
chat trigger resume <trigger-id> --project <project> --state-version N
chat trigger delete <trigger-id> --project <project> --state-version N

# Delivery: record only after the native operation succeeds
chat delivery record-push --target <branch>
chat delivery record-pr --url <canonical-pr-url> [--base <branch>]

# session(委任と自分の終了)
chat session list --project <project> [--last N] [--before <cursor>]
chat session run [--agent <agent>] --project <project> [--repo <owner/repo>] [--runtime <claude-acp|codex-acp>] [--config <ID=id:VALUE|boolean:BOOL>]... [--attach <path>]... [<msg> | --stdin]
chat session read <session-id> --project <project> [--last N] [--before <cursor>] [--match <text>]
chat session send <session-id> --project <project> [--resume | --cancel-current-turn] [--attach <path>]... [<msg> | --stdin]
chat session compact [<session-id> --project <project>] [--request-id <uuid>]
chat session finish

# フィードバックと報告
chat skill feedback <skill-name> ("feedback" | --stdin) [--location <path-or-section>] [--suggestion <text>]
chat report ("message" | --stdin) [--level error|warning|info] [--context '{"key":"value"}']
  • chat session run--agent を省略すると自分自身の新sessionを起動し、指定すると同じprojectにいる別agentのsessionを起動する(委任。Sessions
  • chatのproject引数はcurrent session内のnameに加え、same-teamの<team>/<project> qualified formを使える。他teamまたはsession scope外のprojectは拒否される
  • mentionはproject memberのexact name @<agent>.<owner>を使う。unknown targetはwarningになる。slash commandはflagではなくprompt先頭に置く
  • chat session finish は即時の強制終了ではない。current turn完了後にasset wrap-upを1回実行し、repo_handoff_previewとして、設定済みworkspace repoと必須agent repoのlocal read-only snapshotを返す。dirty数、Session commit数、local remote-tracking refがHEADを含むか、closed failure codeを確認できる。fetchやremote照会は行わないため、target_containment_not_observedはlocal包含を確認できなかったことだけを意味し、未公開や他者から見えないことを証明しない
  • chat session compactはcurrentまたはtarget sessionをcurrent turn後・通常follow-up前にcompactする。曖昧な再送は同じ --request-id を再利用する。runtime未対応時はエラーになり、hintは durable context を保存して session finish のあと fresh session を始めること。コマンド自身はfinishしない(Sessions
  • --type は root 投稿だけに付けられる。--reply-to と同時指定はできない
  • chat project createはcurrent parent Projectのcurrent Lead Sessionから子Projectを作る。--parent <parent>--lead、Briefの--stdinが必須。子のLeadは親Projectのactive memberから選ぶ
  • chat wait --all--project <team>/<project>を指定するかcurrent Projectのディレクトリから、同Projectの直接の子Session・source agent自身が開始したtop-level Workflow Run・Project Askを合計1〜100件明示する。各flagは繰り返せる。受付されたwait IDを残し、turnを終えて継続を待つ。待機中はfinish・polling・再登録・手動follow-upをしない
  • chat wait show <wait-id>は読み取りのみで、再開操作でもblockする待機でもない。全対象の確定後に一回の継続が受付される。取消や失敗もsettledであり成功ではない。受付と成果の確認はSessionsを参照する
  • G2復旧の読取ではchat wait show <wait-id> --project <team>/<project>chat workflow status <run-id> --project <team>/<project>でProjectを明示できる。省略時は上のcwd形式を使う。インストール済みCLIの各--helpで対応を確認する。Askはchat ask show <team>/<project> <ask-id>のようにProjectを明示し、cwdだけに頼らない。Sessionはchat session read <session-id> --project <team>/<project>で読む。ownerのローカルログを読むaachat session logs <session-id> --from-start--projectを受け取らない。これらは読取であり、通知の再配送や仕事の再実行ではない(復旧ガイド
  • chat ask wait --timeout は必須で1秒以上。現在のturn内のbounded waitであり、継続を登録するchat wait --allとは異なる。timeoutは「まだopen」。tight pollingせず、後で ask show / ask list / chat read から読む
  • sessionのrun / sendはtextなしのattachment-onlyでもよい。timelineのchat sendにはattachment flagがなく、WebUI attachmentまたはProject Mediaを使う
  • --via の省略時は環境変数 AA_VIA の値が使われる
  • chat media --downloadは対応CLI/APIとSessionのcoverage・書込権限が前提です。ready一覧のmedia.idまたはcanonical URLを渡し、一覧用flagとは併用しません。成功JSONのdownloaded.pathを読む手順と失敗時の対処はMediaを参照してください。取得コピーを再公開しません。
  • --last N の既定値: read / inbox / mentions / find が20、thread / session read が50、media が30(範囲1〜50)。他は1〜100

Projectを解決し受付を読む

Workflowのinit/list/show/runs、公開runstatus/cancel/retry/feedback--projectを受け付け、省略時はcwdで解決します。slugなしのrunsはそのProjectのWorkflowをまたいでRunを返します。publishrun --draftは正規のDraft pathからProjectを選び、draft runと--projectは同時指定できません。validateはDraftと一致するProject directoryから実行し、serverを呼んでBundleを検証します。offline検証ではありません。completeは現在のWorkflow Attempt専用で、Session finishでは代替できません。feedbackはplain textのstdinを受け、現在のAttemptか明示したRun/Stepへ残します(Workflows)。

run --waitchat wait --allは永続的な継続を登録してprocess内で待たずに返ります。受付IDを保持してturnを終え、継続時に各targetを確認します。settledには失敗や取消も含まれます。成否不明のときにclient nonceを再利用するのはexactに同じrequestだけです。同じnonceでinputを変更しないでください。

Triggerの全commandで--projectが必須です。run/pause/resume/deleteはshow/listで読んだ現在のstate_versionを使い、editは完全なJSON input内にversionを含めます。一覧・起動履歴は返されたcursor/next commandを辿ります。liveな自動化を作成する前にTriggerの完全なJSONと復旧手順を読んでください。

メッセージ検索(find)は、Trigger/External起動でdispatchされたSessionの先頭user promptを除外します。通常の人間投稿や全Sessionの先頭発言を一律に除外するものではなく、mentionsにはこの除外を適用しません。起動指示が見つからないときは対象Sessionのtranscriptを開いて確認してください(Sessions)。

workflow showの公開RevisionのStep・依存関係の開始前確認はWorkflowsを参照してください。showはRunを開始しません。

chat sendchat readのProjectは位置引数の代わりに--projectでも選べ、Ask commandも同じ代替形を受け付けます。Session listの既定は50(最大100)で、publicのaachat session list(20)とは異なります。Session read --matchは指定Sessionかつ指定Projectの保存済み会話・tool command/outputを対象とするliteral抜粋検索で、次page cursorはありません。窓と上限はSessionsを参照してください。--resumeはAgentのchat session sendだけにあり、cancelとは排他です。public専用decision/submissionの例とturn IDの読み方はSessionsにあります。

delivery receiptはnative Git pushまたはPR作成が成功した後にだけ記録します。receiptは外部操作を実行しません。コードの提出の完全な手順に従い、native提出成功後は失敗したreceiptだけを再試行します。

aachat-mcp

aachat up が起動するsessionには aachat-mcp がMCPサーバーとして自動接続される。session内のagentが手動でセットアップする必要はない。提供するtoolは次の3個だけ。

  • aachat_concept_reviews — current published Concept Revisionのreviewを読む
  • aachat_concept_review — Concept Revisionへendorse / concernを投稿する
  • aachat_concept_removal_propose — current Conceptのarchiveを人間へ提案する

Concept・Entityのcurrent stateはaachat/teams/<team>/{concepts,entities}のYAMLから発見・読取し、編集後にchat registry check / plan / submitで変更する。server truthへ戻す時はchat registry refreshを使う。メッセージ検索はchat findを使う。型とライフサイクルの詳細は Concept Registry / Company