Skip to content

fix(v5.6.0): win-x64 tarball 解引用 symlink + README 加微信换绑流程 - #455

Merged
bigbrother666sh merged 2 commits into
TeamWiseFlow:masterfrom
bigbrother666sh:fix/v5.6.0-win-symlink-readme-rebind
Jul 22, 2026
Merged

fix(v5.6.0): win-x64 tarball 解引用 symlink + README 加微信换绑流程#455
bigbrother666sh merged 2 commits into
TeamWiseFlow:masterfrom
bigbrother666sh:fix/v5.6.0-win-symlink-readme-rebind

Conversation

@bigbrother666sh

Copy link
Copy Markdown
Member

两个小改动合一个 PR,都属 v5.6.0 收尾。

1. fix(build): win-x64 tarball 解引用 symlink

问题:Windows install.ps1 解压 tarball 报

tar.exe: Can't create '\?\C:\Users\Administrator\xiaobei\openclaw\test\helpers\CLAUDE.md': Invalid argument

失败文件全是 symlink(树内 703 个 shipping symlink,bsdtar 遇到第一批就 exit 1)。

根因:Windows bsdtar 创建 symlink 调 CreateSymbolicLinkW,相对 symlink 配 \\?\ 扩展路径前缀 → ERROR_INVALID_PARAMETER。哪怕 Administrator 也复现(非权限,是 Win32 API 对「相对 symlink + 扩展前缀」的兼容坑)。CI 在 Linux 上 tar -czf 打包,symlink 原样进 tarball,Windows 解不出。

修法.github/workflows/build-dist.yml 给 win-x64 tarball 加 --dereference,打包时 symlink 解引用成真实文件副本。linux/mac 保留 symlink。前提已验:703 个 symlink 全相对、目标在树内、全文件(无目录链接、无断链)→ 解引用安全,都是部署态只读引用(CLAUDE.md→AGENTS.mddist-runtime/*.d.ts→dist/...),副本无功能损失。

2. docs(readme): 加微信换绑 / 增加绑定流程

README 补「微信换绑 / 增加绑定」小节:换绑(停 gateway → 清 ~/.openclaw/openclaw-weixin/ → 重启 → channels login)与增加绑定(直接再 channels login)两流程,含多账号 ambiguous 歧义提醒。PATH 只一句提醒不给示例。

重建

合后需重建 v5.6.0(保持版本号):先禁 Auto Release workflow 防 bump → 合 PR → 手动触发 build-dist 传 tag=v5.6.0 → 恢复 Auto Release。

codes-factory-of-bg added 2 commits July 22, 2026 09:53
- 换绑:stop gateway → rm -rf ~/.openclaw/openclaw-weixin/ → start → channels login
- 增加绑定:直接再跑 channels login(附多账号 ambiguous 提醒)
- 提醒 openclaw 不在 PATH 用全路径 ~/xiaobei/bin/openclaw(不加 PATH 示例)
Windows bsdtar (tar.exe) 无法创建 symlink:哪怕 Administrator,相对 symlink
配 \?\ 扩展路径前缀 → CreateSymbolicLinkW 报 'Invalid argument',导致
install.ps1 解压 tarball 在 11+ 个 symlink 处失败退出(CLAUDE.md→AGENTS.md、
rubric_notes.md→../rubric_notes.md、dist-runtime/*.d.ts→dist/...)。

修法:build-dist.yml 给 win-x64 tarball 加 --dereference,打包时把 symlink
解引用成真实文件副本。树内 703 个 shipping symlink 全是相对、目标在树内、
全是文件(无目录链接、无断链),解引用安全;这些是部署态只读引用文件,
副本无功能损失。linux/mac tarball 保留 symlink(bsdtar/GNU tar 解压正常,
体积更小)。
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


codes-factory-of-bg seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@bigbrother666sh
bigbrother666sh merged commit 99b084e into TeamWiseFlow:master Jul 22, 2026
2 of 3 checks passed
@bigbrother666sh
bigbrother666sh deleted the fix/v5.6.0-win-symlink-readme-rebind branch July 22, 2026 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants