FX-DEVKIT / 文件

更新日誌

fx 工作區 CLI 的變化。

v0.20.0 · 公開預覽版

0.20.0 (2026-11-12)

  • 透過相容的 bitbucket-cli 原生 HTTPS Git 驗證完成 manifest 初始化、複製、fetch及遠端 HEAD 讀取;保留 SSH 宣告及 remote,fx 不接觸 token。配套 CLI 缺失或較舊時使用一般 Git,憑證遭拒時保留錯誤。
  • 將配套 CLI 登記更新至 bitbucket-cli 0.30.0 與 wecom-channel-cli 0.4.0。

0.19.0 (2026-11-12)

  • 透過 repo version 讀取固定到提交的版本宣告和第一父提交欄位歷史, 支援巢狀套件及可選歷史基準. 發佈檢查可包含同樣的證據, 不將原始碼變化視為已經發佈.
  • 新增帶時區的絕對錯誤視窗和 Sentry Issue 中繼資料分頁讀取. 區分生命週期首次出現、視窗活動、目前狀態和計數範圍, 明確報告部分收集與詳細資料讀取失敗.
  • 新增 evidence_complete 和每個儲存庫的分項證據涵蓋, 保持發佈檢查判定及產生報告後以 0 結束的約定. repo show 新增業務範圍職責證據, 對目前成員文件中的關係按日期篩選, 不決定指派給誰.

0.18.1 (2026-11-12)

  • 發佈檢查區分已確認失敗和未完成項,合併重複的不可用原因並保留恢復步驟及結構化查詢錯誤。缺少 Sentry 專案時不再查詢整個組織或產生誤導性的發佈失敗。

0.18.0 (2026-11-12)

  • 將就緒證據、Provider 命令、handoff 與探測繫結至同一執行檔及工作區, 支援自訂 binary 名稱.
  • 在展開準備配方前限定工具診斷與修復範圍, 區分啟動前置條件與憑證 handoff.
  • 為不支援裝置 OAuth 的 Sentry 實例提供個人 Token 手動設定流程, 保留既有有效認證.
  • 新增成員篩選項探索及保留工作區的查詢修正, 同步更新配套 Skill 與回歸覆蓋.

0.17.0 (2026-11-10)

  • 可在 people 中宣告導師與最終負責人; 成員列表與詳情回傳明確的 ID 或 null, 驗證會拒絕無效參照和循環關係.

0.16.1 (2026-11-10)

  • 將 npm 配套 CLI 的最低版本對齊到專案家族及上游目前已發布版本,包括 wecom-chat-cli v0.3.0 與官方 wecom-cli v1.3.4。
  • 補充 Chat 0.2.x 的 watch 輸出與游標遷移說明;fx 繼續僅檢查 worker 目前任務,由宿主管理 Skill。

0.16.0 (2026-11-10)

  • 要求 wecom-channel-cli v0.3.0 及以上,以強制排除自身 Bot 的監聽事件,並使用正式的 doctor 命令檢查就緒狀態。wecom-chat-cli 的最低版本維持為已發佈的最新版 v0.2.0,繼續使用任務範圍的就緒檢查和由宿主管理的 Skill。

  • 將 wecom-chat-cli v0.2.0+ 加入工具目錄,作為隔離 worker 的 im provider。就緒檢查僅針對目前任務,不在報告中輸出聊天正文,也不簽發權杖或核准回覆。套件內的 Skill 仍由宿主管理。

  • 成員 schema 2 支援分別查詢目錄歸屬、個人職能和業務協作。依業務範圍查詢可取得符合的關係、有效日期及來源。CLI 繼續讀取 schema 1。

0.15.0 (2026-11-02)

  • 將工作區能力 channel 綁定到 wecom-channel-cli 即可安裝 CLI 和 Skill。就緒檢查透過代理通訊端偵測本機 broker。

  • 保留 sync 更新會取代的本機檔案。當 upstream 開始追蹤某個在 checkout 中是被忽略檔案的路徑(例如本機的 .env)時,fx sync 會 fast-forward 覆寫該檔案並取代其內容。現在會保持該 checkout 不變,以 outcome local_files_in_the_way 略過,在 files_in_the_way 中列出這些檔案,並在它們被移開之前不視為就緒。位於同樣位置的未追蹤檔案原本就會被 Git 拒絕取代,現在也以相同方式回報,而不再是失敗的 GIT_FAST_FORWARD_FAILED 列。manifest checkout 也以相同方式保留。

