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-cliv0.3.0 與官方wecom-cliv1.3.4。 - 補充 Chat 0.2.x 的 watch 輸出與游標遷移說明;fx 繼續僅檢查 worker 目前任務,由宿主管理 Skill。
0.16.0 (2026-11-10)
要求
wecom-channel-cliv0.3.0 及以上,以強制排除自身 Bot 的監聽事件,並使用正式的doctor命令檢查就緒狀態。wecom-chat-cli的最低版本維持為已發佈的最新版 v0.2.0,繼續使用任務範圍的就緒檢查和由宿主管理的 Skill。將
wecom-chat-cliv0.2.0+ 加入工具目錄,作為隔離 worker 的improvider。就緒檢查僅針對目前任務,不在報告中輸出聊天正文,也不簽發權杖或核准回覆。套件內的 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 不變,以 outcomelocal_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-workspaceSkill,並檢查每個工具是否已登入。在終端機中,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加入工具目錄並作為calendarprovider。它是你自己企業微信行事曆的本機鏡像,可連同歷史一起搜尋。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_PARTIALnotice 也同樣處理;--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_FAILEDnotice 中顯示 companion 的建議,companion 的 JSON 也不再印到終端機;只有登入前才會詢問。- 人讀的
fx login表格下方只顯示非零計數,不再顯示空的problems;重複這些計數的LOGIN_SUMMARYnotice 留給 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 providergithub-actions都透過 GitHub CLIgh運作;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-cliprovider,並將該配套工具加入內建目錄。服務的座標是它的抓取 job;where輸出指向所宣告服務的up{job="..."}查詢,且不提供探測,因為比對不到任何序列的選擇器同樣會成功。- service 宣告的
auth_scheme接受none與bearer。宣告為無需登入的服務以是否回應判定就緒,不會被要求登入。 - 新增工作區能力
meeting,指承載線上會議、錄製與紀要的會議系統;提供由tmeet驅動的tencent-meetingprovider,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 介面卡; 原生執行與宿主啟用仍未驗證.