Component
tokenless
Bug Description
raw(anolisa install)通道的 tokenless 发布包漏打 opencode adapter:OpenCode adapter 自 0.8.0 起在源码与 CHANGELOG 中正式提供(commit 1233cfc,2026-08-06),manifest.json.in 也声明了 opencode 段,但 raw 通道打包脚本的显式文件清单从未包含 opencode/*,导致 Ubuntu 24.04 等非 RPM 通道安装的 tokenless 0.8.2 上没有 opencode adapter 目录、manifest.json 无 opencode 声明。OpenCode 用户在该通道完全无法启用 tokenless(RPM 通道正常)。
Steps to Reproduce
ssh root@<ECS-IP> # Ubuntu 24.04,经 anolisa install 通道安装 tokenless
tokenless --version
# tokenless 0.8.2(>= 0.8.0,按 CHANGELOG 应含 OpenCode adapter)
ls /usr/local/share/anolisa/adapters/tokenless/
# claude-code codex common dsh hermes openclaw qoder qwencode qwenpaw
# —— 没有 opencode
grep -c opencode /usr/local/share/anolisa/adapters/tokenless/manifest.json
# 0(manifest 亦无 opencode 段;源码 manifest.json.in:111-125 有)
Actual Behavior
连续 3 次稳定复现:adapter 目录与 manifest 中 opencode 均缺失(确定性打包产物问题,非运行时 flaky)。任何 opencode 相关入口(如 tokenless 的 adapter detect/install 脚本)在该通道无从谈起——文件不存在。
Expected Behavior
与 RPM 通道及源码一致:adapters/tokenless/opencode/(plugin.js + scripts/detect.sh、install.sh、uninstall.sh)随包安装,manifest.json 含 opencode 段(detect/install/uninstall 三个入口指向 opencode/scripts/*)。
Root Cause
src/tokenless/packaging/raw/package.sh:93-109:raw 通道打包用显式 require_file 清单枚举 adapter 文件(dsh/hermes/qoder/claude-code/codex/qwencode/qwenpaw/common 全在列),没有任何 opencode/ 条目* → stage 目录不含 opencode,产物 manifest.json 同步缺失。同文件族的 packaging/raw/verify-release.py(发布校验清单,87-101 行检查 qwencode/qwenpaw 等)同样未覆盖 opencode,因此发布校验也不会拦截该缺失。触发条件:任何 raw 通道安装;0.8.0(2026-09-06 发布,含 OpenCode adapter 的 CHANGELOG 条目)起即存在。
Suggested Fix
package.sh 的 require_file 清单补 opencode/plugin.js、opencode/scripts/{detect,install,uninstall}.sh(对齐源码 adapters/tokenless/opencode/ 实际内容);
verify-release.py 校验清单同步补 opencode 条目,防回归;
- 重发 raw 通道包(或在下一个 0.8.x patch 带上),Ubuntu 等通道
anolisa upgrade tokenless 后可用。
Environment
- OS: Ubuntu 24.04.4 LTS(x86_64)
- Component: tokenless
- Package: tokenless 0.8.2(anolisa install 通道,raw)
Additional Context
- 稳定性: 连续 3 次稳定复现(2026-09-17),打包产物确定性缺失
- 发现来源: Nightly 自动化测试 Ubuntu 24.04 非 RPM 通道验证(run 2026-09-17),adapter 脚本契约用例失败暴露
- 对照: RPM 通道与源码树均含完整 opencode adapter
Component
tokenless
Bug Description
raw(anolisa install)通道的 tokenless 发布包漏打 opencode adapter:OpenCode adapter 自 0.8.0 起在源码与 CHANGELOG 中正式提供(commit 1233cfc,2026-08-06),
manifest.json.in也声明了 opencode 段,但 raw 通道打包脚本的显式文件清单从未包含 opencode/*,导致 Ubuntu 24.04 等非 RPM 通道安装的 tokenless 0.8.2 上没有 opencode adapter 目录、manifest.json 无 opencode 声明。OpenCode 用户在该通道完全无法启用 tokenless(RPM 通道正常)。Steps to Reproduce
Actual Behavior
连续 3 次稳定复现:adapter 目录与 manifest 中 opencode 均缺失(确定性打包产物问题,非运行时 flaky)。任何 opencode 相关入口(如
tokenless的 adapter detect/install 脚本)在该通道无从谈起——文件不存在。Expected Behavior
与 RPM 通道及源码一致:
adapters/tokenless/opencode/(plugin.js + scripts/detect.sh、install.sh、uninstall.sh)随包安装,manifest.json 含 opencode 段(detect/install/uninstall 三个入口指向 opencode/scripts/*)。Root Cause
src/tokenless/packaging/raw/package.sh:93-109:raw 通道打包用显式require_file清单枚举 adapter 文件(dsh/hermes/qoder/claude-code/codex/qwencode/qwenpaw/common 全在列),没有任何 opencode/ 条目* → stage 目录不含 opencode,产物 manifest.json 同步缺失。同文件族的packaging/raw/verify-release.py(发布校验清单,87-101 行检查 qwencode/qwenpaw 等)同样未覆盖 opencode,因此发布校验也不会拦截该缺失。触发条件:任何 raw 通道安装;0.8.0(2026-09-06 发布,含 OpenCode adapter 的 CHANGELOG 条目)起即存在。Suggested Fix
package.sh的 require_file 清单补opencode/plugin.js、opencode/scripts/{detect,install,uninstall}.sh(对齐源码 adapters/tokenless/opencode/ 实际内容);verify-release.py校验清单同步补 opencode 条目,防回归;anolisa upgrade tokenless后可用。Environment
Additional Context