0.14.0 (2026-10-28)

  • 工具變化時重新整理 Skill。fx tool install 與 fx tool update 會讓每個安裝或更新過的工具為你的編碼 Agent 重新安裝它的 Skill,讓 Agent 讀到 PATH 上目前版本的說明;每一列新增 skill。fx self update 最後會讓新安裝的 fx 重新整理比它舊的自身 Skill 副本,結果記在 skill_refresh;新增的 fx skill update 單獨做這件事:只重新整理可辨識且比目前 fx 舊的副本,涵蓋每個 Agent 的目錄,不新裝任何副本。保持一切最新只需 fx self update --yes 與 fx tool update --all。

  • fx tool update --all 只更新已安裝的工具。先前在工作區外它會取整個工具目錄,並安裝每個尚未安裝的工具;在工作區內會安裝工作區缺少的工具。現在這些交給 fx tool install --all,在工作區內會以 TOOLS_NOT_INSTALLED 提示列出它們。FX_OUTDATED 提示不再建議 fx skill install。

  • fx release check 優先讀取根目錄 VERSION, 避免服務版本缺少或顯示為套件版本. 相依檢查繼續讀取相依檔案.

0.13.0 (2026-10-27)

  • 沒有 manifest 也能設定配套 CLI。不指定目錄和來源直接執行 fx init,會列出 fx 工具目錄中的工具,並詢問要設定哪些,可以輸入編號或名稱,按 Enter 選擇全部;Agent 和腳本用 fx init --tools <name,...> 或 --tools all 指定,--dry-run 可以預覽。fx 會安裝缺少的工具,讓每個工具為你的編碼 Agent 安裝它的 Skill,加上 fx 自己的 fx-workspace Skill,並檢查每個工具是否已登入。在終端機中,fx 會詢問是否開始設定尚未登入的工具 (<tool> config init、gh auth login),設定過程會詢問服務和你的憑證;不在終端機或使用 --yes 時,報告會把這條命令交給你。不會註冊工作區;決定工具並預設它們所連服務的,仍然是 manifest。JSON 報告包含 tools、tool_install 和 skills,preparation.scope.workspace 為 null。
  • 工具目錄或 manifest 中工具的 auth 可以指定狀態必須回報的 JSON 欄位 (json) 和工具自己的互動式設定 (login)。內建工具目錄為本系列 CLI 指定了這兩項,為 gh 指定了 login,fx tool show 會顯示它們。
  • 在背景 hook 執行中,透過配套 CLI 自己的 --timeout 告知登入重用檢查本次執行還能給它多少時間;不足配套 CLI 為重用新增的查找所設的十秒上限時,不發起這項檢查。先前這項檢查會在分給它的時間用完時被終止。fx login --list 與 init 預覽中重用步驟的 verify 新增 deadline,列出該旗標和檢查至少需要的時間 (minimumMs)。
  • 背景 hook 執行中未通過的登入檢查全部是未發起或沒有回答的檢查 (即 fx doctor 回報為覆蓋不完整的檢查,例如執行的時間用完) 時,記錄 LOGIN_UNCHECKED 而不是 LOGIN_REQUIRED。
  • 只有當 jenkins-cli auth status 或 openobserve-cli auth status 回報 authenticated: true 時,才把 Jenkins 或 OpenObserve 環境視為已登入。兩者在無人登入時也以 0 結束,因此在沒有憑證的機器上,登入步驟被當作已完成,fx init 和 fx sync 不會要求登入。
  • fx where 印出和探測的 OpenObserve 與 Prometheus 命令不再帶上宣告的驗證方式,與 0.9.1 起的檢查一致。先前對使用 basic 驗證的 OpenObserve context 的探測帶著 --auth-scheme session 送出並被拒絕;現在這些命令除 context 外只給出伺服器的 URL 和組織。

