Repository navigation
AgEnD 2.3.0
AgEnD 2.3.0
2.3 的正式版,寫給從 2.2.x(2.2.5、2.2.6)升級的使用者。
2.2.5 已經收進 2.3 beta 前半段的大部分功能,例如網頁外觀、訪客登入、網頁授權、用量頁面和組織圖,所以這裡只列 2.2.6 之後才有的東西。
從 2.2.x 升級
- 怎麼升級:在 General 傳
/update,或在主機終端機執行agend update。從 2.2.6 升級:Linux(systemd)與 macOS(launchd)都已實機演練(#2277)。 - 從 Discord/Telegram 傳
/update:在 General 傳/update就能從 2.2.6 升上來,root 或 WSL 類主機也一樣;下面 #2369 的額外步驟只在主機上自己跑agend update時才需要(#2277 已實際演練)。 - 從 2.2.x 用
/update時看到的訊息:中途會先出現一次 2.2.x 自己的「✅ 安裝完成」,那時 fleet 還在重啟;最後出現「✅ 更新完成 — v2.3.0 · N 個 Agent 已就緒」才是全部好了。升上 2.3 之後的更新就不會再有提前的 ✅(#2480)。 - 以 root 執行的 WSL 類主機要多一步(#2369):在沒有
XDG_RUNTIME_DIR的 shell(一般的wslshell、docker exec、cron)執行 2.2.x 的agend update,會因為連不到 systemd 使用者服務而自動退回 2.2.x。舊的 fleet 不受影響。- 怎麼做:改用
XDG_RUNTIME_DIR=/run/user/$(id -u) agend update,或重跑官方安裝指令。 - 升上 2.3 之後:就不再需要這一步。
- 怎麼做:改用
- Mac 從 2.2.x 升級:更新完請確認 fleet 有起來(#2481):執行這次更新的是 2.2.x 自己的更新程式。在 Mac(launchd)上,即使 2.3 沒有起來,它也可能回報成功,而且不會自動退回;Linux 則會退回。
- 怎麼確認:
agend ls列得出 fleet 和它的 instance,儀表板也打得開。 - 沒有起來時:執行
npm i -g @songsid/agend@2.2.6,再執行agend restart,然後到 GitHub 開 issue 回報。 - 2.3 會直接告訴你(#2488):如果 2.3 裝好了卻一直起不來,任何
agend指令開頭都會顯示「已安裝但起不來」,附上回到前一版的指令和舊版備份的位置;agend doctor會有一列「Fleet start」失敗;Mac 會跳一次系統通知。只是提示,不會自動退回。 - 升上 2.3 之後:之後的更新會自己確認新的 fleet 真的在跑,沒有的話會自動退回。
- 怎麼確認:
- 之後的更新改用新版本自己的安裝程式(#2264):
/update和agend update會執行目標版本的agend-install --upgrade,安裝、升級、修復走同一條路。- 被打斷的安裝:再跑一次安裝指令就能修好。
- 同時有兩個安裝:另一個安裝或更新還占著安裝鎖時,新的這個會在改動任何東西之前停下並說明原因,不會回報「安裝失敗」;等前一個完成再執行一次(#2285)。
- 更新失敗會自動退回(#2420):新版的 service 起不來時,更新會試著裝回前一版的套件、service 設定,以及(如果原本在跑)它的 service。只有能確認原本狀態時才還原;否則保留復原用的副本並印出要檢查什麼。訊息會說明前一版是否已重新在跑;復原不完整時,照它印出的步驟處理。
- macOS:從 2.3 起,launchd 下要等 fleet 真的跑起來才算更新成功;從 2.2.x 升級的那一次例外,見上面的 Mac 項目。
- 比一般安裝多約 235 MB 的空間:退回機制要先把目前的版本另外存一份,安裝新版時也會保留。這份副本存不下來時,更新會在改動任何東西之前停下;安裝本身需要的空間不會事先檢查,所以也要留夠。
- service 設定會一起修好:
- 網頁不用重新登入(#2403):升級後原本的登入會自動沿用。只有一種例外:升級前,這個瀏覽器的登入 cookie 已經被同主機的另一個 AgEnD 蓋掉,這時要再登入一次。
- 升級後行為會變的預設值:
- 任務看板在聊天裡的提醒預設關閉(#2425):「等你處理」裡的看板卡片要設
needs_you.task_board: true才會出現。每日摘要要設defaults.task_board.summary_at才會發。 - 新建立的 fleet 預設關閉任務看板(#2391):新寫的 fleet.yaml 會帶
defaults.dashboard.task_board: false。既有的 fleet.yaml 不會被改寫,看板照常可用。 - Canvas Worker 特效是實驗功能,預設關閉(#2275):本機管理者可以在「設定 → 網頁外觀」開啟。落花、點擊星星這類環境效果不受影響。
- CLI 的語言跟著 fleet(#2404):先看
defaults.locale,沒設時,台灣時區(UTC+8)的主機會用中文。給程式讀的那幾行固定保持英文。 - 有安裝 AgEnD 服務的主機(#2356):手動執行
agend fleet start/agend fleet stop會改交給agend start/agend stop,不會在服務旁邊多跑一個沒人管的 fleet。
- 任務看板在聊天裡的提醒預設關閉(#2425):「等你處理」裡的看板卡片要設
主要新功能
網頁儀表板
- 任務看板(#2246,感謝 @igs-willyliao):「Fleet › Tasks」變成看板,分成專案、主任務(M-n)和子任務(S-n)。
- 基本操作:主任務跟著子任務的進度走,支援依賴關係、留言和歷史,可以拖拉與篩選。公開連結只能看。
- agent 協作:卡片被指派、退回、問題被回答、有新留言、被確認或取消時,相關的 agent 會收到通知,10 秒內的變動合成一則。
- 派工者:卡片會記錄是誰派的,派工者可以回答 agent 卡住的問題。每個 agent 同時只做一張卡。
- 誰確認:只有你派出去的卡片需要你確認(#2434)。agent 派的卡片由派工的 agent 確認。派工的 agent 被刪掉時,卡片會改回給你(#2451)。
- 在聊天室處理:開啟
needs_you.task_board後,等你確認和卡住的卡片會出現在 General 的「等你處理」,可以直接確認、退回或回覆。 - 每日摘要:設了
defaults.task_board.summary_at才會發。看板的 Instance 抽屜依團隊列出每個 agent 手上的卡。
- 全域搜尋(#2293):按側邊欄的「🔍 搜尋」,或按 Ctrl+K/⌘K。
- 範圍:聊天訊息、agent 之間的訊息和任務,依 agent 分組,點一下就跳到原訊息。
- 只搜一個 agent:在聊天裡按 Ctrl+F。
- 篩選:可以依 agent/team、時間、來源篩選,或只看自己說的。
- 權限:只有登入的管理者能用,從臨時公開連結登入的管理者也可以(#2486);只想在公開連結上關掉,設
web.search.public_link: false。訪客永遠不能用。索引保留 90 天(web.search.retention_days)。
- Office 像素辦公室(#2399,感謝 @hxhsandy):「Fleet → 組織圖」多了「Office」檢視,把 fleet 畫成像素風辦公室。
- 畫面:每個團隊一間房、每個 agent 一張桌子。工作中在打字、閒置在喝茶、暫停在睡覺、等你處理會閃燈,agent 之間的訊息會沿著走廊飛過去。
- 風格:有 Desks 和 Studio 兩種。
- 編輯:管理者可以新增、改名、刪除辦公室,指定成員和風格;同時有人修改時會保留你的草稿,讓你選要保留哪一份。訪客和公開連結不能編輯。
- 網頁聊天:
- 回覆指定訊息(#2272):滑鼠移上去按 ↩、按右鍵、手機左滑或長按,或按 R。
- 同步成原生回覆(#2281):同步到 Discord/Telegram 的那一則會直接「回覆」原訊息。
- reaction(#2305):agent 可以對網頁訊息 react 一個 emoji,當成只需確認或道謝時的回覆。
- 送出狀態:送出後訊息立刻以灰色出現,agent 收到才變成正常顏色;失敗時可以重試、放回輸入框或刪除。圖片和檔案各自顯示上傳進度。重試不會讓同一則訊息送兩次。
- 聊天圖片(#2333):可以縮放和拖曳。
- 復原與重做(#2342):每個文字欄位都可以用 Ctrl/⌘+Z 復原、Ctrl+Shift+Z 重做。
- 輸入框下方只剩一行(#2215):桌機省了約 45 px。
- 輸入框提示(#2479):用 agent 的顯示名稱,固定一行。
- 手機(#2479、#2485):鍵盤的換行鍵是換行,只有送出按鈕會送出;打字時底部分頁列收起,輸入框直接貼著鍵盤。
- 外觀:
- 用量面板:
- 精簡檢視:標題旁有「完整/精簡」切換。精簡檢視依供應商分組,每個帳號三行:名稱、方案和重置時間,再加上 5 小時和 7 天各一條長條和百分比。選擇會同步到每台裝置。
- 每個 Claude 登入各一列(#2236):預設帳號和每個 profile 都會顯示;額度用完顯示 100% 和重置時間,被限流顯示「Rate limited」。
- 讀不到時保留上次的數字(#2236、#2385):會標示「已過期 · 快取於 HH:MM」,不再閃「無法載入」。
- 方案徽章不再擠掉標題(#2412):過長的方案名稱會縮短。
- Antigravity(#2240):顯示方案名稱,付費方案顯示正確的 Gemini 額度,Gemini 4 Argon 也有自己的一行,完整和精簡檢視都有。
- 啟動時網頁先起來(#2398,感謝 @hxhsandy):冷啟動或完整重啟時,網頁在 agent 啟動前就能打開,可以看到每個 agent 依序啟動的進度。
- Canvas Worker 特效(實驗功能,預設關閉)(#1629):開啟後,可以在「設定 → 網頁外觀」的特效庫上傳特效、放到聊天或個人區域。agent 也能用工具放置自己的特效,mod 會一起帶著特效。特效在隔離的 Worker 裡執行,接觸不到頁面內容和輸入欄位。
設定
- 每個 agent 可以個別關閉儀表板功能(#2391,感謝 @igs-willyliao):外觀、任務看板、網頁設定三項。可以設在個別 agent 或 fleet 預設值(
dashboard: { appearance, task_board, web_settings }),關掉後那幾項的工具就不能用。 - 從儀表板登入 backend(#2233):在設定的「登入」、
/backend選單、「等你處理」和每頁的提示列都可以登入。 - 只用網頁、不接 bot:設定頁可以建立第一個 agent,不連任何聊天平台。
- 公開連結可以用自己的網域(#2307,感謝 @hxhsandy):填入 Cloudflare 具名 tunnel 的 hostname 和 token,每次開啟都是同一個網址,手機「加入主畫面」不會隔天失效。
- 自訂 App 圖示(#2308,感謝 @hxhsandy):「設定 → 網頁外觀 → App 圖示」上傳一張圖,「加入主畫面」就會顯示你的圖。
- tool set 選單列出所有 profile(#2407,感謝 @igs-willyliao):沒有自己設定的 agent 會顯示實際生效的 profile。
更新與服務的穩定性
agend restart是唯一的完整重啟(#2356):它會透過實際管理 fleet 的對象重啟(systemd、launchd 或 detached)。從 agent 窗格執行也不會讓 fleet 停在半路。- 單一 instance:
agend restart <instance>立即重啟那一個。 agend stop:也會停止系統 unit。
- 單一 instance:
/update的訊息照實顯示(#2480):「已安裝、正在重啟」→「啟動中 N/M」→ 全部 Agent 起來才顯示 ✅。- 記憶體吃緊時不會重啟循環(#2461):延後啟動 agent 時,fleet 會向 systemd 申請延長啟動時間,不會在 15 分鐘時被整個砍掉。健康檢查提早開始,批次停止也會依記憶體分批。
- 單一 agent OOM 不再拖垮整個 fleet(#2015、#2035):同一個 Claude Code session 連續兩次確定死於 OOM 時,會停在 crashed 並通知你,不再一直重開同一個 session。
- 建立 agent 不再讓所有 agent 逐一重啟(#2317):改 fleet 層級的設定也一樣。
- 啟動更快(#2288):
startup.concurrency能真正同時啟動。記憶體壓力下一次一個的保護不變。 /login失敗只結束那一次登入(#2243、#2374):AgEnD 啟動的每個子程序,管線出錯時只會結束那一個子程序,不會讓 fleet 退出,也不會被誤當成成功。- 效能:狀態更新快約 4 倍,開多個分頁時快約 7 倍(#1956)。tmux 指令改由小的 helper 程序執行(每次約 26 ms → 0.4 ms)。沒設特效時完全不載入特效程式(#2193)。
- Windows 一行安裝(#1853):
powershell -ExecutionPolicy ByPass -c "irm https://songsid.github.io/AgEnD/install.ps1 | iex"。- 安裝過程:自動處理 WSL,重開機後自動接續;在瀏覽器完成設定,登入各 AI 後端;最後會建立桌面捷徑。
- 壞掉時修復:安裝已經壞掉時,只做修復。
- 已安裝的使用者:可以用
agend shortcuts補建捷徑。
後端
- Codex:
- Claude Code:2.1.304 的閒置冷啟提示會自動回答,不再卡住(#2268)。
- kiro-cli 2.33:在
--trust-all-tools下會自動回答「Trust this workspace?」。 - Grok:
安全與授權
- 自己的網域也能「授權此瀏覽器」(#2453):設定
web.verified_authority.named_link(預設關),開啟要經管理者確認。只認你設定的那個網域,quick tunnel 一律不行。 - 已驗證的網頁按「套用」就算確認(#2170):你的帳號是受影響連線的管理者時,被擋下的設定變更會直接生效。
- 同一個瀏覽器開兩個 AgEnD 不再互相登出(#2396):每個 fleet 的登入 cookie 有自己的名稱。
- 內建 Node 更新到 22.23.4(#2405):包含 Node 10 月的安全更新和 OpenSSL 3.5.9。
- 套件漏洞降到 0(#2408):production 和開發用套件的
npm audit都是 0。 - 其他修補:修掉兩個 ReDoS(#2416)。
~/.agend一律建成 0700,之前被建成群組可寫的會自動收緊(#2435)。
變更
- 指令整理(#2359):
- 新的別名:
agend status等同agend ls,agend fleet status等同agend ls --resources。 - 已移除:
agend schedule trigger、agend fleet logs(改用agend logs)、聊天的/install-cli(改用/login)、agend install --activate。輸入這些會看到改用哪個指令的提示。 - 已淘汰:
/dashboard仍可用,但請改用/web。agend fleet restart [--reload]會改執行agend restart,2.4 會移除。
- 新的別名:
- 多語系(#2390):
- 介面:設定變更的確認卡片和按鈕、網頁上伺服器回的訊息、
/login的網頁終端機頁面都有中文了。 - CLI 語言:CLI 訊息跟著 fleet 的語言。
- 介面:設定變更的確認卡片和按鈕、網頁上伺服器回的訊息、
- 回報問題:可以產生已去除機密的回報檔,並附預填的 GitHub 連結(#2258)。
- 小修正:
- 設定檔:fleet.yaml 用 YAML anchor/alias 共用設定時,設定頁只會改到你編輯的那個連線(#2208)。連線沒寫
mode時,確認範圍不會擴大到每個連線(#2211)。 - 斷網:斷網時重啟或升級,「Fleet 就緒」會在恢復連線後補送一次(#2213)。
- 設定頁:六個欄位在套用時被誤拒的問題已修正(#2346)。
- CLI 顯示:
agend ls和 attach 選單的中文欄位對齊了;get_fleet_status也會計入 ClassicBot 頻道。 - 檢視頁:「編輯個人資料」移到身分卡上(#2394)。
- 選取樣式:選取、滑過、焦點一律是直的左側色條,不再用圓角填色(#2330、#2489)。
- 設定檔:fleet.yaml 用 YAML anchor/alias 共用設定時,設定頁只會改到你編輯的那個連線(#2208)。連線沒寫
- log 更精簡(#2482):daemon.log 大約少六成;working/idle 切換和取消按鈕的紀錄移到 debug,送給忙碌中 agent 的訊息不再算警告。
已知問題
- WSL 上偶爾
/login後主程式卡住、被 watchdog 重啟(#1880):根因還在調查。 - Codex 的 silent schedule 偶爾顯示「無法確認送達」(#2301):其實已經送達,也不會重送。
- 以 root 執行的 WSL 類主機,從 2.2.x 升級要多一步(#2369):見上方「從 2.2.x 升級」。