リファレンス
機能とオプション
判定カーネルのすべての機能について、既定でオンかどうか、その判定ポイント、各オプションの既定値と範囲。
各機能は ~/.spec.jev/agent/spec.jev.json の features.<name> で設定します。false で機能をオフにし、true で既定値のままオンにします。オブジェクトにすると、個々のオプションを上書きできます:
{
"features": {
"injection": { "tools": ["web_fetch", "mcp__*"] },
"board": { "defaultOn": true },
"ttsr": false
}
}
デスクトップアプリの設定も、このページと同じ名前と説明で、同じファイルに書き込みます。どちらも、リポジトリにある 1 つのマニフェストから作られています。
メッセージの事前分類 preflight
既定でオン判定ポイント input.preflight
作業を始める前にメッセージを判定し、その判定を会話に表示します。
| オプション | 既定値 | 意味 |
|---|---|---|
thinking | false | 判定に応じて思考レベルを設定(切り替えるとプロンプトキャッシュが失われる) |
hints | true | モデルに 1 行のヒントを渡す |
show | true | 待機中の状態と判定を表示 |
waitMs | 4000 ミリ秒 | 最大待機時間。これを過ぎると、判定を待たずにターンを始めます。範囲は 500〜30000 です。 |
作業中の割り込み interjection
既定でオン判定ポイント input.interjection
エージェントの作業中に送られたメッセージを処理します。
| オプション | 既定値 | 意味 |
|---|---|---|
waitMs | 1500 ミリ秒 | 最大待機時間。範囲は 200〜10000 です。 |
スキルの開示 skills
既定でオン判定ポイント skills.disclosure
セッションに含めるスキルの説明を選びます。
| オプション | 既定値 | 意味 |
|---|---|---|
minSkills | 4 | スキルがこの数未満なら絞り込まない。範囲は 1〜100 です。 |
waitMs | 4000 ミリ秒 | 最大待機時間。範囲は 500〜30000 です。 |
ケイパビリティカタログ catalog
既定でオン判定ポイント capability.disclosure
多くをインストールし、見せるのは少しだけ。ケイパビリティパックと MCP サーバーは非表示にしておき、タスクごとに開きます。
| オプション | 既定値 | 意味 |
|---|---|---|
waitMs | 4000 ミリ秒 | 最大待機時間。範囲は 500〜30000 です。 |
タスクフレームと ToDo リスト frame
既定でオン判定ポイント task.frame
あなたが本当に求めていることを記録します。目標、あなたが設定した制約(あなたの言葉のまま、出典つき)、現在のサブ目標、受け入れ条件です。受け入れ条件はそのまま ToDo リストになり、モデルが todo ツールでチェックを付けます。「目標に関係するか」の判定はすべてこれに基づき、セッションを巻き戻すとこれも一緒に巻き戻ります。
| オプション | 既定値 | 意味 |
|---|---|---|
waitMs | 3000 ミリ秒 | ターンがタスクフレームを待つ最大時間。メッセージの到着から数えます。間に合わなかった更新も破棄されません。ターンは前の版とメッセージの原文で始まり、更新は準備ができた時点で反映されます。範囲は 0〜30000 です。 |
writerTimeoutMs | 20000 ミリ秒 | タスクフレームを書き直す制限時間。タイムアウトした場合や応答の形式が正しくない場合は、前の版を残して古いものとしてマークし、目標に基づく絞り込みを控えて、次のメッセージで再試行します。範囲は 1000〜120000 です。 |
show | true | タスクフレームの更新を会話に表示 |
教訓 memory
既定でオン判定ポイント memory.recall memory.capture memory.outcome memory.worth memory.merge memory.applied
あなたの訂正、エージェントが自力で見つけた抜け道、モデルやサブエージェントの発見から教訓を学びます。保存する前に既存の教訓とまとめ、次からは関係するものを取り込み、誰も守らないものは廃止します。/lessons で一覧を表示し、/forget で 1 つを廃止します。
| オプション | 既定値 | 意味 |
|---|---|---|
path | 空 | 教訓ファイル。空欄の場合は既定の場所を使います。 |
maxCandidates | 24 | 1 回に判定する教訓の最大数。守られた回数が多いものが先で、その次に最近保存または確認されたものが来ます。範囲は 1〜200 です。 |
maxInjected | 5 | 1 ターンに取り込む教訓の最大数。範囲は 0〜20 です。 |
waitMs | 4000 ミリ秒 | 呼び出し結果を待つ最大時間。メッセージの到着から数えます。サブエージェント向けに教訓を選ぶときも同じだけ待ちます。範囲は 0〜30000 です。 |
retireAfter | 8 | 一度も守られずにこの回数呼び出されたら廃止。0 にすると自動では廃止しません。範囲は 0〜100 です。 |
mergeNeighbours | 6 | 保存前に比べる似た教訓の数。共通する語で選び、1 回のリクエストで問い合わせます。0 にすると、まとめずにそのまま保存します。範囲は 0〜16 です。 |
outcome | true | エージェントが見つけた抜け道から学ぶ。教訓を文章にするには、writer モデルか会話のモデルが必要です。 |
applied | true | ターンの終わりに教訓が守られたかを確認 |
手順をスキルに procedures
既定でオン判定ポイント skill.capture
うまく終わった長い実行が再利用できる手順だったとき、それをスキルとして下書きして保留します。/skills で下書きを一覧し、/skills show・accept・reject で読む・インストール・破棄します。あなたの同意なしにスキルはインストールされません。
| オプション | 既定値 | 意味 |
|---|---|---|
minSteps | 6 | 最少ステップ数。これより少ないステップの実行は尋ねません。範囲は 2〜100 です。 |
minCommands | 2 | 最少コマンド数。実行したシェルコマンドがこれより少ない実行は尋ねません。手順は何かを実行するものです。範囲は 0〜50 です。 |
maxPending | 3 | プロジェクトごとの保留下書き数。プロジェクトの保留中の下書きがこの数に達すると、あなたが確認するまで新しい下書きは作りません。範囲は 1〜20 です。 |
危険なコマンドのチェック guard
既定でオン判定ポイント tool.risk
危険なコマンドを実行前に確認します。
オプションはありません。
権限モード permissions
既定でオン判定ポイント tool.approval
フルアクセス、Jev が承認、最小権限の 3 つのモードを、/permissions でいつでも切り替えられます。許可が必要なステップではステータスバーでお知らせし、「今回のみ許可」か「この会話中は許可」を選べます。オンの間は、危険なコマンドのチェックもこの機能が担当します。
| オプション | 既定値 | 意味 |
|---|---|---|
mode | jev | 新しい会話のモード。/permissions で選んだ後は、最後に選んだモードが使われます。full フルアクセス · jev Jev が承認 · ask 最小権限 |
制約のチェック constraints
既定でオン判定ポイント tool.constraint
変更やコマンドを、まずあなたが設定した制約と照らし合わせます。サブエージェントにも同じ制約が適用されます。
| オプション | 既定値 | 意味 |
|---|---|---|
maxConstraints | 6 | 1 回の呼び出しで確認する制約の最大数。新しいものから使われます。範囲は 1〜20 です。 |
waitMs | 5000 ミリ秒 | 最大待機時間。範囲は 500〜30000 です。 |
インジェクションの選別 injection
既定でオン判定ポイント tool.injection tool.description
モデルが Web ページ、検索結果、MCP の応答、シェルコマンドが別のマシンから取得した内容を読む前に、AI に向けた指示を差し止めます。説明にそうした指示を含む MCP ツールは一覧から外します。
| オプション | 既定値 | 意味 |
|---|---|---|
tools | web_fetch, web_search, browse, mcp__* | 選別するツール。ツール名、または * で終わる接頭辞。mcp__* はすべての MCP サーバーです。 |
fetchCommands | curl, wget, gh, glab, lynx, w3m, Invoke-WebRequest, Invoke-RestMethod, iwr, irm | 外部取得とみなすコマンド。bash または PowerShell のコマンドがこれらのプログラムを実行すると、その出力を選別します。渡されたアドレスがすべてこのマシン(localhost)なら選別しません。gh と glab は常に選別します。空にすると、シェルの出力は選別しません。 |
waitMs | 6000 ミリ秒 | 最大待機時間。これを過ぎると、明らかなインジェクション表現だけをルールで差し止めます。判定は記録されます。範囲は 500〜30000 です。 |
descriptions | true | MCP ツールの説明を選別。使うこと以上を AI に求める説明を持つ MCP ツールを一覧から外します(tool.description)。 |
descriptionWaitMs | 8000 ミリ秒 | ツール説明の最大待ち時間。初めて見る MCP ツールの判定をターンが待つ最大時間です。過ぎるとルールで判断し、判定が届いたら更新します。範囲は 500〜30000 です。 |
ツール出力の取り込み admission
既定でオン判定ポイント tool.admission tool.admission.test-log
長いツール出力をどのようにコンテキストに入れるかを制御します。
| オプション | 既定値 | 意味 |
|---|---|---|
minChars | 4000 文字 | これより長い出力だけを絞り込む。範囲は 500〜200000 です。 |
chunkChars | 1200 文字 | チャンクのサイズ。範囲は 200〜20000 です。 |
maxChunks | 48 | 判定するチャンクの最大数。範囲は 4〜400 です。 |
batchChunks | 16 | 1 回のリクエストで判定するチャンク数。ホスト型の判定器は多くのチャンクを 1 回のリクエストで受け取り、状態の課金は 1 回だけです。ローカルの判定器は 1 つずつ処理します。範囲は 1〜32 です。 |
waitMs | 4000 ミリ秒 | 最大待機時間。これを過ぎると出力をそのまますべて取り込み、判定は記録だけします。範囲は 500〜30000 です。 |
passThrough | read, edit, write | 絞り込まないツール |
testLog | off | テストログの削減off オフ · rules 完全な重複だけを除く(損失なし) · jev 残りからも判定器に選ばせる |
agentEnv | true | エージェントが読むことをテストランナーに伝える。これにより、Vitest などは失敗とサマリーだけを出力します。 |
古い結果の忘却 forgetting
既定でオン判定ポイント context.forget
コンテキストが逼迫すると、古い結果をプレースホルダーに置き換えます。
| オプション | 既定値 | 意味 |
|---|---|---|
thresholds | 50, 70, 85 | 開始するしきい値(コンテキスト使用率 %) |
minChars | 6000 文字 | これより長い結果だけを対象にする。範囲は 500〜200000 です。 |
minAgeTurns | 2 | 経過ターン数の下限。範囲は 0〜50 です。 |
maxPerBatch | 12 | 1 バッチで判定する最大数。範囲は 1〜100 です。 |
waitMs | 4000 ミリ秒 | 最大待機時間。今回のリクエストはこの時間だけ待ちます。遅れて届いた判定は次のリクエストで反映されます。範囲は 500〜30000 です。 |
要約なし圧縮 compaction
既定でオフ実験的判定ポイント context.compact
要約ではなく、元の文章を残す圧縮です。
| オプション | 既定値 | 意味 |
|---|---|---|
keepThreshold | 0.5 | 保持のしきい値。範囲は 0〜1 です。 |
minChars | 600 文字 | これより短いものはそのまま残す。範囲は 100〜20000 です。 |
headChars | 300 文字 | 削るときに残す先頭部分。範囲は 0〜5000 です。 |
targetRatio | 0.5 | 元の量に対する目標の割合。範囲は 0.05〜1 です。 |
maxWindowShare | 0.25 | コンテキストウィンドウに占める割合の上限。範囲は 0.05〜0.9 です。 |
freeChars | 24000 文字 | これより小さい履歴は予算で削らない。範囲は 0〜500000 です。 |
maxJudged | 120 | 判定する箇所の最大数。範囲は 10〜1000 です。 |
チェックポイントと巻き戻し checkpoint
既定でオン判定ポイント turn.rewind
Before the first file change in each turn, snapshots the working tree into spec.jev's own shadow git directory, without touching your repository. /rewind restores files and the conversation; /rewind undo reverses a rewind.
| オプション | 既定値 | 意味 |
|---|---|---|
dir | 空 | スナップショットの保存場所。Empty means mu/checkpoints in spec.jev's home folder, with one shadow repository per project. |
keep | 50 | プロジェクトごとに残すスナップショット数。範囲は 1〜1000 です。 |
maxAgeDays | 14 日 | スナップショットの保存日数。範囲は 1〜365 です。 |
maxFileMb | 5 MB | スナップショットに含めるファイルの最大サイズ。これより大きいファイルはスナップショットに含めず、巻き戻しでも変更しません。範囲は 1〜1024 です。 |
maxFiles | 5000 ファイル | 1 回のスナップショットに含める最大ファイル数。With more files than this, the session runs without checkpoints and tells you once. Your home folder and spec.jev's own folders are never snapshotted.範囲は 100〜1000000 です。 |
maxTotalMb | 200 MB | 1 回のスナップショットの合計サイズの上限。これより多くを取り込む場合、そのセッションはチェックポイントなしで進み、その旨を一度だけ伝えます。範囲は 1〜100000 です。 |
ignore | 空 | 追加で除外するパス。gitignore のパターンを 1 行に 1 つ書きます。プロジェクトの .gitignore と組み込みのリスト(node_modules、ビルド成果物など)は常に適用されます。 |
timeoutMs | 30000 ミリ秒 | スナップショットにかけられる最大時間。これを過ぎると、そのターンはチェックポイントなしで進みます。ツールの呼び出しはそのまま実行されます。範囲は 1000〜600000 です。 |
propose | true | 行き止まりで巻き戻しを提案 |
confirmSeconds | 120 秒 | 提案があなたの返答を待つ時間。返答がなければ、そのまま作業を続けます。0 の場合はいつまでも待ちます。範囲は 0〜3600 です。 |
逸脱検知 monitor
既定でオン判定ポイント turn.drift
目標からの逸脱と堂々巡りを検知します。
| オプション | 既定値 | 意味 |
|---|---|---|
every | 6 | 確認の間隔(ツール呼び出し回数)。範囲は 1〜100 です。 |
repeats | 3 | 堂々巡りとみなす繰り返し回数。範囲は 2〜20 です。 |
window | 8 | 観察ウィンドウ。範囲は 2〜100 です。 |
言語サーバーの診断 lsp
既定でオン判定ポイント diagnostics.delivery
このマシンにインストール済みの言語サーバーを使い(新たにはインストールしません)、編集で新たに生じた診断だけを残して、モデルに伝えるタイミングを判定器に選ばせます。
| オプション | 既定値 | 意味 |
|---|---|---|
builtin | true | 組み込みの主要サーバー一覧を使う。TypeScript、Python、Go、Rust、C/C++ の主要なサーバーを PATH 上でのみ探します。独自のサーバーは mu.json の features.lsp.servers に書きます。 |
editTools | edit, write | ファイルの編集とみなすツール |
subAgents | false | サブエージェントでも言語サーバーを起動。既定ではオフです。サブエージェントごとにサーバー一式を起動すると、マシンの負荷が大きくなります。 |
settleMs | 1500 ミリ秒 | 編集後にサーバーを待つ最大時間。これを過ぎると待ちません。遅れて届いた診断は、次の編集時かターン終了時に処理します。範囲は 0〜10000 です。 |
turnEndSettleMs | 3000 ミリ秒 | ターン終了時に待つ最大時間。範囲は 0〜30000 です。 |
quietMs | 250 ミリ秒 | サーバーの完了とみなす無応答の時間。範囲は 20〜5000 です。 |
baselineMs | 5000 ミリ秒 | 編集前の診断を待つ最大時間。バックグラウンドで待つため、ツールをブロックしません。これを過ぎると、最初の報告は新しい問題として扱いません。範囲は 100〜60000 です。 |
maxItems | 10 | 一度に伝える診断の最大数。範囲は 1〜100 です。 |
maxServers | 4 | 同時に実行するサーバーの最大数。範囲は 1〜16 です。 |
waitMs | 4000 ミリ秒 | 判定器を待つ最大時間。範囲は 500〜30000 です。 |
出力中の軌道修正(実験的) ttsr
既定でオフ判定ポイント output.drift
意味ベースの TTSR です。正規表現ではなく判定器が出力の逸脱に気づき、出力を止めてルールを示し、モデルに続きを書かせます。既定ではオフです。オンにすると、一定量の出力ごとに判定器の呼び出しが 1 回増えます。
| オプション | 既定値 | 意味 |
|---|---|---|
rules | 空 | 常に守るルール。1 行に 1 つ、普段の言葉で書きます。例:「日本語で回答する」「仮の実装を書かない」。タスクフレームにある、あなたが設定した制約は自動的に追加されます。 |
segmentChars | 600 | 1 回の確認あたりの出力文字数。範囲は 200〜5000 です。 |
maxRules | 4 | 1 回の呼び出しで確認するルールの最大数。これを超える場合は、最後に指定したものが残ります。範囲は 1〜12 です。 |
maxInterrupts | 2 | あなたの 2 つのメッセージの間で出力を止める最大回数。範囲は 1〜10 です。 |
目標モード goal
既定でオン判定ポイント goal.met
/goal <条件> を入力すると、エージェントは条件が満たされるまで作業を続けます(/goal だけを入力すると条件を尋ねます)。止まろうとするたびに、モデルが証拠を読んで、達成したか、次に何をするかを判断します。あなたが中断したとき、モデルの呼び出しが失敗したとき、何もしない状態や堂々巡りが続いたとき、または上限に達したときは自ら停止します。次にメッセージを送ると再開します。
| オプション | 既定値 | 意味 |
|---|---|---|
checker | model | 目標の達成を判断する担当。モデルが目標、この実行で行ったこと、最後のテスト結果、最後のメッセージを読み、判断と次のステップを返します。Jev を使うのは、モデルが回答しなかった場合だけです。どちらの場合も、未完了の受け入れ条件や未検証の編集があれば未達成とします。model モデル(おすすめ) · jev Jev 判定器 |
checkModel | 空 | チェックに使うモデル。provider/model の形式で指定します。空欄の場合は、セッションの現在のモデルを使います。 |
checkThinking | off | チェック時の思考レベルoff オフ · minimal 最小 · low 低 · medium 中 · high 高 |
checkTimeoutMs | 90000 ミリ秒 | チェックを待つ最大時間。それを過ぎると Jev が判定し、それもできなければ事実だけで判断します。範囲は 5000〜600000 です。 |
stallLimit | 2 | 進捗なしで停止するまでの回数。チェックで、エージェントが同じことを繰り返していると判断された回数です。1 回目は方針を変えるよう指示し、この回数に達すると目標を一時停止してあなたを待ちます。範囲は 1〜10 です。 |
maxContinuations | 20 | 自動続行の最大回数。あなたの最後のメッセージから数えます。範囲は 1〜200 です。 |
maxMinutes | 180 分 | 自動実行の最長時間。あなたの最後のメッセージから数えます。範囲は 5〜1440 です。 |
idleLimit | 2 | 空回りで停止するまでの回数。ツールを 1 回も呼び出さずに終わった実行が続いた回数です。エージェントが前に進んでいないことを示します。範囲は 1〜10 です。 |
わかりやすいボード board
既定でオン判定ポイント board.read
作業がどこまで進んだか、いま何が起きているか、あなたの確認を待っているものは何かをわかりやすい言葉で伝え、さらに記録を付けます。一歩ごとにその場で一行、エージェントが言ったことや見つけたことはわかりやすく話すモデルがすぐに語り直し、何を語る価値があるかは Jev が決めます。実行が終わるともう一度まとめ、記録はそのまま残ります。あなたのためだけのもので、モデルのコンテキストには入りません。プロジェクトごとに切り替え(/board on、/board off)、最初に書き手のモデルを選びます(/board model で変更)。
| オプション | 既定値 | 意味 |
|---|---|---|
defaultOn | false | まだ切り替えていないプロジェクトでもオン。既定ではオフです。ボードを更新するたびにモデルを 1 回呼び出します。 |
model | 空 | ボードを書くモデル。provider/model の形式で指定します。ここで指定すると、確認はしません。空欄の場合は、初めてボードをオンにしたときに選びます(おすすめは Claude Opus 4.6、次点は Gemini 3.8 Flash)。選んだモデルは mu/board.json に保存されます。選ばなかった場合は writer モデルを、それもなければセッションのモデルを使います。 |
language | auto | ボードの言語auto あなたが書く言語に合わせる · zh 中国語 · en 英語 |
everyTools | 5 | 状況を読み取る間隔(ツール呼び出し回数)。範囲は 1〜100 です。 |
minIntervalMs | 20000 ミリ秒 | 作業中に状況を読み取る最短間隔。この設定に関係なく、エージェントが停止したときは必ず読み取ります。範囲は 0〜600000 です。 |
maxSteps | 10 | 毎回読む直近のツール呼び出し数。範囲は 3〜50 です。 |
narrateTimeoutMs | 60000 ミリ秒 | 書き手のモデルを待つ最大時間。それを過ぎると、決まった文を使います。範囲は 5000〜300000 です。 |
完了の確認 completion
既定でオン判定ポイント turn.completion
完了とする前に、作業が検証されたかを確認します。
| オプション | 既定値 | 意味 |
|---|---|---|
waitMs | 3000 ミリ秒 | 最大待機時間。これを過ぎると促しはせず、判定は記録だけします。範囲は 500〜30000 です。 |
途中で止まったら続ける continuation
既定でオン判定ポイント turn.continue
やると言ったのに止まった回を、作業に戻らせます。
| オプション | 既定値 | 意味 |
|---|---|---|
maxNudges | 2 | 1 メッセージあたりの最大催促回数。範囲は 1〜5 です。 |
waitMs | 3000 ミリ秒 | 最大待機時間。これを過ぎると促しはせず、判定は記録だけします。範囲は 500〜30000 です。 |
通知の振り分け notify
既定でオン判定ポイント notify.routing
各種イベントをいつモデルに伝えるかを決めます。
| オプション | 既定値 | 意味 |
|---|---|---|
budgetThresholds | 70, 85 | コンテキスト予算の通知(%) |
キャッシュの保温 warming
既定でオン判定ポイント cache.warming
効果がある場合に、期限が切れる前にプロンプトキャッシュを更新します。
オプションはありません。
判定器との接続の保温 warmup
既定でオン
セッションの使用中は、ときどきごく小さな問いを送って判定器との接続をウォームな状態に保ちます。これでターン開始前の判定は、接続にかかる 1〜3 秒を省けます。
| オプション | 既定値 | 意味 |
|---|---|---|
intervalMs | 50000 ミリ秒 | 間隔。サーバーは約 90 秒アイドル状態が続いた接続を切断するので、間隔はそれより短くします。範囲は 10000〜85000 です。 |
idleMs | 900000 ミリ秒 | この時間動きがなければ停止。範囲は 60000〜7200000 です。 |
サブエージェント swarm
既定でオン判定ポイント swarm.routing swarm.patch
役割を持つサブエージェントにタスクを委任します。
| オプション | 既定値 | 意味 |
|---|---|---|
models | 空 | モデルの階層(安価なものから高性能なものへ)。空欄の場合、すべてのサブエージェントがセッションのモデルを使います。 |
maxTasks | 6 | 1 回の呼び出しで委任するタスクの最大数。範囲は 1〜32 です。 |
concurrency | 3 | 同時実行数。範囲は 1〜16 です。 |
defaultAgent | worker | 既定の役割 |
agentsDir | 空 | 独自の役割を置くフォルダー。空欄の場合は <agent ディレクトリ>/agents を使います。 |
isolation | worktree | ファイルを編集するサブエージェント。分離された変更はパッチとして戻り、適用するかどうかはメインのエージェントが apply_patch_from で決めます。git リポジトリの外では、その場での編集に切り替わります。worktree 専用の git ワークツリーで編集 · none その場で編集 |
carryUncommitted | true | 未コミットの変更を引き継ぐ。サブエージェントは、最後のコミットではなく、メインのエージェントが現在見ているファイルの状態から始めます。 |
patchPreviewLines | 30 | パッチのプレビュー行数。サブエージェントのレポートと一緒に表示する、パッチの冒頭部分です。範囲は 0〜400 です。 |
ハイブ hive
既定でオン判定ポイント hive.publish hive.deliver hive.relate
複数のビーが 1 つの難しいタスクに並行して取り組みます。ビーの間でやり取りする内容は判定器が選別します。/hive <質問> で自分で始められます。まっすぐには解けない問題では、エージェントも自分から始めます。
| オプション | 既定値 | 意味 |
|---|---|---|
maxNotesPerBee | 12 | ビーごとの公開数の上限。範囲は 1〜100 です。 |
maxDeliveriesPerBee | 10 | ビーごとの配信数の上限。範囲は 1〜100 です。 |
checkpointEvery | 4 | 発見を尋ねるまでの無報告のツール呼び出し数。0 にすると尋ねません。範囲は 0〜50 です。 |
lastCall | true | レポート作成中に最終配信を受け取る |
maxRelatedPerNote | 6 | 新しい発見と照らし合わせる以前の発見の最大数。共通する語を含むものだけと照らし合わせます。0 にすると訂正を行いません。範囲は 0〜30 です。 |
verifyConflicts | 1 | 未解決の対立に追加する検証役のビーの最大数。0 にすると追加しません。対立する両方の発見がレポートに残ります。範囲は 0〜3 です。 |
verifyAfterSeconds | 60 | 検証役のビーを追加するまで対立を待つ秒数。範囲は 0〜600 です。 |
ファイルの特定 locate
既定でオン判定ポイント files.locate
locate ツール: 説明からファイルを探します。
| オプション | 既定値 | 意味 |
|---|---|---|
candidates | 40 | 判定する候補数。範囲は 5〜400 です。 |
results | 12 | 返す結果の数。範囲は 1〜100 です。 |
一括判定ツール judgeItems
既定でオン判定ポイント judge.items
judge_items ツール:はい/いいえの質問 1 つで、多数の項目それぞれに確率を返します。
| オプション | 既定値 | 意味 |
|---|---|---|
maxItems | 500 | 1 回あたりの最大項目数。範囲は 10〜5000 です。 |
組み込みブラウザー browser
既定でオン判定ポイント browser.step
判定器が操作するブラウザーです。専用のプロファイルを使い、あなたのプロファイルには触れません。
| オプション | 既定値 | 意味 |
|---|---|---|
headless | true | ヘッドレスで実行 |
maxSteps | 40 | 1 回の実行の最大ステップ数。範囲は 1〜200 です。 |
textChars | 4000 文字 | 1 ステップで読むページのテキスト量。範囲は 500〜50000 です。 |
embedded | true | デスクトップアプリの実行中はそのブラウザーパネルを使う。Every step is then visible and can be paused, stopped or taken over; without the app, spec.jev uses its own browser. |
profileDir | 空 | ブラウザーのプロファイルフォルダー。Empty uses spec.jev's own folder. |
backend | auto | Browser backend。auto: moli when it is installed, Chrome otherwise; chrome: a Chromium browser only; moli: moli or nothing. |
moliPath | 空 | moli executable。Empty searches the usual install places and PATH; SPECJEV_MOLI does the same. |
moliUrl | 空 | Running moli address。For example http://127.0.0.1:9222; empty lets spec.jev start its own. |
fetchChars | 12000 chars | Characters kept from a fetch。範囲は 1000〜200000 です。 |
バックグラウンドコマンド background
既定でオン
bg_start / bg_output / bg_stop: 開発サーバーや長いビルドを、ターンをブロックせずに実行します。ジョブの終了時に割り込むかどうかは「通知の振り分け」が決めます。すべてのジョブはセッションとともに停止します。
| オプション | 既定値 | 意味 |
|---|---|---|
maxJobs | 8 | 同時に実行するジョブの上限。範囲は 1〜32 です。 |
bufferChars | 262144 文字 | ジョブごとにメモリに保持する出力。最新の出力だけを保持します。すべての出力はログファイルにあります。 |
maxOutputChars | 20000 文字 | bg_output が 1 回で返す上限 |
killGraceMs | 3000 ミリ秒 | ジョブを強制終了するまでの待機時間。まず SIGTERM を送り(Windows では /F なしの taskkill)、この時間が経つと強制終了します。 |
logDir | 空 | ログディレクトリ。Empty means ~/.spec.jev/jobs/<session id>, cleared after 7 days. |
inheritShell | true | フォアグラウンドのシェル設定を使う。bash ツールと同じく、settings.json の shellPath と shellCommandPrefix を読み込みます。 |
wakeWhenIdle | false | ジョブの終了で待機中のエージェントを起こす。判定が「すぐに届ける」の場合だけ新しいターンを始めます。オフの場合は、通知を追加するだけです。 |
Web の読み取りと検索 web
既定でオン
web_fetch はページをテキストとして読み取ります(時間とサイズに上限があり、内部アドレスは拒否し、ページのテキストは信頼できないものとして扱います)。web_search は、キーなしで中国本土から利用できる検索ソースを使います。
| オプション | 既定値 | 意味 |
|---|---|---|
search | so | 検索ソース。so(360)、sogou、bing-cn、searxng:<ベース URL>、または {query} を含む URL。 |
searchFallback | true | 失敗したらほかの組み込みソースを試す。確認ページが返された場合、結果がない場合、検索内容と無関係な結果の場合に適用されます。 |
maxChars | 20000 文字 | web_fetch が 1 回で返す上限 |
timeoutMs | 20000 ミリ秒 | 1 回のリクエストの制限時間 |
maxBytes | 2000000 バイト | ダウンロードの上限 |
maxRedirects | 5 | たどるリダイレクトの最大数。範囲は 0〜20 です。 |
allowLoopback | true | このマシンの開発サーバーを許可。URL 自体に localhost または 127.0.0.1 と書かれている場合のみです。Web からのリダイレクトは常に拒否します。 |
allowPrivate | false | プライベートネットワークのアドレスを許可。10/8、172.16/12、192.168/16、リンクローカルなど。ページが読み取りをローカルネットワークに誘導できないよう、既定では拒否します。 |
ウェルカム画面 welcome
既定でオン
ターミナルに表示するウェルカムボックスと自己紹介です。
オプションはありません。
既存の設定の継承 inherit
既定でオン
Claude Code、Cursor、Codex 用にすでに設定したルール、スキル、MCP サーバーを読み取り専用で使います。常時適用のルールはプロンプトに入れます。ファイルパターンに限定されたルールは、該当するファイルに最初に触れたツールの結果とともに 1 回だけ渡します。それ以外のルールは説明だけを一覧にします。プロジェクト内の設定は、信頼済みのプロジェクトでのみ使います。
| オプション | 既定値 | 意味 |
|---|---|---|
claude | true | Claude Code から |
cursor | true | Cursor から |
codex | true | Codex から |
rules | true | ルールを継承 |
skills | true | スキルを継承 |
mcp | true | MCP サーバーを継承。オフの場合は、mu.json の mcp.servers にあるサーバーだけを使います。 |
maxRuleChars | 4000 文字 | ファイル限定ルール 1 つあたりの受け渡し上限。残りはファイルに残り、モデルが自分で読めます。範囲は 500〜20000 です。 |
maxAlwaysChars | 16000 文字 | 常時適用ルールの予算。収まらない常時適用のルールは説明だけを一覧にし、ルールでプロンプトが膨らまないようにします。範囲は 0〜100000 です。 |
MCP サーバー mcp
既定でオン
MCP servers connect through pi's own client (stdio and Streamable HTTP, OAuth sign-in, managed with /mcp). Each server spec.jev inherits from Claude Code, Cursor, Codex or mu.json is a hidden catalog entry: it starts, and its tools reach the model, only when the judge finds the task needs it or the model asks through find_capability. Tool lists are cached, so the judge has a description even before a server has run. A server defined by a project asks before its first start, and again when its definition changes. "exposure": "always" under mcp.servers in mu.json keeps a server open. Servers added with spec.jev mcp add belong to pi: they connect with the session, and tool_search loads their tools when needed.
| オプション | 既定値 | 意味 |
|---|---|---|
startTimeoutMs | 45000 ミリ秒 | 起動のタイムアウト。npx 形式のサーバーは、最初に自身をダウンロードします。範囲は 1000〜300000 です。 |
requestTimeoutMs | 120000 ミリ秒 | 呼び出しのタイムアウト。範囲は 1000〜3600000 です。 |
ケイパビリティパック packs
既定でオン判定ポイント review.triage
Tool packs that ship with spec.jev and stay hidden until a task needs them; if a required program is missing, spec.jev shows how to install it.
| オプション | 既定値 | 意味 |
|---|---|---|
astGrep | true | ast-grep による構造検索と書き換え。テキストではなく構文でコードを検索・変更します。このマシンに ast-grep が必要です。 |
maxResults | 50 | 1 回の検索で返す一致数。範囲は 1〜500 です。 |
maxDiffChars | 12000 文字 | 1 つの結果に含める diff の上限。範囲は 1000〜200000 です。 |
astGrepCommand | 空 | ast-grep のパス。空欄の場合は PATH から ast-grep、次に sg を探します。 |
github | true | gh 経由の GitHub。ツールは追加せず、PR、issue、チェック、リリースでの gh の使い方を教えるスキルを 1 つ追加します。このマシンに gh が必要です。 |
ghCommand | 空 | gh のパス。空欄の場合は PATH から gh を探します。 |
commit | true | /commit: 変更を複数のコミットに分割。モデルがグループ分けとコミットメッセージを提案し、あなたが計画を確認してからコミットします。すべてコミットするか、1 つもコミットしないかのどちらかです。プッシュはしません。 |
maxPlanChars | 60000 | モデルが読む変更の文字数。範囲は 5000〜400000 です。 |
review | true | /review(指摘を P0〜P3 で優先度付け) |
conflicts | true | コンフリクトの解決。マージ、リベース、cherry-pick がコンフリクトで止まったときに、ファイルごとに両側と共通のベースを示し、ブロックごとに解決内容を書き込んで、ファイルを解決済みにします。コミットはせず、--continue も実行しません。 |
maxSideLines | 80 | コンフリクトブロックの片側ごとに表示する行数。範囲は 10〜1000 です。 |
maxConflictChars | 20000 | 1 ファイルのコンフリクトを表示する文字数。範囲は 2000〜200000 です。 |
maxFindings | 40 | 1 回に優先度付けする指摘の最大数。残りも報告されますが、優先度付けはされません。範囲は 5〜200 です。 |
debugger | true | デバッガー: ブレークポイント、ステップ実行、変数。デバッガーでプログラムを実行し、ブレークポイントや捕捉されていない例外で停止して、コールスタックと変数を確認します。Python には debugpy、Go には delve、コンパイル型のプログラムには lldb-dap を、それぞれインストールされていれば使います。独自のものは mu.json の debugAdapters に追加します。同時に実行できるのは 1 つだけで、セッションとともに終了します。 |
maxFrames | 20 | 停止時に表示するスタックフレーム数。範囲は 1〜200 です。 |
maxVariables | 50 | スコープごとに表示する変数の数。範囲は 5〜1000 です。 |
debugOutputChars | 4000 文字 | 1 つの結果に含めるプログラム出力。これを超える場合は末尾だけを残します。範囲は 500〜100000 です。 |
debugWaitMs | 30000 ミリ秒 | プログラムの停止を待つ最大時間。それまでに停止も終了もしなければ、まだ実行中であることをモデルに伝えます。モデルは一時停止して位置を確かめるか、さらに待つことができます。範囲は 1000〜600000 です。 |
Google でログイン(実験的) googleLogin
既定でオン実験的
Adds two entries to /login: Gemini CLI's sign-in for the Gemini models, and Antigravity's for Gemini, Claude and GPT-OSS. These are Google's sign-ins for its own tools; using them from another program may violate Google's terms and get the account limited or suspended, so spec.jev explains the risk first and continues only if you agree. The official routes need none of this: a Gemini API key (provider google) or Vertex AI (provider google-vertex, signed in with gcloud).
| オプション | 既定値 | 意味 |
|---|---|---|
geminiCli | true | Gemini CLI でログイン。Gemini モデル。個人アカウントなら無料枠、Code Assist のライセンスがあればそのライセンスで使います。 |
antigravity | true | Antigravity でログイン。Gemini、Claude、GPT-OSS。ログイン後は、アカウントで実際に使えるモデルに合わせて一覧が更新されます。 |