0.12.0 (2026-10-19)

  • 可以在 GitHub 上建立 pull request。fx source push 對託管在 GitHub 上的 manifest 來源與對 Bitbucket 一樣運作:透過 gh 把所選檔案推送到經過驗證的個人 fork,並針對其上游建立、重複使用或結束 pull request;--pr 接受 pull request 編號或它在 GitHub 上的頁面。
  • fx import 能辨識透過 HTTPS 或 SSH 從 github.com 複製的 checkout,並以相應的複製前綴為主機繫結程式碼託管 github。仍不會依據遠端推測 GitHub Enterprise 伺服器。
  • 將 wecom-calendar-cli 加入工具目錄並作為 calendar provider。它是你自己企業微信行事曆的本機鏡像,可連同歷史一起搜尋。fx can 檢查每位成員的登入狀態,並把 wecom-calendar-cli event list 交給 Agent;是否用 wecom-calendar-cli sync 填充鏡像由成員自己決定。
  • 平台提供 CI 建置檢出的提交時,依該提交判定建置。fx release check 認為成功建置了分支最新提交的建置通過,建置了其他提交的建置失敗,不再比較建置開始時間與最新提交的寫入時間。GitHub Actions 會提供提交,Jenkins 從 jenkins-cli 0.12.0 起提供;沒有提交時仍依時間判定。CI 證據新增 commit。
  • github-actions 的 ci 環境可以省略 branch。此時 fx release check 在每一側計入正在檢查的分支的執行。
  • init、sync、doctor 的 JSON 報告摘要保留狀態為 untrusted、missing_variables、invalid 或 busy 的 MCP、rules 與 hook 列。此前這些列只計入 omitted,而同一階段的 foreign 或 conflict 列會顯示出來。
  • 配套工具查詢、sentry 與 git 只有在可執行檔無法啟動時才回報 TOOL_MISSING。工具已啟動但自身以 127 結束時,現在如實回報為失敗的查詢或 Git 操作,不再要求安裝一個已經裝好的工具。
  • fx can mcp:<name> 的 --agent 無法識別時,與 fx agent pick、fx skill install 一樣提示 "<id>" is not an agent fx knows。fx release check 遇到未知儲存庫時採用其他儲存庫命令的說法,沒有相近名稱時列出已知名稱,並在下一步中保留工作區。
  • 錯誤裡建議的命令會為需要引號的目錄、工具或儲存庫名稱加上引號:IMPORT_INSIDE_ROOT 中被匯入的目錄、被暫緩安裝的工具或準備其 Skill 時缺少的配套工具,以及 PROBE_RECORD_INPUT_REQUIRED 的儲存庫。帶空格的路徑可以原樣貼上執行。
  • 下列情況給出的命令依設定的 command_shell 加引號:工作區 relocate、rebind 之後的命令,fx init 無法接受或繼續的註冊,工作區已變更的 profile 匯入或原始碼貢獻,未能記錄的探測,目標位於被描述目錄之內的 manifest 匯入,以及 --workspace 指向未註冊的名稱。此前無論如何設定都以 POSIX 方式加引號。
  • 讀取 manifest 儲存庫或 local-git 程式碼託管時,git 與儲存庫同步一樣在 C locale 下執行。在其他 locale 下,分支上不存在的檔案曾被回報為查詢失敗,因為 git 的在地化訊息無法識別。在這些情況中 git 無法啟動時現在回報 TOOL_MISSING。
  • fx sync 和 fx init 在結論之前按階段各給一列結論:已更新、已是最新、已略過和失敗的儲存庫(帶名稱),manifest 更新的結果,以及其他階段回報的計數。在終端機裡,成功的列不再逐列印出而由狀態列計數,結尾檢視會重複的 SYNC_PARTIAL notice 也同樣處理;--verbose 會印出它們,管道或 JSON 仍會收到全部紀錄。Git 呼叫期間的狀態列在其他列持續輸出時不再重複出現。
  • 按解決方式分組 sync 和 init 的阻擋項:登入或憑證、被拒絕的存取,或本機連不上的伺服器;後者現在給出重新檢查的命令而不是 fx login,不回應的 Prometheus 伺服器算作連不上。直接或間接等待其他阻擋項的檢查列在其下方而不再單獨計數,companion 的錯誤碼跟在訊息後面;companion 表示重試也無濟於事的準備步驟不再建議 fx doctor --fix,而是顯示 companion 自己的建議。準備檢查新增 cause 和 waits_on。
  • fx login 與 init 和 sync 一樣,不詢問、不佔用終端機地執行重用現有登入的內建步驟,帶 --no-input 時也會執行。它失敗時保留 companion 的訊息和錯誤碼而不是 exit 3,終端機會在 LOGIN_STEP_FAILED notice 中顯示 companion 的建議,companion 的 JSON 也不再印到終端機;只有登入前才會詢問。
  • 人讀的 fx login 表格下方只顯示非零計數,不再顯示空的 problems;重複這些計數的 LOGIN_SUMMARY notice 留給 JSON 和管道。通過的檢查不再重複其命令,而是說明確認了什麼,例如 authenticated is true。
  • 拒絕記錄中帶有任意大小寫的 .git 區段或刪除字元的 harness 路徑與貢獻路徑。harness 所有權中繼資料此前接受 .GIT/...,在不區分大小寫的磁碟區上它會解析到儲存庫自身的目錄;兩個存放區現在都依 fx source push 對所選檔案使用的規則驗證記錄的路徑。
  • fx 安裝在名稱含空格或非 ASCII 字元的目錄下,或在 Windows 上時,fx self info 的 bundled_tools 給出檔案系統可用的路徑。此前該值是經過百分比編碼的 URL 路徑。
  • fx init --resume 繼續一個沒有記錄 manifest 來源的註冊時保持其原樣。此前繼續執行會把 source: "-" 寫入 config.yaml:之後 fx sync 把該工作區當作從 stdin 準備的工作區,不再提示沒有可重新整理的來源,fx init <dir> --from <source> 則以 SOURCE_MISMATCH 拒絕該目錄,而不是記錄這個來源。
  • upstream 仍為空的儲存庫(例如在首次 push 之前以 fx repo add 登記的儲存庫)會被略過,不再讓整個 sync 失敗。fx 在判定分支不存在之前會先詢問遠端:空的 upstream 是 outcome 為 empty_remote 的略過,不影響就緒判定;有其他分支但沒有被追蹤分支的 upstream 是 outcome 為 no_remote_branch 的略過,仍然影響就緒判定,因為 manifest 可能寫錯了分支。尚無提交的本地分支會在 upstream 有提交後 fast-forward,處於這兩種狀態的 manifest checkout 都保持原樣。
  • fx login 登入某個環境後,立即讓先前的環境跟上:該工具先前失敗的步驟會重新檢查,等待中的步驟若其前置步驟現在通過則會執行,因此共用已儲存登入的環境不會再在彙總裡停留為 failed 或 blocked。不會有設定操作執行第二次;仍然失敗的檢查保持原結果,並在 recheck 中記錄發現的內容。
  • manifest checkout 的 sync 列不再總寫 "refreshed",而是說明實際結果:已更新、已是最新,或帶原因地保留;保留所在分支的提交已經在 upstream 時也會說明。
  • 失敗的檢查在前綴之後以 JSON 物件給出原因時(例如 kubectl 的 Error from server (Forbidden): {…}),讀取其中的原因,而不是原樣引用整個物件。

