pagent
概覽
尋找某個 paseo agent 並讀取其對話記錄,無需每次都重新摸索 paseo 的資料存放位置。 pagent 僅執行讀取:絕不會啟動、停止、操控或復活 agent,也不會要求 daemon 重新載入已關閉的 agent。
呼叫方式
SKILL=<此技能的基本目錄>/pagent.py # harness 會在上方印出基本目錄
python3 $SKILL 11111111-1111-4111-8111-111111111111 # 摘要:狀態、工作目錄、模型、對話記錄路徑
python3 $SKILL 11111111 --task # + 使用者提供的每條指令
python3 $SKILL 11111111 -t -n 20 # + 最後 20 輪對話
python3 $SKILL 11111111 -t --full # 對話輪次不截斷
python3 $SKILL "invoice export" # 根據標題搜尋
python3 $SKILL # 列出所有 agent,最新的優先
查詢可以是 ID、ID 前綴,或標題中不區分大小寫的子字串。若有多個相符結果則以列表形式印出;
若僅有一個相符結果則顯示詳細檢視。python3 $SKILL --help 會印出使用說明。
步驟
- 解析 agent。 不帶旗標執行查詢:摘要會顯示狀態、工作目錄、模型和對話記錄路徑。若顯示列表則表示查詢不明確; 請使用 ID 或更長的標題片段來縮小範圍。
- 讀取它被要求了什麼。
--task會印出使用者提供的每一條指令,而不只是第一條。 開頭的行陳述主題;兩則訊息之後的修正則包含決策(「使用選項 B,但將重試限制保持為三」)。 兩者都會被印出;harness 的前置內容和注入的技能本體則不會。這在接手某個 agent 的工作時最為重要 — 請參閱ptakeover技能。 - 讀取它進行到哪裡。
-t -n <turns>會印出對話的結尾;當某個輪次被截斷時,可加上--full。 在 agent 運行時讀取是安全的,因為對話記錄僅會附加內容。 - 檢查相鄰的 agent。 如果某個 agent 的
cwd與你的工作目錄相同,它可能正在編輯相同的檔案。 在假設某個意外的 diff 是屬於你的之前,請先執行git status。
使用 -t 或 --task 時,若對話記錄不存在則會以非零狀態碼退出。
靜默的 0 會被解讀為「agent 什麼也沒說」,這對於接手重建任務的人來說是錯誤的結論。
資料存放位置
- Agent 元數據:
~/.paseo/agents/<workspace>/<id>.json— 標題、lastStatus(running/idle/ …)、cwd、模型、requiresAttention、時間戳記。 - 對話記錄: 不在那個檔案中。它與寫入它的 harness 存放在一起,以
persistence.sessionId為鍵值:- Claude Code —
<config>/projects/<escaped-cwd>/<sessionId>.jsonl。claude-rotate 會為每個帳號保留一個配置目錄, 因此它可能位於~/.claude或任何~/.config/claude-rotate/configs/*/下 — 腳本會 glob 搜尋所有目錄,而不是猜測轉義後的路徑。 - Codex —
~/.codex/sessions/<y>/<m>/<d>/rollout-<stamp>-<sessionId>.jsonl,一種不同的記錄結構 (payload.type),解析器會同時處理它與 Claude 的記錄。歸檔某個 agent 會將 rollout 移至 平面的~/.codex/archived_sessions/。 - Antigravity —
sessionId是一個plugin:{…"conversationId":…}包裝器;歷史記錄位於~/.gemini/antigravity-cli/brain/<conversationId>/.system_generated/logs/transcript_full.jsonl(記錄以step_index為鍵值)。不是conversations/<id>.db,那個是 protobuf 格式。較舊的antigravity-acp提供者的 agent 從未寫入該日誌,因此它們沒有可讀的歷史記錄。
- Claude Code —
與 agent 交談、等待 agent
此技能僅執行讀取。其他操作請參考:
- 交談:
paseo send <id> "<text>" --behavior steer --no-wait。以 agent 為範圍的 CLI 和send_agent_prompt呼叫預設為 steering;明確指定 behavior 在 agent 範圍外也有效。Steering 在提供者無法接受時(例如在壓縮期間)可回退為中斷。--no-wait在派發後立即返回;它不會將訊息排在 agent 輪次之後。 - 不要意外復活任何東西:
paseo send會復活已歸檔的 agent,因此請先檢查paseo inspect <id> --json中的ArchivedAt。 永遠不要為了傳送報告而復活一個已歸檔的 agent;將資訊留在其工作成果中(TODO、協定或提交),或告知使用者。 - 等待:
paseo-notify <id>,然後結束你的輪次 — 當 agent 停止時會收到一則訊息。在 paseo 外部:paseo wait <id> --json,在背景執行;從 JSON 中讀取status(idle、permission、error、timeout)— 對所有這些狀態,退出碼均為 0。永遠不要使用sleep、Monitor、/loop或輪詢paseo ls/logs/inspect來等待。
常見錯誤
| 錯誤 | 修正方法 |
|---|---|
| 僅根據最初的請求就接手工作 | --task 也會印出後續的所有修正;它們包含決策 |
使用 paseo logs 來讀取已關閉或歸檔的 agent | 這會使 daemon 重新載入 agent 的工作階段來讀取;請使用此技能,它只會讀取檔案 |
| 將靜默退出解讀為「agent 什麼也沒說」 | 對話記錄不存在時會以非零狀態碼退出;請檢查退出碼和摘要中的對話記錄路徑 |
| 向已歸檔的 agent 發送報告 | paseo send 會復活它;請先檢查 ArchivedAt,並將報告留在其工作成果中 |
使用 sleep、Monitor、/loop 或重複的 paseo ls/logs/inspect 來等待 agent | 使用 paseo-notify <id> 並結束你的輪次 |
當某個 agent 與你共享相同的 cwd 時,將意外的 diff 視為你自己的 | 檢查 git status;該 agent 可能正在編輯相同的檔案 |