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 适配器; 原生执行与宿主激活仍未验证.