0.11.0 (2026-10-12)

  • manifest 設定 go.workspace: true 時,在工作區根目錄維護 go.work。fx init 與 fx sync 會以這些模組要求的最新 go 版本,列出所有已選取且頂層有 go.mod 的 checkout,讓每個模組以同層儲存庫的 checkout 建置。尚未複製的儲存庫不會列入,fx 只取代或移除自己寫的 go.work,fx sync --only go 只更新這個檔案。在這樣的工作區中,go.work 與 go.work.sum 不再算作多餘的根目錄項目。
  • 工作區可以繫結 GitHub。程式碼託管 provider github 與 ci provider github-actions 都透過 GitHub CLI gh 運作;gh 加入工具目錄,兩者在每個主機上共用一次登入。fx release check 如同對 Bitbucket 與 Jenkins,從 GitHub 讀取分支、提交、檔案以及某個分支最近一次 workflow 執行;ci 環境可以把計入的執行限定為一個分支和一種觸發方式。在 GitHub 上暫時還無法透過 fx 建立 pull request。
  • 將 fx release 改名為 fx release check,讓名稱表明它檢查發佈而不是執行發佈。fx release 作為相容名稱繼續可用。
  • 說明每次發佈將交付的內容。fx release check 在每個儲存庫開頭列出目標分支宣告的版本、兩個分支的最新提交,以及來源分支上尚未合併到目標分支的提交數和作者人數;全部檢查都通過的儲存庫也在最後各用一行說明同樣的內容。JSON 報告新增包含這些資訊的 repos[],摘要中也有;既有欄位不變。
  • CI 結論註明它對照的提交,合併檢查改為「未合併到 main」和「未合併回 dev」,CI 與錯誤訊息使用各平台自己的作業或專案名稱。CI 證據新增 head。
  • 依 manifest 結構描述的說明,在發佈報告中顯示儲存庫的 release.note。
  • 來源 AGENTS.md 中指向 manifest 來源內檔案的相對連結(例如 CONTRIBUTING.md),在派生至工作區根目錄的指南中全部解析為來源檔案路徑。先前只解析指向 README.md、docs/ 與 skills/ 的連結,其餘連結會指向根目錄中不存在的檔案。
  • 當所有儲存庫都寫明 upstream 時,fx manifest lint 不再要求宣告程式碼託管 provider,因為這樣的工作區不會用到程式碼託管。
  • Windows 透過批次檔(npm、Scoop、Chocolatey 安裝的 .cmd)啟動配套 CLI 時,所有引數都原樣傳入。cmd.exe 不再解譯引數中的 &、|、%、^ 等字元。
  • 以 Windows 路徑給出的本機 Git 遠端(如 C:\host\fx\api.git)會被讀取為專案與名稱,因此匯入、接管、分叉與 fx source push 都能使用它。在 stdin 套件與來源貢獻中,manifest 文件在所有平台上都以正斜線命名,匯入寫入的儲存庫路徑也使用正斜線。
  • PowerShell hook 不再把工作結果寫入 Agent 的上下文,不再把帶位元組順序標記的輸入交給 fx,也不再把進度記錄寫到 stderr。
  • 在 Windows 上派生的指南中,指向來源檔案的連結也使用正斜線。fx self info 將內建工具目錄顯示為檔案路徑,安裝路徑包含空格時也是如此。

