指令(verbs)
每個 nemia 為你服務的指令,由它所屬的負責者說明,其用法與幫助如 nemia --help 所印。nemia <verb> --help 會進一步說明那些有手冊的指令。
從命令表自動產生,從不手動編輯:從倉儲根目錄執行 node -e "import('./packages/agent-orchestrator/src/nemia/verbs.verb.ts').then((m) => process.stdout.write(m.verbsSkill()))" > packages/agent-orchestrator/nemia/skills/verbs/SKILL.md。
唯讀指令(Reads)
它們不寫入任何內容:無需請求即可執行,需要時可重複執行。那些需要參數的指令會提示使用者提供。
nemia concluded <runId>
由 --from <runId> 開始的執行最終會得到什麼結果,現在
nemia inbox
仍在進行中的卡片:名稱、第一行、工作流程與倉儲(若有設定),
以及開始時間 <runId>、<phase>(nemia inbox --help);--all:那些
執行已結束的卡片;-l:選擇器所選取的卡片;--show-labels, -L <key>:
每行顯示其標籤
nemia factory
儲存庫中的工廠:預設工廠優先——每個未指定工廠的執行與卡片
都使用它,唯讀,從不寫入——接著是各工廠的名稱及其
儲存庫(nemia factory --help)
nemia factory ls
依名稱顯示相同內容
nemia factory diff <name> --to <x.y.z> [--template <name|folder|archive>] [--set <key>=<value> ...] | <name> --template <name|folder|archive> [--set <key>=<value> ...]
預覽範本化工廠的升級:哪些會乾淨合併,以及每個衝突的
兩端;套用另一個名稱的範本時,是沒有共同基礎的切換;
或是以範本接管手動建立的工廠,以及 nemia factory adopt 採用的計畫;
不寫入任何內容。
若要單獨變更參數:--to 指定要套用的版本,並
為每個參數設定 --set <key>=<value>;它會印出記錄該參數的行
nemia factory servers <factory>
工廠自身的 MCP 伺服器,每個都附帶其 harness 回報的狀態
nemia factory rules <name> [--file <path>|- | --clear]
工廠的規則與政策:在自訂指令之後、步驟自身備註之前,
告訴每個受僱於該工廠的代理的內容,由儲存庫與工廠一起保存。
不帶參數時,印出規則;--file 寫入規則(- 表示標準輸入);--clear 移除規則。
僅限純文字:不接受 frontmatter 區塊。執行會保留它開始時所使用的規則
不帶參數時唯讀;給定 --file、--clear 時提示使用者
nemia factory instruction <name> [--path <path> | --store | --clear]
工廠指令的儲存位置,以及 Nemia 需要知道的工廠資訊
(其代理會被告知規則:nemia factory rules):
不帶參數時,印出指令;--path 從工廠第一個資料夾中的檔案讀取,
--store 將指令保存在儲存庫中,--clear 再次從第一個資料夾讀取 NEMIA.md
不帶參數時唯讀;給定 --path、--store、--clear 時提示使用者
nemia template lint <folder|archive>
檢查範本的資料夾或壓縮檔:一次找出所有問題,每個問題都會標示
其檔案與行號
nemia ls [<runId>] [-l <selector>] [--show-labels] [-L <key>]
執行及其步驟——等待另一個執行的步驟會顯示 waiting on <run>,
超過同時執行上限的步驟會顯示 waiting for a run slot(2 of 2 in
flight);每個步驟的重試次數與執行成本(若有測量);
最後,nemia up 是否在更新儲存庫及其最後一次通過的時間;
首先,當儲存庫暫停時,顯示 Pausing: N finishing 以及
每個進行中的工作階段、檢查或登陸,或是當沒有進行中的項目時顯示 Paused,
接著是它所持有的每個檢查、一個登陸及其在 checkout 中暫存的合併
(MERGE_HEAD);一個步驟若其檢查被持有,會顯示 waiting on
the pause。-l:選擇器所選取的執行標籤(team=core,
可重複指定);--show-labels:每個執行連同其標籤;
-L <key>:在每個執行旁邊顯示該標籤,可重複指定
nemia show <runId> [--raw]
以物件形式顯示執行(nemia/v1 Run);--raw:顯示其記錄,以及
每個步驟被告知的內容
nemia closeout <runId> <step> [--try <n>]
步驟嘗試結束時簽署的內容:最新的嘗試,或 --try <n>
nemia logs <runId> <step>
該步驟的工作階段輸出
nemia stats [--from <day>] [--to <day>] [--by agent|step|factory|workflow|repo] [--agent|--step|--factory|--workflow|--repo <v>] [-l <selector>] [--line|--json]
儲存庫中所有執行的統計彙總,按 UTC 日期計算:
每個循環的接受輪數:步驟、工作區的登陸:基礎步驟
與嘗試次數、每次成功執行的成本與時間,以及每個步驟的
嘗試次數、時間、成本、檢查與關卡等待;首先顯示最近 14 天
與前 14 天的比較。未測量的數字顯示為 —,絕非 0。
--line:一行顯示,用於摘要;--json:完整答案;-l:
選擇器所選取的執行標籤,如同 nemia ls -l 所使用
nemia passes [--last <n>] [--json]
最近幾次 tick 通過的成本:其中位數與最慢
時間、時間直方圖、各階段的時間分佈,以及最後一次看到的
內容——儲存庫中的執行、日誌讀取、
排隊與已接受的工作階段。--last <n>:僅最後 n 次
通過;--json:完整答案
nemia series [--range 24h|7d|30d|all] [--json]
系統在指定範圍內的序列:一次通過的時間及其階段、
日誌讀取次數、儲存庫中的執行、排隊與已接受的工作階段
以及最長等待時間、負載和使用配額。--range:24h(每分鐘一個資料點,
預設值)、7d 或 30d(每小時一個)、all(每天一個);
--json:完整答案
nemia agents [--repo .]
步驟可以指定的代理,儲存庫的代理優先:每個代理的
用途、它所說的能力(每個技能的條目,從其 SKILL.md 讀取),
以及它所擁有的技能(its skills:)
nemia agents card <name> [--repo .] [--from repo|yours]
以 A2A Agent Card 格式輸出該代理的資訊,JSON 到標準輸出,
不包含其他內容——每個 protocol 標記為 REQUIRED 的欄位,但
supportedInterfaces 除外,因為這裡沒有代理透過 A2A 提供服務。
卡片僅描述;它不是一個位址
nemia agents sources [--path <folder>]
儲存庫已知的代理檔案,用於複製到你的函式庫中:
每個儲存庫的、你的,以及透過 --path <folder> 指定的
nemia agents custom <name> [--file <path>|-] [--clear] [--repo .]
你為該代理自訂的指令:在不改寫原始指令的情況下附加的內容,
儲存在 <store>/custom-instructions/<name>.md 中,並在原始指令之後
告知代理。不帶參數時,印出指令;--file 寫入指令(- 表示標準輸入);
--clear 移除指令。僅限純文字:不接受 frontmatter 區塊。
執行會保留它開始時所使用的指令;nemia,儲存庫自身的代理,
在其開放工作階段中會被告知這些指令
不帶參數時唯讀;給定 --file、--clear 時提示使用者
nemia level [manual|semi-auto|auto] [--factory <name> [--for <duration> | --end]]
Nemia,儲存庫自身的代理:不帶參數時,顯示她目前的位置、
每個工廠的層級以及如何聯絡她;設定層級會設定儲存庫的層級,
所有工廠除非有自己的設定,否則都會遵循此層級;--factory 設定特定工廠的層級,
--for 將其提升一段時間(90m、2h、1d;最多 7d),--end 結束提升。
semi-auto 會保留她的工作階段:需要你處理的事項(關卡、步驟的問題、
超過回合數、上限)會詢問你,而無法復原或變更你的設定或工廠的寫入操作
會詢問你;其餘由她處理。auto 與 semi-auto 相同,但你的確認清單允許的回應
在執行狀態中會自動給予(nemia policy <agent>),
在她自啟用 auto 以來建立的工作階段中:之前保留的工作階段會
詢問每個回應,直到再次歸檔(先設為 manual,然後 auto 離線後再設為 auto)。
設為 manual 的工廠會被忽略,當所有工廠都不高於 manual 時,她的工作階段會停止
不帶參數時唯讀;給定 manual、semi-auto、auto、--factory、--for、--end 時提示使用者
nemia memory [<fact>]
Nemia 所記憶的儲存庫相關資訊:不帶參數時,顯示她的事實名稱;
給定一個名稱時,顯示其內容。唯讀:僅她的工作階段可以寫入
nemia policy <agent>
代理在 auto 模式下的規則:它可以自動給予的回應,
一旦你確認即生效,以及它根據你的自訂指令所提議的內容,
附帶機制無法保留的文字,作為指導方針保存
nemia policy reach <agent> (--factory <name> | --run <runId>)
在工廠或執行中,哪些步驟在其關卡上可能由代理的規則自動批准:
為什麼其他規則不能(在執行前批准的步驟沒有任何建議或檢查;
沒有檢查的步驟從未通過檢查)、什麼阻止規則應用於目前執行,以及
哪些規則會應用
nemia chat speakers
代理可以在其聊天中使用的名稱,每個都是你允許的
nemia service status [--name <name>]
登入服務與租約:是否已安裝並執行、
它執行的 checkout、誰持有儲存庫,以及殘留項目
nemia version [--json]
此 nemia 的版本、安裝的標籤或 checkout 及其資料夾;
儲存庫 releases/current 所指定的版本;以及 daemon 執行的版本,
來自其租約,以及它是否承諾在其檔案上保留正在執行的工作階段;
以及正在執行的工作階段,依版本與 harness 版本分類,根據其記錄。
--json:完整答案
nemia watch [cursor] [--once] [-l <selector>]... [--cursor-file <path>] [--json]
追蹤餵送的內容,隨著 tick 寫入而更新,直到 ^C,以及
當沒有 tick 更新儲存庫時顯示 daemon down 行,
當更新恢復時顯示 daemon up:執行的狀態、步驟的狀態(如同 nemia ls 所顯示),
以及人員的變更內容。--once:從游標讀取到餵送結尾,
印出 cursor: <n> 並停止;從頭開始且沒有游標。-l:
選擇器所選取的行,可重複指定(key=v、key!=v、"key in
(a,b)"、"key notin (a,b)"、key),適用於 run、factory、workflow、step、
agent、kind、reason、on、via、type、waits 與 source。--cursor-file:
將讀取到的游標儲存在檔案中,並從該檔案中的位置開始。
--json:每行一個 JSON 物件,包含餵送行及其游標,以及
每 30 秒一個自身的游標(當餵送仍在進行時)。未指定 -l 時,
顯示所有行;-l waits=person 會選取等待人員的行。
沒有代理的步驟會顯示 agent: none,-l agent!=none 會排除該行。
行的原因(reason)是 API 提供給步驟的程式碼(reason);
其 word 與 message 是給人看的:請根據 reason 進行選擇,
不要根據 word。
nemia admit [--at-least <level>] [--auto <agent>]
呼叫的准入控制:工作階段即將進行的呼叫,從標準輸入讀取,
回答 ask 中等待你的人員;
…
[為翻譯而截斷]