v1.3.8

v1.3.8 Release Notes

Released


v1.3.7 -> v1.3.8

Summary


Background work becomes independent jobs that carry their own goal and next step, so the starting task finishes normally and the job either feeds its reports back or continues on its own. Tool calls, confirmations and questions now come from one backend formatter shared by the terminal, web and chat channels.
翻譯
背景工作改為帶有自身目標與下一步的獨立 job,發起的任務照常結束,job 視情況把報告交回或自行接續。工具呼叫、確認與提問改由單一後端格式化,終端、網頁與聊天頻道共用。

Changes


FEAT


  • Run background legs as independent jobs: background_subagents and background_command take objective and next, legs started in the same turn form one group stored under sessions/<sid>/background/, and the parent task ends normally instead of staying pending; while the parent is open each report is injected into its loop, while it is paused or waiting on ask_user reports wait for its resume, and once it has ended the group runs objective + next + all reports as its own task when every leg finishes, pointing to the parent through chat_history (@pardnchiu) [87b931c2]
  • Show N background task(s) running above the TUI input, refreshed every second, and open a cancel menu on ESC when the input is empty and nothing runs in the foreground: pick one leg or All, confirm, and the daemon cancels it over the new background_cancel IPC frame, dropping its late result (@pardnchiu) [87b931c2]

翻譯
  • 背景 leg 改為獨立 job:background_subagents 與 background_command 新增 objective、next,同一回合開的 leg 自成一組,存於 sessions/<sid>/background/,母任務照常結束而不再維持 pending;母任務執行中時報告插入其迴圈,暫停或等待 ask_user 時報告等它恢復,已結束時待整組完成,以 objective+next+所有報告另開一輪,並經 chat_history 指向母任務
  • TUI 輸入框上方顯示 N background task(s) running(每秒更新);輸入框為空且無前景任務時按 ESC 開啟取消選單,可選單一 leg 或 All,確認後由 daemon 經新的 background_cancel IPC frame 取消,並丟棄晚到的結果


FIX


  • Answer reasoning_guide(subagent_dispatch) inside a session that cannot dispatch with a short "run every lookup yourself" note instead of the full dispatch rules, so research legs stop searching for subagents they cannot call (@pardnchiu) [87b931c2]

翻譯
  • 在無法分派的 session 呼叫 reasoning_guide(subagent_dispatch) 時,只回「所有查詢自行執行」的短說明而非完整分派規則,研究 leg 不再反覆尋找無法呼叫的 subagents


UPDATE


  • Format tool-call and thinking lines in the backend: /v1/log events carry trace and tool_display, the web UI renders them as given, and the TUI, web UI, API stream and chat channels share one tool-call format such as API(Weather) or Run(rm /etc/hosts) (@pardnchiu) [9c73742a]
  • Clip each argument value of a displayed tool call to 256 characters instead of cutting the whole line, and drop the remaining line truncation in the web UI, API stream and chat channels (@pardnchiu) [9c73742a]
  • Build permission prompts from one formatter for the TUI, web UI, Telegram and Discord: Run X? / Run X outside the allow list?, restricted paths as ⚠ path, and the note system password required; Telegram and Discord messages are sized to each platform limit counted in UTF-16 units (@pardnchiu) [9c73742a]
  • Format ask_user questions from one source: chat channels send the question, detail and question n/m on separate lines with progress shown only for multiple questions, the web UI card shows progress, and the tool-call line reads Ask(<first line of the first question's detail, or its question>) capped at 128 characters (@pardnchiu) [9c73742a]
  • Call public_api_list(category) directly when the request clearly fits a category, return the category list in the not-found error, and show the category in tool-call events as API(<category>) (@pardnchiu) [705756e9]

翻譯
  • 工具呼叫與思考行改由後端格式化:/v1/log 事件附 trace 與 tool_display,網頁直接顯示;TUI、網頁、API 串流與聊天頻道共用同一種工具呼叫格式,例如 API(Weather)、Run(rm /etc/hosts)
  • 顯示的工具呼叫改為逐一截斷每個參數值至 256 字元,不再截整行;網頁、API 串流與聊天頻道其餘的整行截斷一併移除
  • 權限確認由單一格式化產生,供 TUI、網頁、Telegram 與 Discord 共用:Run X?/Run X outside the allow list?、受限路徑以 ⚠ path 列出、說明為 system password required;Telegram 與 Discord 依各平台上限以 UTF-16 計算長度
  • ask_user 提問格式統一:聊天頻道把問題、說明與 question n/m 分行送出,只有多題時顯示進度;網頁卡片顯示進度;工具呼叫行為 Ask(<第一題 detail 的第一行,沒有 detail 則用 question>),最多 128 字元
  • 需求明確對應分類時直接呼叫 public_api_list(category),找不到分類時錯誤附上分類清單,工具呼叫事件顯示為 API(<category>)


REMOVE


  • Remove the "waiting for background tasks" mode: the TUI status line and ESC cancel of the whole parent, the web UI waiting state driven by EventPending(subagents) and pending entries with background > 0, the [Active] lock in TUI /pending, the background field of the pending list API, and follow-up input into a background-pending task over IPC run frames (@pardnchiu) [87b931c2]

翻譯
  • 移除「等待背景任務」模式:TUI 狀態列與 ESC 取消整個母任務、網頁依 EventPending(subagents) 與 background > 0 進入的等待狀態、TUI /pending 的 [Active] 鎖、pending 清單 API 的 background 欄位,以及經 IPC run frame 接續背景 pending 任務的後續輸入


Scope


  • internal/tools/interactive/ — FEAT, REMOVE (background.go, backgroundStart.go, backgroundCancel.go, askUser.go)
  • internal/app/ — FEAT (deliverBackground.go)
  • internal/agents/exec/ — FEAT, REMOVE (execute.go, steerWait.go, toolCall.go)
  • internal/tools/ — FEAT, FIX, UPDATE (runCommand.go, runCommandBackground.go, guide.go, subagent/, types/, external/publicAPIList.go)
  • internal/runtime/tui/ — FEAT, UPDATE, REMOVE (multiple files)
  • internal/runtime/ipc/ — FEAT, REMOVE (frame.go, client.go, server.go)
  • internal/utils/ — UPDATE (toolFormat.go, permissionFormat.go, askUserFormat.go, event.go, utils.go)
  • internal/runtime/ — UPDATE (listener.go, chatbot/discord/, chatbot/telegram/, routes/handler/)
  • page/src/js/ — UPDATE, REMOVE (multiple files)
  • configs/prompts/guide/ — UPDATE (subagent_dispatch.md, tool_generate.md)
  • README.md, doc/ — DOC



Generated by SKILL