0.10.1 (2026-10-12)

  • 在 npmjs 發佈公開套件 @angelmsger/fx,並為每個版本標籤在 GitHub Release 附上 tarball。內部的 @fx/devkit 管道維持不變。
  • fx release 的 human 輸出依儲存庫分組。每個有失敗或警告檢查的儲存庫單獨列一塊,列出它的全部檢查;所有儲存庫共有的問題(例如沒有人登入的工具)連同解決它的命令只在它們上方說明一次;全部檢查都通過的儲存庫合併在最後一行。--details 也會列出這些儲存庫的檢查。JSON 與 NDJSON 輸出維持不變。

0.10.0 (2026-10-10)

  • 不帶目標的 fx can 列出目前工作區可以查詢的能力:manifest 可繫結的每個能力一列,環境級能力按平台實例各一列,包含作用域、provider、配套工具和用途。未繫結的能力保留一列,provider 為空。該清單只讀取繫結;查詢單一能力時仍會檢查就緒狀態。
  • 說明就緒檢查失敗時得到的回答。can、where、doctor、login 的 handoff 中,每個待處理步驟現在帶有 check:工具自己的說法,或該步驟正在等待的另一步驟。fx 能讀懂失敗原因時還會給出成因,步驟的說明隨之改為針對該成因的處理方式。
  • 區分叢集未能建立驗證、叢集回答「否」與叢集無法連通三種情況。叢集沒有把請求認作任何人的請求時,步驟現在指向 kubeconfig 及其登入方式,並提供取得新 kubeconfig 的頁面,不再要求向叢集負責人申請角色。
  • 不連線叢集即可核對 kubeconfig 是否包含宣告的 context;叢集存取檢查的每個請求限時五秒。
  • 檢查沒有得到回答時(工具未能啟動,或逾時),can 與 where 傳回 unknown,並將該檢查列在 unfinished 中。where 不再因為一個平台沒有回應而讓同一儲存庫的所有平台一起失敗。工具未能啟動時,doctor 與 login 回報缺少該工具,不再把步驟交給人處理。
  • 環境未涵蓋某個平台時,原因統一為 <env> declares no <platform> platform。環境備註可能說的是另一個平台,不再充當這個原因。
  • fx login 不再詢問你平時使用哪些環境。個人環境範圍只由 fx env select 設定:未設定時所有已宣告的環境都在範圍內,未以 --env 指定環境的登入會說明這一點以及如何收窄。此前即使以 --env 指定了環境也會被問;回答「全部」的人每次登入都會再被問;只按手邊這一次要登入的環境作答,則會收窄此後 fx doctor 與 fx sync 涵蓋的範圍。
  • fx can 遇到無法識別的目標時,不再提示由 fx 自身接管的內部能力,下一步改為指向 fx can 和 fx tool list。

0.9.1 (2026-10-09)

  • init、sync、doctor 未完成時的終端輸出將原因相同、解決命令也相同的檢查合併為一列,並以不同標記區分未能執行的檢查與執行後失敗的檢查。
  • 未能完成的檢查不再要求登入。配套工具的檢查逾時後只提示重新檢查。
  • 直接引用內建配套工具給出的未就緒原因,例如 OpenObserve returned HTTP 401,或對無需登入的服務請求失敗,不再只顯示 expected authenticated to be true。
  • 對 fx 自己能更新的 Skill 副本提供 fx doctor --fix。
  • 配套工具的 context 只要能存取宣告的服務,無論其擁有者以哪種方式登入都會被接受。service 宣告中的 auth_scheme 現在只決定 fx 如何新建 context 以及 fx login 提供哪種登入方式;準備、檢查和查詢只核對宣告的 URL、flavor 和組織,不再傳遞 --auth-scheme。既有的 context 缺少其中某個欄位時只補上該欄位,不再帶上宣告的登入方式;先前這會與以其他方式登入的 context 衝突。
  • 每次明確執行 fx sync 都會關聯你既有的登入,不再只在 fx init 時進行。sync 現在和 init 一樣執行本機的 prepare 階段設定步驟,可沿用的登入不必再等人執行 fx doctor --fix;個人登入仍由本人完成,背景 hook 只檢查。
  • 在 fx 知道含義的地方直接說明配套工具檢查未通過代表什麼:fx doctor --fix 可以關聯的既有登入顯示 an existing login can be reused;企業微信的三項檢查統一依回應中的錯誤碼判斷,未通過時顯示 the WeCom API returned an error。

