pi-straw-boss 0.37.1 → 0.37.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/README.zh-TW.md +2 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ Run a few agents on the same project and they start stepping on each other: two
|
|
|
36
36
|
- **Tidy tabs.** When a pi starts in a tab or quits out of it, the tab's panes are made equal again, so workers split off one by one don't leave a chain of halves.
|
|
37
37
|
- **Stranded subagents are asked to report.** A subagent that stays open after finishing, while the pi that launched it was restarted and no longer receives its result, is asked once over intercom to send its final report there ([how it works](docs/how-it-works.md#orphaned-subagents)).
|
|
38
38
|
- **A net view in Herdr's sidebar.** An optional plugin turns the Agents list into the net, towers first and each subagent under its launcher, on by default and switched by one key.
|
|
39
|
-
- **A reaper for leftover worktree panes.** A second optional plugin closes the panes agents leave behind in worktree workspaces, removes the clean checkouts, and keeps the workspaces you pin.
|
|
39
|
+
- **A reaper for leftover worktree panes.** A second optional plugin closes the panes agents leave behind in worktree workspaces, removes the clean checkouts nothing holds, and keeps the workspaces you pin.
|
|
40
40
|
|
|
41
41
|
## Install
|
|
42
42
|
|
|
@@ -129,6 +129,7 @@ Run `herdr server reload-config` to load the key, and `herdr plugin unlink wayne
|
|
|
129
129
|
A second optional Herdr plugin, in [`herdr-reaper/`](herdr-reaper), cleans up after agents that ran in worktree workspaces.
|
|
130
130
|
In a workspace whose worktree is a linked git worktree (whatever its name), it closes the pane of an agent that has exited once the pane's shell is idle, and never the focused pane.
|
|
131
131
|
Herdr then closes the tab and the workspace, and the plugin removes the workspace's checkout if `git status` is clean and nothing else is using it (no other pane works in it, no other workspace is open on it).
|
|
132
|
+
A worktree that pi-herdr-agents created is kept until its parent session removes it with `worktree_remove`, for as long as the parent session is open in a Herdr pane (or, if it is not, until it has been silent for 72 hours, `retain_idle_hours`), and so is any checkout a process of yours has as its working directory.
|
|
132
133
|
Git-ignored files (`.env`, `node_modules`, caches, local databases) do not make a checkout dirty, so they are deleted with it.
|
|
133
134
|
The branch always stays, and so does a dirty checkout, with the reason in the plugin log.
|
|
134
135
|
A checkout with initialized submodules is removed only when every submodule (nested ones too) has no uncommitted or untracked paths and its HEAD is contained in a remote-tracking ref (or in a ref of the main repository's own copy of the module), so no commit is lost; the reaper then runs `git submodule deinit --all`, deletes the worktree's `.git/worktrees/<id>/modules` (which git refuses to remove the worktree around), and runs a plain `git worktree remove`. Otherwise it stays and the log names the submodule and why; if a removal fails partway and leaves files git no longer tracks, the log says "half-removed" and names the directory for you to delete.
|
package/README.zh-TW.md
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
- **分頁保持整齊。** pi 在分頁裡啟動或結束時,分頁裡的 pane 會重新平均分配,一個一個切出來的 worker 就不會留下一長串對半切的窄 pane。
|
|
37
37
|
- **斷線的子智慧體會被提醒回報。** 子智慧體做完後還開著,但開出它的 pi 已經重開、收不到它的結果時,它會收到一則 intercom,請它把最終報告送回去,只會送一次([運作方式](docs/how-it-works.md#orphaned-subagents))。
|
|
38
38
|
- **Herdr 側邊欄的網路檢視。** 一個選用的 plugin 會把 Agents 清單排成網的樣子:塔台在前,每個子智慧體排在開出它的人底下。預設開啟,按一個鍵就能切換。
|
|
39
|
-
- **清理閒置的 worktree pane。** 另一個選用的 plugin 會關掉智慧體在 worktree 工作區留下的 pane
|
|
39
|
+
- **清理閒置的 worktree pane。** 另一個選用的 plugin 會關掉智慧體在 worktree 工作區留下的 pane,移除乾淨且沒有東西在用的 checkout,並保留你釘選的工作區。
|
|
40
40
|
|
|
41
41
|
## 安裝
|
|
42
42
|
|
|
@@ -128,6 +128,7 @@ description = "toggle the straw net view"
|
|
|
128
128
|
另一個選用的 Herdr plugin 放在 [`herdr-reaper/`](herdr-reaper),專門清理 worktree 工作區裡智慧體跑完留下的東西。
|
|
129
129
|
只處理 worktree 是 linked git worktree 的工作區(不管它叫什麼名字):智慧體結束、pane 的 shell 閒置之後,就關掉這個 pane,但絕不關掉有焦點的 pane。
|
|
130
130
|
Herdr 接著會關掉分頁和工作區,plugin 再在 `git status` 乾淨、而且沒有別的東西還在用它(沒有別的 pane 在裡面工作,也沒有別的工作區開在同一個 checkout)時移除這個工作區的 checkout。
|
|
131
|
+
pi-herdr-agents 建立的 worktree 會留著,直到它的父 session 用 `worktree_remove` 移除;父 session 只要還開在某個 Herdr pane 裡就一直留著,沒有開著時則等它靜默 72 小時(`retain_idle_hours`);任何有你的行程以它為工作目錄的 checkout 也一樣不動。
|
|
131
132
|
git 忽略的檔案(`.env`、`node_modules`、快取、本機資料庫)不算變更,所以會跟著 checkout 一起被刪掉。
|
|
132
133
|
分支一律保留;有未提交變更的 checkout 也留著,原因寫在 plugin 日誌裡。
|
|
133
134
|
含已初始化 submodule 的 checkout,只有在每個 submodule(含巢狀的)都沒有未提交或未追蹤的檔案,且 HEAD 已被某個 remote-tracking ref(或主儲存庫自己那份 module 的 ref)包含、不會遺失任何 commit 時才會移除:reaper 先跑 `git submodule deinit --all`,刪掉 worktree 的 `.git/worktrees/<id>/modules`(有它在,git 不肯移除 worktree),再跑不帶 `--force` 的 `git worktree remove`。不符合就保留,日誌會寫出是哪個 submodule、為什麼;若移除做到一半失敗、留下 git 已不再追蹤的檔案,日誌會寫「half-removed」並指出該目錄,由你自己刪除。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-straw-boss",
|
|
3
|
-
"version": "0.37.
|
|
3
|
+
"version": "0.37.3",
|
|
4
4
|
"description": "Straw Boss coordination for pi in Herdr: sessions join a tab's net by choice, the first joiner is its main agent, a workspace tower opens on demand with a live monitoring dashboard, and boss_broadcast reaches the rest",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|