接手別的對話留下的箱子
對話怎麼接手別的對話留下的箱子:用 sandbox_list 找到它,用 sandbox_status 讀 goal、steps[] 與 agent;原本的對話可能還在做時,先問人。
箱子比開它的對話活得久。要接著做:
sandbox_list(或GET /v1/boxes):用name或goal找到箱子。agent.state是left或idle的,就是沒人在做的箱子。idle只看時間:對話可能還開著,只是一小時沒碰這個箱子。每個箱子的recentNotes(最近 3 步的說明)講它在做什麼、說明有寫的話用了哪個測試帳號,不必一個個sandbox_status。sandbox_status { "id": "<id>" }(只要那幾欄就用{ "id": "<id>", "fields": ["goal", "agent", "steps"] }):讀goal(箱子要做什麼)、steps[](裡面已經做過什麼)與agent。agent.state是working或away又沒有thisConversation,表示原本在用它的對話還開著、可能會回來:先在你自己的對話裡、用你的客戶端問問題的方式問人,再接手。agent.untracked: true表示最後用它的呼叫沒帶對話 id(API key 腳本、REST),它的狀態只是照閒置時間猜的;如果是你自己用這種腳本開的,它就是你的。- 用同樣的工具、同一個
id接著做;你第一次對箱子動手的呼叫起(sandbox_exec、sandbox_build、sandbox_sync、sandbox_get、sandbox_pull、sandbox_shot、sandbox_wire這類),箱子就算你的;sandbox_status、sandbox_list、sandbox_say與sandbox_review不算。steps[]只有命令與說明,沒有輸出、也沒有檔案:要知道做到哪裡,用sandbox_exec在/work跑git status、git log與docker ps(凍結的箱子會先解凍,多幾秒)。前一個對話如果是在人的電腦上改程式、再用sandbox_sync送進箱子,那些改動也在人的本機 checkout 裡:那邊的git status也要看。只在箱子裡寫的東西,就只在/work。/work還在,前一個對話留下的東西都在裡面;箱子已經停掉(terminated或interrupted)時就不在了,這時用同一個goal開新箱子,沒有 commit 並 push、沒拉回來也沒發布的東西都沒了。 - 以
sandbox_review或sandbox_stop收尾(收尾)。
沒人用的箱子在最後一次使用 24 小時後、或過了它的 idleTimeoutMin 就永久停掉(箱子狀態),要在那之前接手。
帳號沒有成員:只有帳號的登入打得開 app。沒有 app 的隊友,用自己的 agent 找等人接手的箱子:sandbox_list 裡 agent.state 是 left 或 idle 的就是,再用 name 或 id 叫它接手。
在 app 裡,AI 停手了(對話關掉了,或箱子 1 小時沒用)、又沒有卡片在等人的箱子有兩個按鈕:
- 「接著做」複製一段提示,讓人貼到任何 AI 對話,原文如下:
接手 ParallelSandbox 沙盒 {id}({name}):先用 sandbox_status 看它的目的和做過的步驟,把沒做完的做完。做完用 sandbox_review 交件給我驗收;不需要我看就用 sandbox_stop 收掉。 - 「收掉」停掉箱子,跟
sandbox_stop一樣。
所有工具與主題都列在工具參考。