0.9.0 (2026-10-09)

  • 工作區根目錄只派生 AGENTS.md。fx 不再寫入指向它的 CLAUDE.md,fx manifest render 也不再在 manifest 儲存庫中建立該檔案:Claude Code 2.1.277 及以上版本會自行讀取 AGENTS.md,而只要存在 CLAUDE.md 就會改讀後者。fx sync 會移除早期版本派生的指標檔案;在移除之前,fx doctor 回報指南已過期。你自己寫的 CLAUDE.md 保持原樣,也不再算作指南衝突;請在其開頭寫上 @AGENTS.md,這樣 Claude Code 仍會讀取指南。如果 manifest 儲存庫裡還留有這個指標檔案,請將其刪除。
  • manifest 來源的載荷不再包含 CLAUDE.md。目錄來源中的該檔案不再被複製到受管理的來源,stdin 套件若列出它,會以 MANIFEST_SOURCE_INVALID 拒絕。
  • 命令執行期間顯示它仍在工作。超過半秒後,終端上出現一行原地重繪的狀態列:已用時間、可計數工作的進度,以及進行時間最長的那一項,例如 doctor 23s checks 69/82 kubectl.access@dev 3s。所有命令都有這一行,因為 fx 等待的每個外部呼叫都在發起處回報;doctor、sync、init、status、release 與 login 還會統計各自的檢查項目、儲存庫與步驟。結果、通知與各項結局寫在狀態列上方,提問或登入命令在完成前獨占終端,命令結束或被中斷後狀態列消失。git 或安裝器執行期間可能在同一終端上詢問主機金鑰或密碼片語,這時不在它下方重繪,狀態列改為每五秒列印一行。在顯示狀態列的終端上不再列印逐項的 start 行與儲存庫心跳,因為狀態列給出同樣的資訊。管線、檔案、CI、TERM=dumb、--quiet 以及 JSON 或 NDJSON 輸出都不會收到狀態列,讀到的內容與先前完全一致。

0.8.0 (2026-10-09)

  • fx 為內建工具定義的命令不再詢問信任,包括由 manifest service 宣告填入參數的服務準備、登入重用和憑證檢查。只有團隊 tools.yaml 修補編寫的命令向量仍需確認;已儲存的憑證可以送往哪裡由配套工具自行決定。
  • 重排 init、sync、doctor 未完成時的終端輸出:每個阻擋項目帶上檢查項目 ID,登入命令按工具合併各環境,PATH 上找得到 fx 時命令寫作 fx,終端上不再於輸出之後附加 PREPARATION_INCOMPLETE 錯誤信封。JSON 輸出不變。
  • 配套工具的 Skill 安裝進度按工具回報一次,不再每個 Agent 目錄回報一次。
  • 團隊編寫的配套工具 Skill 命令只需確認一次。fx 附加的 Agent 名稱或目錄不再讓每個目標成為一條單獨待確認的向量,既有的確認繼續有效。
  • 配套工具檢查失敗時以工具自己的說法說明原因:讀取它輸出的錯誤物件中的訊息,略過日誌記錄和警告,保留失敗位置之後的那一行,並寫出 JSON 檢查期望的值,例如 expected authenticated to be true。
  • 讓 human 輸出在終端上更易讀:標題、狀態詞與為零的計數以顏色區分,檢查清單與進度帶有狀態符號,需要輸入的命令單獨突顯,表格依終端寬度收窄,阻擋項目的長原因在自己那一欄下折行,錯誤以帶提示、後續步驟與交接事項的文字顯示,不再是 JSON 信封。只有終端才帶裝飾,stdout 與 stderr 各自判斷:無論環境變數如何設定,管線、檔案與 CI 取得的都是純文字和 JSON 錯誤信封,JSON 與 NDJSON 輸出不變。NO_COLOR 去掉顏色,保留符號。
  • human 表格依終端欄寬對齊,含中日韓文字的列不再錯位;清單與其尾部資訊之間空一行;缺少的值之後不再留行尾空格;記錄中的清單只要有一項過長就改為每個欄位一行,並省略空欄位。
  • 根說明在終端上重新把常用命令的標題顯示為 EVERYDAY,FIRST WORKSPACE、AGENT USAGE 與 COMPATIBILITY 標題與其他標題一樣加粗。

