コンテンツにスキップ

CLI

attx [--config <path>] [--client <name>] <command> [options]

成功 → stdout に JSON、終了コード 0。失敗 → stderr に error: …、ゼロ以外の終了コード。

stdout の JSON 形状の正確な仕様は skills/attx/references/cli-command-contract.md に固定されています — エージェントはそのファイルと、現在のバイナリの --help に依存すべきです。

グローバルオプション

オプション 意味
--config <path> setting.toml へのパス(デフォルト:$ATTX_HOME/setting.toml./setting.toml
--client <name> [llm].default_client の代わりにこの [[llm.clients]] エントリを使う

--input は別名 --game も受け付けます。

コマンドリファレンス

doctor [--ping] [--json]

設定と、任意で LLM の接続をチェック。通常出力は人間可読;--json{"llm":{configured,error},"ping","adapters":[],"saved_profiles":[],"status"} を出力します(API キーは決して含まれません)。

formats

対応アダプターと保存済みプロファイルを JSON で一覧表示:{"formats":[{"id","label","extensions":[],"input":"file|directory"}]}。保存済みのカスタムプロファイルは id = "custom:<name>" で表示されます。

detect --input <path>

フォーマットを調べます。JSON 出力:{"engine","content_root","label","profile"}。組み込みアダプターが先、次に保存済みカスタムプロファイル。

analyze --input <path> [--src ja|en]

未知の入力の偵察レポート:builtin_detectsaved_profile_detect、ファイルなら details(サイズ、binaryencoding(Shift-JIS/GBK 検出を含む)、行数、JSON 形状、sample_head)、ディレクトリなら拡張子ヒストグラム + 覗き見したサンプルファイル。最後に next_steps の提案が続きます。

profile

サブコマンド 役割
new --output <path> [--name <name>] ドキュメント付きルールテンプレートを書き出す
test --profile <path|name> --input <path> [--src] [--limit 10] [--roundtrip] 試し抽出;一致したユニットを報告(--roundtrip ではメモリ内 writeback も実行)
save --profile <path> [--force] プロファイルをユーザープロファイルディレクトリに保存
list 保存済みプロファイルを JSON で表示

init --input <path> --src ja|en --dst zh [--engine <id>] [--profile <path|name>] [--workspace <dir>]

ワークスペースを登録 / 開く(attx.dbworkspace.json を作成)。--engine は組み込みを強制;--profile はカスタムを設定(<workspace>/profile.toml にコピー、engine は custom:<name>)。デフォルトのワークスペース:<dir>/.attx または <parent>/.attx-<stem>

extract --workspace <dir> [--no-knowledge]

アダプター → DB へのテキストユニット。JSON 出力:{"extracted","skipped_by_knowledge","rules_applied","status"}--no-knowledge は学習済みルールをすべて無視します(学習前の挙動)。

translate --workspace <dir> [--limit N] [--dry-run] [--retry-passthrough]

保留ユニットに対する LLM。増分保存されます。JSON 出力:{"pending_before","translated","pending_after","passthrough","dry_run","skipped_note"}。stderr に batch i/n の進捗が表示されます。--dry-run はモデルを呼ばずにバッチ計画を出力;--retry-passthrough は最初に passthrough ユニットを再キューします。

writeback --workspace <dir> [--dry-run] [--no-learn]

翻訳出力をレンダリング。JSON 出力:{"files","units_applied","dry_run","paths":[]} — 自動の post-writeback 経験サマリーが実行された場合は learned も。--dry-run は計画のみ;--no-learn はこの実行のサマリーをスキップします。

run --input <path> [--engine] [--profile] [--src] [--dst] [--workspace] [--limit] [--no-translate] [--no-writeback] [--glossary] [--no-glossary]

init → extract →(用語集が有効または強制なら)→ translate → writeback、1 つの JSON レポート。--glossary[glossary].enabled が false でも用語集を構築;--no-glossary はこの実行では禁止します。用語集の構築失敗は非致命的です(glossary.error に報告されます)。

status --workspace <dir>

{"engine","game_path","source_lang","target_lang","total","translated","pending","passthrough","domains":{…}}passthrough > 0translate --retry-passthrough を検討。

JSONL データ交換

コマンド 役割
translate-jsonl --input --output [--src] [--dst] [--limit] ワークスペースなし:{id,text,context?,role?,item_type?} が入力、translation+translation_lines が追加されて出力
export-jsonl --workspace --output [--filter pending\|all\|translated\|passthrough] ワークスペース → JSONL
import-jsonl --workspace --input JSONL → ワークスペース(id で照合)

learn

サブコマンド 役割
summarize --workspace <dir> [--llm] 実行の証拠を経験エントリに変換(scan はエイリアス);--llm はモデルレビューを追加(費用がかかります)
pending 承認待ちのエントリ(証拠付き、JSON)
review --approve 1,3 [--reject 2] [--approve-all] 1 ベースのインデックスで承認 / 却下
list [--format <id>] アクティブなエントリ(JSON)
defaults --format <id> フォーマットの組み込みベースラインを出力(TOML)
forget --field <name> [--format <id>] フィールド名でエントリを削除

glossary

サブコマンド 役割
build --workspace <dir> [--method llm\|stats] [--min-occurrences N] [--dry-run] 固有名詞を glossary.toml に抽出;常に最初にドライランを
list [--all] 用語を JSON で表示(--all はモデルに却下されたものを含む)
add --src <term> --dst <translation> [--info <desc>] 用語を 1 つ追加 / 上書き
remove --src <term> 用語を 1 つ削除
import --file <json> / export --file <json> [{src,dst,info}] または {src: dst}
check 翻訳が実際には使わなかった用語(違反、件数付き)