会议要求「界面需补充明确的版本号标识」,且首个开源版本号定为 0.0.1。核对后发现在补显示之前,先得解决版本号没有唯一真源的问题。
当前有四个互相矛盾的值
| 位置 |
值 |
README.md:17 / README_ZH.md:11 |
0.3.0-dev |
CLAUDE.md:3 |
0.3.0-dev |
agents.lock.json:3 (oneagent_version) |
0.2.0-dev |
frontend/package.json:4 |
0.2.0-dev |
会议又定了首版为 0.0.1,也就是第五个值。
发布时的真源其实是第五处,且与上面全部无关
.github/workflows/build-artifacts.yml:103 用 ldflags 注入:
-X github.com/MaimoryLab/OneAgent/internal/version.Version=$RELEASE_VERSION
RELEASE_VERSION 来自 workflow 的手动输入,格式校验为 ^v[0-9]+\.[0-9]+\.[0-9]+$(:26)。也就是说发行包里的版本号完全由触发者手填,仓库里那四个值一个都不参与,改它们不会影响产物。
注意校验要求带 v 前缀且不接受预发布后缀,所以 0.3.0-dev 这种值根本无法作为发布输入通过校验。
界面里没有版本号
grep 全前端没有任何版本展示:frontend/src/types/api.ts 里的 version 字段全部是 Agent 的版本(:84、:112 的 agent_version),不是 OneAgent 自己的。侧栏、页脚、设置页都没有。
建议
- 以
internal/version.Version 为唯一真源,本地构建时给一个默认值(现在没有 ldflags 就是空字符串)
StatusResponse 增加一个字段把它带给前端,在侧栏或页脚展示
- 删掉或改为引用
agents.lock.json 的 oneagent_version 与 frontend/package.json 的 version,避免继续分叉
- README 与 CLAUDE.md 里的
0.3.0-dev 统一到实际要发的号
第 3 条要注意 agents.lock.json 是嵌入资源,oneagent_version 可能有消费方,改之前先确认。
会议要求「界面需补充明确的版本号标识」,且首个开源版本号定为
0.0.1。核对后发现在补显示之前,先得解决版本号没有唯一真源的问题。当前有四个互相矛盾的值
README.md:17/README_ZH.md:110.3.0-devCLAUDE.md:30.3.0-devagents.lock.json:3(oneagent_version)0.2.0-devfrontend/package.json:40.2.0-dev会议又定了首版为
0.0.1,也就是第五个值。发布时的真源其实是第五处,且与上面全部无关
.github/workflows/build-artifacts.yml:103用 ldflags 注入:RELEASE_VERSION来自 workflow 的手动输入,格式校验为^v[0-9]+\.[0-9]+\.[0-9]+$(:26)。也就是说发行包里的版本号完全由触发者手填,仓库里那四个值一个都不参与,改它们不会影响产物。注意校验要求带
v前缀且不接受预发布后缀,所以0.3.0-dev这种值根本无法作为发布输入通过校验。界面里没有版本号
grep全前端没有任何版本展示:frontend/src/types/api.ts里的version字段全部是 Agent 的版本(:84、:112的agent_version),不是 OneAgent 自己的。侧栏、页脚、设置页都没有。建议
internal/version.Version为唯一真源,本地构建时给一个默认值(现在没有 ldflags 就是空字符串)StatusResponse增加一个字段把它带给前端,在侧栏或页脚展示agents.lock.json的oneagent_version与frontend/package.json的version,避免继续分叉0.3.0-dev统一到实际要发的号第 3 条要注意
agents.lock.json是嵌入资源,oneagent_version可能有消费方,改之前先确认。