0.7.1 (2026-10-09)

  • fx repo show 回傳 next_steps,用於選取並同步尚未下載到本機的共用儲存庫;產生的儲存庫索引同時說明目錄包含這類儲存庫。
  • 準備流程的終端輸出將每條個人登入命令只列印一次,隨後提供繼續執行的命令。
  • manifest 使用明確的 Git URL 且未綁定程式碼託管時,同步儲存庫不再需要程式碼託管使用者名稱,也不再提示缺少它。
  • 內建的 Sentry 工具改為透過 npm(sentry)安裝。

0.7.0 (2026-10-08)

  • 將 .workbench/ 定為不屬於任何儲存庫的產出的存放位置。派生指南新增 workspace-layout 區域說明規則;fx doctor 在 root 群組回報根目錄下沒有歸屬的項目;fx status 以 stray_entries 回傳它們;工作階段啟動內容帶出最近一次觀測。fx 不會寫入工作台。

0.6.0 (2026-10-08)

  • metrics 能力有了實作:新增 prometheus-cli provider,並將該配套工具加入內建目錄。服務的座標是它的抓取 job;where 輸出指向所宣告服務的 up{job="..."} 查詢,且不提供探測,因為比對不到任何序列的選擇器同樣會成功。
  • service 宣告的 auth_scheme 接受 none 與 bearer。宣告為無需登入的服務以是否回應判定就緒,不會被要求登入。
  • 新增工作區能力 meeting,指承載線上會議、錄製與紀要的會議系統;提供由 tmeet 驅動的 tencent-meeting provider,tmeet 已加入內建目錄。calendar 保留行程與忙閒。

0.5.0 (2026-09-24)

  • 在要求個人授權前,將已驗證的配套 CLI 登入重用至統一團隊 context;保留原生準備錯誤與驗證細節。配套 CLI 的最低版本要求已更新,需要支援 auth reuse。

0.4.0 (2026-09-21)

  • 已移除 Skill 載入握手及 skill_notice 設定。FX_SKILL_LOADED、FX_SKILL_VERSION、FX_SKILL_NOTICE 不再使用;請改讀安裝版本和 activation,不要再讀取 loaded/version_verified。
  • 初始化自動完成已授權的本機準備,並集中交接個人驗證;新增 init --resume,保留已完成工作。
  • 統一 preparation.state 與具體復原操作;準備未完成結束代碼為 12,選用宿主啟用單獨回報。
  • 寫入前阻止非法 manifest 項目;自動補齊目標指南並保留共享來源。工具 schema 升為 3,run 步驟宣告 prepare/authenticate。
  • 自我更新與版本查詢自動重用 npm 的 scope/預設 Registry 與驗證設定,FX_REGISTRY 改為選用覆寫;自我更新保留公共相依套件的預設路由。

0.3.0 (2026-09-20)

  • 保留登入人工接手與例外後的部分結果、彙總及結構化復原資訊;非零結束也可能回傳有效 stdout。

  • 保護 manifest 與指南寫入期間的並行編輯;獲准取代時將原物件原子移動至備份,文件失敗保留逐檔案結果。

  • 明確顯示初始化與同步的整體準備結論,修復名稱或說明被誤判為階段失敗的問題。

  • 避免自我更新安裝器輸出污染 JSON,補充復原流程及原始碼與已發佈功能的區別。

  • 新增 calendar、task、worklog、metrics 四個能力:前兩個有飛書與企業微信 provider,工時有 Jira provider;metrics 只命名未實作,manifest 可以描述它,繫結則要等 provider。im 的含義收窄為純訊息。

  • 新增 Jira 工作項 provider 與飛書知識庫 provider,這兩個能力各有了第二種實作;一個配套 CLI 服務多個能力時仍只安裝與檢查一次。

  • workspace 的工具鏈改為從其繫結的 provider 推導,內建工具不必再宣告一次;tool list 說明每個工具是被繫結帶進來的還是 manifest 宣告的,--catalog 列出其餘的。

  • manifest 宣告了同名工具時,能力可以繫結 fx 未實作的 provider;僅與內建工具同名的 provider id 會被指出更正,而不是照單全收。

  • tools 文件的 defaults 區塊支援 install_on_init,個別條目仍可覆寫。

  • 能力已繫結 provider,但工具文件未宣告該 provider 所用配套工具時回報 TOOL_UNDECLARED,不再誤稱該能力沒有 provider。

  • platform 的 service 依其名稱推導出的 provider 驗證:合法宣告不再被誤報,先前被略過的真實問題也會回報。

  • 預先記錄 session-start 背景執行承諾進行的階段,worker 被終止時未執行到的階段會留下 HOOK_PHASE_UNREPORTED,不再直接消失。

  • session-start 背景執行中某條伴隨命令用盡預算時不再終止整個執行,其後的每個階段照常給出結論;宿主正在等待的前景執行仍在該處結束。

  • 分離的背景執行如何結束,記錄為 workspace 的 run 觀測,先前其 supervisor 只能寫進無人讀取的串流。

  • 修復所有格式的報告欄位投影、復原命令的 workspace 上下文與貢獻鎖內的來源身分驗證。

  • 支援經驗證的本機 Git 匯入與相符 upstream 的安全補充,按啟用及必要工具宣告統一準備狀態。

  • 接受各類宣告的 setup 驗證形式,並在 manifest 合併時保留可空比較值。

  • 新增全域工作區探索、健康診斷、解除管理、重定位與換源;保留業務 checkout,阻止同目錄重複身分。

  • 新增 repo/env select 的固定、動態全部與空集合模式;首次 init 可先選擇儲存庫,本機來源預覽顯示實際計畫。

  • 修復未追蹤檔案在狀態篩選中被遺漏、必需 manifest 遺失卻驗證通過,以及舊可讀性快取阻擋正常恢復。

  • doctor 預設按實際宣告與活躍 provider 檢查工具,保留明確指定工具的檢查。

  • 相容性說明:init 的 registered 現在表示實際註冊狀態;預覽動作另列於 plan。config import 按名稱合併並保留未提到的註冊,不再以省略名稱來解除管理。

  • 相容性說明:fx skill show 在 bundled Skill 遺失時回傳 BUNDLED_SKILL_MISSING;SKILL_MISSING 僅表示面向 Agent 的通知。

0.2.1 (2026-09-18)

  • 精簡儲存庫入口與 bundled Skill,詳細復原步驟集中至命令參考。
  • 同步四語言的報告、就緒、Skill 載入與服務版本說明,使其符合目前行為。
  • 修正站點發佈狀態與預覽範例,補充公共相依套件的 Registry scope 分流說明。

0.2.0 (2026-09-17)

  • 不相容變更:四類工作流程報告預設精簡 JSON,完整資料使用 --details,明確的 --fields 仍從完整結果投影。

  • 修正明確的空 Agent 選擇;新增 FX_SKILL_VERSION 核對與 bundled_skill_version。

  • 新增 operation、preparation_complete 與 SKILL_WRITE_DENIED,保留部分結果及具體復原步驟。

  • 新增獨立伴生 Skill install、uninstall、path、status 與 show 命令。

  • 在工作區指南產生團隊 Skill 的觸發說明與來源連結。

  • 區分明確更新與自動維護,並保護團隊共享來源。

  • 初始化與明確執行的同步支援公共服務預設、指定服務的個人登入與原生衝突復原。

  • 拒絕共用 service 中的個人憑證,保留既有配套工具設定。

  • 跨已註冊工作區記錄工具安裝歷史與來源,僅提示不再需要的 fx 安裝套件,不自動解除安裝。

  • 說明與補全優先顯示標準資源命令,保留相容別名。

0.1.2

已在內部 Registry 提供;公開發佈仍保留。

  • 修復明確指定的輸入、就緒狀態、Git 來源復原與設定並行更新。
  • 保留初始化部分結果,精簡終端輸出並回報儲存庫進度。
  • 隔離等待授權的 Skill 命令,保護使用者共用副本,說明宿主啟用限制。
  • 為選用的程式碼託管探測設定期限,在保留取消語意的同時回報事前檢查進度。
  • 支援工作區根目錄的路徑別名,中斷後保留逐項安裝結果與資源狀態。

0.1.1

已在內部 Registry 發佈, 公開發佈仍暫停. Git tag、套件發佈和本機安裝是獨立狀態.

fx-devkit / fx; Apache-2.0. @fx/devkit / @angelmsger/fx.

  • install_on_init (fx ≥0.1.1).
  • 宣告驅動的工作區初始化、同步和儲存庫選擇.
  • 結構化設定、探索、就緒與發佈報告.
  • 配套工具、Agent Skill、生命週期 hook 和 MCP 投影.
  • 保留信任、所有權和復原邊界的原始碼貢獻計畫.
  • 已實作 Windows 介面卡; 原生執行與宿主啟用仍未驗證.