5.71 release - #475
Merged
Merged
5.71 release#475
Conversation
Docker 模板原把 PATH 行注释掉,且 setup-crew.sh 的 PATH 注入在 'no PATH line' 时会直接 skip,导致容器 gateway 继承镜像默认 PATH, 缺 ~/.openclaw/bin,agent exec 调裸技能名找不到 wrapper 软链。 - config/daemon.env.template: 启用 PATH 行并前置 /home/wukong/.openclaw/bin - docker-entrypoint.sh: source 完 daemon.env 后幂等保证 wrapper bin 在 PATH 最前,兼容已有持久化 volume 的 daemon.env
发布端从 wx_mp/wenyan-theme/index.json 读自定义主题,但生成端 SKILL 注册规则 与 editing/content-production workflow 仍指向旧 wenyan-theme/,软链部署下写读 错位会重复触发发布端读不到登记主题的故障。补齐 generate-wenyan-theme SKILL、 两个 workflow、collect-theme-sources usage 文案到新路径。 - collect-theme-sources.js: wx-mp-hunter 解析改 PATH 优先 + 软链探测兜底 - publish_wx_mp.py: _detect_crew_workspace 兼容直接/软链部署,旧 css 写法兼容
DNA 架构文档与 wx_mp README 中残留的 wenyan-theme/ 平台主题目录引用, 对齐实际运行路径(本地实例与 expert-wx-mp 均已迁移到 wx_mp/wenyan-theme/)。
9-1/9-2 连续两晚凌晨复盘 douyin 误报 SESSION_EXPIRED:pong 端点 history/read 间歇返回 status_code=4(status_msg「服务器打瞌睡了」, 风控/限流特征),但同 cookie 真实取数(aweme detail)成功—— 原实现非 0 一律判死,把端点异常误报成登录失效触发无谓重登。 - pongDouyin 三态化:0=ok、8=明确未登录(唯一判死分支)、 其余/HTTP 错误/网络异常=UNKNOWN 放行,Step 3 真实请求最终裁决 - UNKNOWN 时响应体前 120 字节保留进 reason,缓存条目带 unknown 标记,checkSession/verifyCookies 以 ping:"unknown" + detail 透出, 供观察期确认 0↔4 翻转模式 - fetch-and-update-metrics.sh gate hint 不再硬编码「Cookie 关键字段 缺失/过期」(Tier2 pong 失败时误导值班 agent),改为指向 reason 已实测:status_code=4 → gate 放行 exit 0,真实取数 exit 0。 排查文档:workspace-main/douyin/20260902-抖音探活误报-SESSION_EXPIRED-研发排查文档.md
一、修正 douyin / xhs / wx_channel 的 DNA 设计(回退 09-08「账号级 DNA」的过度解读) - 明确不存在「平台级 / 账号级 DNA」:仍是单篇作品提取 report → 一批样本聚合 DNA 文档 → 推导 template;样本可来自多个账号,也可来自用户指定的一个账号批量提取。 - 按作品类型分框架:douyin / xhs 各两套(video-dna-framework.md + note-dna-framework.md), wx_channel 只有视频;一个 dna-id 只承载一种 kind,混型 build 直接报错。 - 维度重做:选题与观看理由 / 标题与封面(wx_channel = 短标题 + 视频描述)/ 内容创意 / (xhs)匹配的用户问题 / 视频内容形态与制作指向 / 制作规格与视听倾向 / 口播文案子模块(可选,参考公众号起承转合)/ 账号运营子模块(对标账号样本才有: 简介写法、内容形式比例、发布习惯;只进 DNA 文档不进 template)。 - 视频 template = Brief 正文模板 + 口播文案模板(可选);图文 template = 图文写作模板。 - 三个 build_style_profile.py 重写为同构实现(--kind、按 kind 的维度/统计/template 段、 混型守卫、focus 按 kind 校验),references 与工具 SKILL.md 同步。 - workflows(style-dna / content-production / account-benchmark / account-setup / editing / review)与三个专家包 SKILL.md 只做适应性微调,大流程架构不变。 - viral-chaser 升级:视频 meta(宽高与横竖屏、发布时间、作者简介、话题标签、分享/收藏)、 关键帧覆盖全片(补 25%/50%/63%/75%/90%,反转点常落在 55%-76%)、逐帧画面分析 + 按时间占比的结构拆解与反转点 + 内容形态判定与制作指向 + DNA 样本文字稿归档格式; 抖音图集走 note 分支(只下图片与文本,不转写)。 - 视频号发布页改版:短标题与视频描述都由 main 拟定、发布时都必须填;入库 (published-track --title)与 wx-channel-engagement 匹配只用视频描述,短标题不写库。 二、content-producer 引入专家包(expert-video / expert-design) - 四个技能整合为两个包:video-producer / collage-broll → expert-video/tools, design-full → expert-design/tools,manim-explainer 删除;PATH wrapper 名与子命令不变。 - pipelines/ → workflows/:dna-ad-video-pipeline.md 重构为 reversal-ad.md(「万万没想到」式 影视解说 + 反转植入:三段结构占比 + 四种反转手法 + 意象桥/钩连句);新增 narration-video.md(口播类声画实现);collage-broll 改为 workflow + tool(新增 check-setup / gate3 wrapper,不再让 agent 拼脚本路径)。 - expert-video/SKILL.md 删除「Pipeline 机制」段;阶段链更新:无 viral-chaser 报告输入 (reference-concepts 降为可选工具)、Stage 0 统一为 Brief 确认(直接对接用户模式下 引导讨论并代拟 Brief)、Stage 1 = intent-router、新增 Stage 13c 响度归一化必跑。 - AGENTS.md 重写:两种工作模式(subagent / 直接对接用户)都坚持乙方角色;交接契约、 各自建各自工作区、素材绝对路径与存在性确认。 - main 侧同步:Brief 不含 DNA、不替 CP 建工作区、口播文案与真人录音由 main 出具, 成片与封面按 CP 回报的绝对路径取回。 三、基础设施与文档 - sync_crew_skills / expose_skill_wrappers 增加悬挂软链清理(技能改名或收纳进 tools/ 后, workspace skills 与 ~/.openclaw/bin 的旧链会指向不存在的仓路径)。 - collect_skill_script_commands 增扫 skills/<skill>/tools/*/scripts,避免包内脚本掉出 allowlist。 - setup-crew 同步 BUILTIN_SKILLS / DENIED_SKILLS(陈旧条目会让 openclaw.json 的 skills allowlist 指向已改名技能,crew 直接失去能力);保留实例自装条目。 - docs:expert-pack-dna-architecture.md 4.7 改写(v2 维度表 + main/CP 交接契约)、 新增 4.9(content-producer 专家包);d21 变更历史补记;历史调研文档加状态注记。
…1.1.0 -> 1.1.1 openclaw 基座保持 2026.7.1-2 不变,只升第三方插件 pin。 - openclaw-weixin 2.4.8:上游唯一实质改动是 createTypingCallbacks 的 import 从 openclaw/plugin-sdk/channel-runtime(8.1 已删)改到 channel-message。 已对 7.1-2 宿主实测兼容:11 个 plugin-sdk 子路径在 exports 中均存在, 12 个 value import 逐个对已 build 的 dist/ 做运行时校验全部命中 (含 channel-message::createTypingCallbacks),6 个 type-only import 在 7.1-2 的 .d.ts 中也存在。integrity 用本地 npm pack tarball 的 sha512 与 registry dist.integrity 对账一致。 - wecom-openclaw-cli 1.1.1:plugins install 支持透传 --force(7.1-2 已有该 flag)、多源 failover 不再删插件目录、channels.wecom 配置备份/描述更宽容。 - openclaw-weixin-cli 2.1.4 不变(仍为 npm latest,integrity 已复核)。 - 同步三处兜底版本 2.4.6 -> 2.4.8:scripts/install.sh、 scripts/install-atomgit.sh、docker/docker-bootstrap.sh。 未触碰本机部署实例(~/.openclaw 只读)。
…t-production 一、DNA 框架补两维(抖音 / 小红书 / 视频号,共 5 份框架) - 新增 `biz-implant` 业务植入套路:是否植入、植入位置与时机、植入载体、方式原型 (反转植入 / 痛点→方案 / 场景带入 / 实测对比 / 清单第 N 项 / 身份认同 / 口碑故事 / 教程内嵌 / 硬广直给)、内容与业务的衔接句、植入密度与占比、品牌词出现方式。 - 新增 `interaction-cta` 互动引导与 CTA 套路(图文框架由原「互动引导与转化」升级而来): 行动目标与本篇主目标、CTA 位置与时机、句式与原文摘录、行动数量、诱因设计、 与转化目标的对应、平台组件与合规边界。 - 与 `narration-script` 划界:口播子模块的「合」只记收束方式,CTA 目标与句式归 `interaction-cta`;与 `video-form` 划界:形态层面的「影视解说 + 反转植入」记形态与 制作指向,本维度记植入怎么设计。 - 聚合规则补硬要求:两维必须给出「位置 + 载体 + 原文摘录」三样证据,只写「自然植入」 「引导关注」不算提取完成;无植入写「无植入(纯内容)」;平台红线记为必须避免项。 - 维度数:抖音 视频 10 / 图文 9,小红书 视频 11 / 图文 10,视频号 10。三份 build_style_profile.py 的 DIMENSION_GROUPS / REPORT_DIMENSION_PROMPTS / TEMPLATE_STAGES / TEMPLATE_STAGE_FIELDS / TEMPLATE_CHECKLISTS 同步;template 新增 「[业务植入与 CTA部分]」(图文侧取代原「互动与标签」段,话题标签策略仍在标题与封面段)。 二、删「统计与分词」 - 三个 style-profiler SKILL.md 的「## 统计与分词」段删除:分词(相邻二字组合)在脚本里 算完从未渲染进 report 或 DNA 文档,属死代码;统计口径合并进「职责边界」一行。 - 脚本移除 extract_terms / terms / stable_terms / STOP_TERMS / ENGLISH_WORD_RE 及未使用的 Counter、defaultdict、median 导入;同时删掉同样从未被读取的 weighted_coverage 聚合项。 - 框架文档里「高频词只是候选线索」相应改为「口头禅与签名表达必须回读原文确认」。 三、xhs-style-profiler 作品类型表纠正 - 默认 `--kind` 是 note,但表里把 `dna-0` 挂在 video、`dna-0-note` 挂在 note,与脚本 KIND_SUFFIX_HINT、框架文档、style-dna.md、专家包 SKILL.md 全部相反。改为 note(默认) → `dna-0`、video → `dna-0-video`,并把默认 kind 排在表格首行。 四、视频号 content-production.md 按抖音版重写 - 补 Step 0「识别制作路线」(素材组装 / 从零制作 / 脚本制作)与素材模式、脚本模式入口。 - Step 编号连续(0-7):原文件 Step 6 之后直接跳到 Step 8/9/10;制作合并为 Step 5 (路线 A main 直接做轻加工 / 路线 B、C 出 Brief 委托 CP),存文件与入库合并为 Step 7。 - 确认节点回到三个:选题 / 短标题与视频描述 / 成片与封面(原「第四个必停节点」编号错, 且缺成片确认)。Brief 增「业务植入与 CTA」字段。 - 视频号特有约束全部保留:短标题 + 视频描述双字段、取数与入库只用视频描述、短标题不写库、 无公开下载路径、30-55 人群与真人出镜占比、转发动机、session 正忙与扫码登录、sph 链接。 - editing.md 的 Step 引用同步(Step 7-10 → Step 5-7)。 五、措辞与下游同步 - 清掉写给开发者的元叙述:「DNA 不是『平台级 DNA』」「不存在『平台级 DNA』或『账号级 DNA』 的说法」「不是账号级结论」在 5 份框架、style-dna.md、三份工具 SKILL.md 中改为正向表述。 - Brief 新字段同步到抖音 / 小红书 content-production 与 CP 侧交接契约 (expert-video/SKILL.md 输入表、reversal-ad.md Brief 必备字段 implant_cta)。 - review.md 归因表补植入 / CTA 卡点行(组件点击、私信成交、广告感重),account-benchmark.md 与 style-dna.md 的语义段 / 逐项比较清单补两维;旧的「互动与标签」「互动引导与转化」 名称全仓清理干净。 - docs/expert-pack-dna-architecture.md:4.7 维度表更新为 10/9、11/10、10 维,硬规则补 「业务植入与 CTA 是三平台共有维度」。 自测:三平台 report → build → update 全链路跑通(维度数与 template 段与框架文档一致), focus 新 ID 可用、跨 kind 仍报错、混型 build 仍报错;另跑交叉校验脚本比对 脚本维度 == 框架维度表 == 框架 Focus 表 == SKILL.md Focus 表 == template 段顺序,全通过。 未触碰本机部署实例(~/.openclaw 只读);expert-wx-mp 不在本次范围,其 SKILL.md 仍有 同样的「统计与分词」段与死代码,待确认后另行处理。
… SKILL.md;纠正「通用制作流程」定位 一、crews/content-producer/scripts/ 合入 expert-video(回答"为什么不合并":没有外部引用,本该合) - 排查结论:五个后期脚本(normalize / burn-srt / duck / denoise / interp)只被 CP 自己的 三份文档引用(expert-video SKILL.md、video-producer SKILL.md 后期段、narration-video.md), main 侧、install/setup-crew/apply-addons、docker、allowlist 全都没有引用它们。 - 移到 skills/expert-video/tools/video-producer/scripts/,自动获得 wrapper 子命令形态 (`video-producer normalize|burn-srt|duck|denoise|interp`),符合仓规「wrapper 模式, 规避 agent 自行拼路径」;原调用方式是 workspace 根相对路径 `python3 scripts/x.py`, 与注入的 exec 规范(一律绝对路径、禁 cd 前缀)本来就冲突。 - 顺带修掉 crew 级目录的两个结构性问题:setup-crew 对 crews/<id>/ 是 cp -R 拷贝(技能是软链, 改了即生效;crew 级 scripts 是拷贝,改了要重跑部署才生效),以及同一批脚本被 scripts/README.md + video-producer/SKILL.md + expert-video/SKILL.md 三处重复描述。 现在唯一权威落点是 video-producer/SKILL.md 的「后期处理子命令」段(含调用模板、 干湿分离约定、逐条旁路条件),scripts/README.md 删除。 - 五个脚本 docstring 的 Usage 改为 wrapper 形态;"由 caller(AGENTS.md 工作流)决定"、 "Content Producer 默认工作流"等旧措辞改为「通用制作流程」;顺手修 normalize.py 的 "B 竍" 错字。video-producer.sh help 补上先前漏列的 narration-align / clip-trim / audio-mix / timeline-compose 与五个后期子命令。 二、expert-video/SKILL.md 重写(296 → 217 行) - **纠正「通用制作流程」的定位**(此前理解错了):它不是与类型 workflow 并列的第四条路, 也不是 Brief 未指定类型时的 fallback,而是我做任何视频制作工作都必须遵循的基准准则; reversal-ad / narration-video / collage-broll 只是在这个基准上对特定类型的进一步细化。 原「Workflow 清单(按视频类型选)」表里把"通用制作流程"当成一行选项,已删除该行, 改为新增「这个包怎么读(三层)」:通用制作流程 = 基准 / 类型 workflow = 细化 / 工具说明 = 子命令参数,并写明冲突时以 workflow 为准但闸门与护栏不让步。 - **"本包" 全部改为 "我"**(expert-video SKILL.md 13 处、narration-video 3 处、 reversal-ad 4 处、expert-design 1 处),与 AGENTS.md 的第一人称口径一致。 - 瘦身去重:角色/两种工作模式/交接契约与 AGENTS.md 重复的部分只留视频特有的 (Stage 0 分模式做法、Brief 字段、素材与口播要求、交付三件套);Stage 12 的参数表 删掉(video-producer 工具说明已有),只留八个场景化组合套路;依赖表 11 行压成 公共技能一段 + env 一段;「资源命名约定」四条压成两句。硬规则一条没丢 (两闸门纪律、checkpoint 语义、返工与耗时上限、决策审计链、11 条禁止事项全保留)。 - 补一条容易被绕过的口径:已有素材的轻加工也走通用制作流程,中间阶段按需裁剪, 但 Stage 0 Brief 确认、Stage 13 自检与响度归一化、Stage 14 交付三件套不因活儿小跳过。 三、全仓同步「通用阶段链」这个错误提法 - 三份 DNA 框架的制作指向映射表:「expert-video → 通用阶段链(narrative/motion/montage 档)」 改为「**不指定类型 workflow**:CP 按其通用制作流程做,Stage 1 定档位」; "未写时按通用阶段链自由选择实现"改为明确它不是并列选项也不是 fallback。 - 三份 build_style_profile.py 的 video-form 提取提示同步(原来把"通用阶段链"列为 第四个 workflow 名,会让 DNA 写出错误的制作指向)。 - 三平台 content-production 的 Brief `workflow` 字段说明、三份专家包 SKILL.md 的 分工硬边界、viral-chaser 的制作指向表、CP AGENTS.md 的能力方向路由(新增"视频类铁律" 一句 + 每行改为"通用制作流程 + X 细化")、docs/expert-pack-dna-architecture.md 4.7/4.9(目录树注释、24 → 29 个子命令、manim 删除说明)一并纠正。 自测:video-producer help 与五个后期子命令 --help 经 wrapper 实跑通过;三份 style-profiler report/build/update 全链路重跑正常;bash -n 与 ast.parse 全过;全仓 grep「本包 / 通用阶段链 / 通用链 / crew 级」在 content-producer 与 main 三平台已清零。 注(未处理,需部署动作):~/.openclaw/workspace-content-producer/skills 仍是 09-08 的 四条悬挂软链(collage-broll / design-full / manim-explainer / video-producer), expert-video 与 expert-design 尚未链入,~/.openclaw/bin 下 video-producer / design-full / manim-explainer 也是悬挂——需重跑 ./scripts/setup-crew.sh(会 prune 悬挂链、重建软链与 wrapper);本次遵守"~/.openclaw 只读"未触碰。workspace-content-producer/scripts/ 里的 五个旧拷贝同理,重跑部署后可手工清掉。
….3 删除 token 调优旋钮 + 更正能力② PR 归类
…d7a9fa3) openclaw.version: - OPENCLAW_VERSION=2026.7.33 / OPENCLAW_COMMIT=f619d7a9fa3db8b7e9831a0b00f586a9b55559ab - 该分支尚未打 tag / 未发 npm 包,只能 pin SHA;文件内补了 re-pin 前的四项复验清单 复验结果(v2026.7.1-2 -> ES 7.33,38 commit): - 37 个 patch 目标文件零漂移(patch 全绿,无需 re-port) - awada 契约 5 文件零 diff(plugin-sdk/index.ts、channels/plugins/types.core.ts、 plugins/plugin-api.types.ts、plugin-sdk/core.ts、agents/agent-runtime.ts) - engines.node 与 packageManager(pnpm 11.2.2) 未变 -> CI 的 24.15.0 仍合法,本轮不抬工具链 - skill 加载机制逐字未变(src/skills/loading/frontmatter.ts、src/shared/config-eval.ts、 src/skills/loading/workspace.ts 含 MAX_GROUPED_SKILL_SCAN_DEPTH=6)-> 专家包架构不受影响 - src/skills 全目录唯一改动是 installGitSkill 的 git option 注入加固,与本仓无关 仅改代码仓 pin,未触碰本机部署实例(~/.openclaw 只读)。 8.x/9.x 迁移评估见 docs/openclaw-2026.9.3-upgrade-fact-finding.md。 另含 crews/main/skills/published-track/SKILL.md:删去视频号短标题"官方称填了有更多流量"的表述。
问题:install_weixin_plugin() 只用 `plugins list | grep openclaw-weixin` 判断,已装即 return,不比版本 -> bump pin(如 2.4.6 -> 2.4.8)后已装实例永远停在旧版,必须人工跑 `plugins install ... --pin --force` 才升得上去。 改动(三处同源实现一起改,避免裸机 / atomgit / docker 行为分叉): - scripts/install.sh、scripts/install-atomgit.sh、docker/docker-bootstrap.sh - 新增 weixin_installed_version():主路径 `plugins list --json` 取 version 字段,回落到 $OPENCLAW_HOME/npm/projects/*/node_modules/<pkg>/package.json(目录名带 hash,只能 glob) - 判定:已装 == pin -> 跳过;已装 != pin -> `plugins install <pkg>@<pin> --pin --force`; 插件在但版本读不到 -> 也走 --force(正确性优先) - docker 侧同理需要比版本:/root/.openclaw 是持久卷,镜像升级后插件包不会跟着 pin 走 实测(本机实例正好是「已装 2.4.6 / pin 2.4.8」的样本,只测判断逻辑不真装): - 主路径 plugins list --json -> 2.4.6 OK - CLI 不可用时回落 glob -> 2.4.6 OK - 未安装的包名 -> 空输出 + rc=1 OK - 决策分支:pin=2.4.8 -> UPGRADE --force;pin=2.4.6 -> SKIP(不会无谓重装)OK - bash -n 三个脚本均通过 未修(已记入 fact-finding §8.3 / §10-4):scripts/update.sh 的在线路径走 weixin-cli, 遇到固定版本 spec 会自行跳过;bundled tarball 路径也没带 --force。 升级只换 npm/projects 下的包,登录态在 $OPENCLAW_HOME/openclaw-weixin/ 数据目录不受影响; 更新路线随后 refresh_gateway_env_only 会重启 gateway 使新版本生效。
bundled 路径(vendor/openclaw-plugins/*.tgz,sha512 校验后安装)本来就每次都装、 没有幂等跳过,但 `plugins install <tgz>` 不带 --force 时在已装过该插件的实例上会失败, 进而触发紧随其后的 exit 1,把整次 update 打断。 --force = "Overwrite an existing installed plugin"(7.1-2 起就有该 flag), 与 install.sh / install-atomgit.sh / docker-bootstrap.sh 上一轮的修法保持一致。 成功日志带上 pin 版本号便于核对。 未动:update.sh 的在线路径(npx openclaw-weixin-cli install)——该 CLI 遇到固定版本 spec 会自行跳过升级,要修得改调用方式,按用户决定暂不处理;已记入 docs/openclaw-2026.9.3-upgrade-fact-finding.md §8.3 / §10-4。
- Deleted `generate_code_doc.py`, `generate_form_info.py`, `generate_manual.py`, and the associated shell wrapper `swcr-register.sh` as they are no longer needed. - Updated version information in `openclaw.version` to reflect the latest stable release.
b1b7cb5 只改了 install.sh / install-atomgit.sh / docker-bootstrap.sh 三处 shell 实现,scripts/install.ps1 与 scripts/install-atomgit.ps1 的 Install-WeixinPlugin 仍是旧逻辑(plugins list 匹配到插件名即 return),pin bump(2.4.6 -> 2.4.8)后 Windows 老用户重跑安装器永远停在旧版。 改动(两文件同一份): - 新增 Get-WeixinInstalledVersion:主路径 `plugins list --json` 取 id/name/version(stdout-only 捕获,沿用 Capture-Streamed 的 EAP Continue 模式 规避 PS 5.1 NativeCommandError);回落 $OPENCLAW_HOME\npm\projects\*\ node_modules\<pkg>\package.json glob——与 bash 版 weixin_installed_version() 逐分支对齐 - Install-WeixinPlugin 判定:已装 == pin -> 跳过;!= pin -> --force 升级; 插件在但版本读不到 -> --force 按 pin 重装;失败提示同步带 --force - 头部步骤注释补版本幂等说明 - ps1 侧无 vendor/bundled-tarball 路径(068f87e 的 update.sh 修法无 Windows 对应物;Windows 升级即重跑安装器,更新路线装完后有 gateway restart 生效) 验证(便携 pwsh 7.6.6,Linux 侧): - Parser::ParseFile 两脚本 0 错误;新增块两文件逐字节一致;UTF-8 无 BOM + CRLF 保持不变;只用 PS 3.0+ 语法,5.1 兼容 - AST 抽取真实函数 + 假 openclaw 命令跑 6 场景全过:裸装(无 --force)/ 同版跳过(零安装调用)/ 2.4.6->2.4.8 --force 升级 / JSON 损坏走 glob 回落 / 版本读不到走 --force 重装 / stderr 噪音不污染 JSON 主路径 顺带合入(48818d8 删除 swcr-register 后的引用清理,同批工作区改动): - expert-ir SKILL.md + workflows/project-application.md:移除 swcr-register 依赖与委派表条目,软著/商标/专利申报明确移出职责范围 - docs/d21-symlink-skill.md:C 类清单注记同步清理 + 2026-09-12 变更历史条目
pnpm 10.x 的 install CLI 不认 --fetch-retries(apply-addons.sh 依赖同步 直接 unknown argument 炸掉),新机装了 10.30.2 且 update.sh 零预检、 install.sh 的 install_pnpm() 只判断存在即跳过,报错完全没指向真因。 - update.sh: 步骤 1.5 加 pnpm 大版本预检(读 openclaw/package.json 的 packageManager pin),缺失/过低给出明确升级命令;版本探测在 / 下做, 避开 pnpm ≥11 manage-package-manager-versions 在带 pin 目录返回假版本 - install.sh: 定义 PNPM_VERSION(此前从未定义,真走到安装分支会执行 npm install -g pnpm@ 空版本);install_pnpm() 加 major 守卫,低于 要求版本时升级而非跳过 - package.json: packageManager 从 4 月遗留的 10.30.2 对齐 11.2.2 (hash 与 openclaw/package.json 同版本 pin 一致)
twitter-post:CJK 正文禁用 type(逐字符按键流与 X Draft.js 异步处理竞态, 实测中文丢字+乱序),改 eval + execCommand insertText 整段插入;新增发布前 MATCH 校验闸门与发布后 profile 终验;「Something went wrong」先过闸门判因 (MISMATCH 重插 / MATCH 瞬时错误重试),替换原「优先精简正文」误判。含草稿 回填重复、占位符假警报、emoji 渲染为 img 三个坑。 expert-bd comment-engagement:X 评论同套 CJK 禁 type 规则,复用 twitter-post 闸门 browser-guide:微信视频号与公众号同模式无头截 QR 发用户扫码登录,渲染失败才 --headed 兜底;连带修正 docs 两处 spec 的旧说法
internal → security:full,apply_exec_tiers 不读该文件(exec-tiers.sh 权限模型), 4b/4b.5 加 crew-type 闸门,避免对内 crew workspace 生成死文件并误导成受白名单约束。 闸门以 workspace SOUL.md 为准(与 4c 一致);SOUL.md 缺失时 resolve_crew_type 兜底 external 照常生成,保持 fail-closed。已存在的旧文件不删除(可能含用户 手工添加的私有条目,且运行时无副作用)。
tarball 路线 main() 从不调用系统依赖 bootstrap(install_node/install_git/ install_pnpm)与 git clone(clone_wiseflow/checkout_openclaw_at_pin)——这些是 tarball 定案前旧 curl-源码路线的遗留;58edf56 修的 install_pnpm 守卫实为死代码 (真生效的 pnpm 11 预检在 update.sh 步骤 1.5)。 - install.sh: 删 19 个零调用者函数(含 require_sudo/install_homebrew/node 版本 解析链等传递死代码)+ PNPM_VERSION/pnpm_real_version + USE_LOCAL/--use-local; NODE_MIN_VERSION/NODE_DEFAULT_MAJOR 从未定义,走到必在 set -u 下炸,铁证死代码 - install-atomgit.sh: 删同款死 helper(run_remote_bash/refresh_shell_command_cache/ is_root/require_sudo)+ --use-local no-op 分支 - 两脚本头注释:update.sh 描述修正(原写"拉新 tarball",实为 git clone 源码升级路线) - README: 删 --use-local 行(该 flag 由静默 no-op 变为明确 Unknown option) 验证:bash -n 通过、--help exit 0、全仓 grep 无残留引用;ps1 未动(本就 pnpm 11 原生)。
…/描述框 eval 路径 - snapshot 一律 -s "wujie-app"(整页 snapshot 撞 wujie 双 body strict violation) - Step 3 视频上传改直连 input[type=file] 选择器(click 触发按钮路线拿不到 ref) - 新增 Step 5 设置封面:编辑入口/上传封面/accept*=image 精确选择器(双 file input 防冲突)/裁剪确认 - Step 6 描述框改 eval 四步(contenteditable 空串致 aria 无独立 ref):聚焦→insertText→insertParagraph→innerText 校验 - 短标题 fill + eval 读 .value 校验(aria 占位文本填后不消失,snapshot 复核不可信) - 新增 4 个 pitfall + 错误处理表 3 行;原 Step 5-8 顺延为 6-9,内部交叉引用同步 - content-production.md Step 6 发布清单补「设置封面」项 来源:小贝 2026-09-14 实战 proposal(expert-wx-channel-proposal.md 提案一/二), eval 片段全部取自当日发布实录并通过 node --check
对齐 update-metrics.sh 既有模式:DB 检查前响应,无库也能查参数。 覆盖全部必填/可选参数、upsert 去重键、wx_channel --title 语义 (完整视频描述非短标题)、publish-date 禁传 $() 警示。 来源:expert-wx-channel-proposal.md 提案三(P2)
旧写法 parent×3 按拆分前 skills/xhs-publish/scripts/ 布局上溯到 skills/, 拆分后(skills/expert-xhs/tools/xhs-publish/scripts/)只到 tools/, relay_sign import 落空。改 parents[4] 精确解析到 skills/_shared。 2026-09-14 小红书实际发布验证通过;备份文件(与 HEAD 一致)已清理。
Brief 只写需求与验收标准,禁写脚本引用/ffmpeg 参数表/工具链内部细节; 用户点名参数例外照传并注明。SKILL.md 硬边界段同步一句并指回详规。 不依赖工具链补齐进度——边界规则本身恒成立,过渡期由既有 「CP 回报无法执行→确认改 Brief」条款兜底。
added 4 commits
September 15, 2026 00:44
…新增 + clip-trim/assemble/audio-mix 增强) 按 content-producer 提交的 toolchain-proposal 实施(P0×2 / P1 / P2), 消除 reversal-ad 主打形态被迫手写脚本的结构性缺口: - narration-layout(P0):逐句旁白排布 + 防重叠守卫 + 逐句/末句越界断言 + SRT + 可选混音(内部 subprocess 复用 audio-mix);force_style 落 abs_starts.json 供 burn-srt 引用;首句 min_gap 哨兵、lead_in 非负校验;产物按 hard 直拼排布 (docstring 与 SKILL.md 均声明转场约束) - motion-graphics(P0):声明式 spec 驱动 PIL 逐帧动画,Stage 10 第二条渲染路径 (与 render-shot 并列);内置四件套模板(dimension_grid/scroll_cards/crew_panel/ rec_highlight,收编 v4 已验证组件)+ 8 类基础元素(必填字段 load_spec 统一校验) + custom 插件逃生舱(编码/checkpoint/校验留在子命令);帧级 checkpoint + --force; 时长/分辨率/帧率三重断言(fit=none 错画幅不再静默);_mg_lib/_mg_templates 为 非子命令库;缺 ffmpeg/字体 exit 2 - clip-trim(P1):--normalize WxH@FPS / --grade warm / --windows 多窗 / --zoompan 定帧缓推 / --duration / --low-load / --force;切片起点改 input seek (修 output seek 在倍速链下被静默放大 speed 倍的内容错位,视频音频流统一); 多窗/定帧工作目录带参数指纹,改参自动重切不静默复用陈旧内容; 顺带修 .mp3 容器封 aac 的存量 bug(按输出扩展名选编码器) - assemble(P1):--manifest 显式有序段清单(绕开 shot-NN 命名约定)/ --verify-fps 拼接后帧率断言(checkpoint 命中重跑同样生效)/ --expect-durations 逐段时长校验(list/segments/beats 三形态兼容,全量违例收集); 段名含 / 时 unify 落盘名打平 - audio-mix(P2):逐轨 --fadein/--fadeout(afade 在 adelay 前,fadeout 锚定 min(轨长, duration-delay),超限报错);--duration 硬上限语义写明; 修 adelay 缺 :all=1 立体声只延左声道的存量 bug - 文档:wrapper help、video-producer 与 expert-video 两份 SKILL.md(阶段链 + Stage 12 组合套路新增逐句排布与动态图形配方)、reversal-ad/narration-video 护栏条款、requirements.txt Pillow 注释补 motion-graphics - 顺带清 audio-mix.py / delivery-promise-lock.py 的 U+FFFD mojibake 功能实测 50/50 通过(守卫失败路径、checkpoint 续渲、spec 错误拒绝、 burn-srt/normalize 全链互操作、1080p 生产规格冒烟、渲染帧目检); code-review 1 HIGH / 2 MEDIUM / 7 LOW 全部修复并附回归测试。
- 新增六节:安装与升级链路修复(插件幂等/pnpm 守卫/死代码)、 expert-video 工具链补齐(narration-layout/motion-graphics 新增 + clip-trim/assemble/audio-mix 增强)、expert-video 定位纠正 + crew 级后期脚本合入、DNA 补业务植入与 CTA 两维、平台实操路径回写、 清理 - 版本日期 2026-09-10 → 2026-09-15(本次发布时间) - 移除「8.x/9.x 迁移另案评估」一句:openclaw 基座升级计划已取消 (pin 已于 48818d8 回退 2026.7.1-2,调研文档已于 b1d32d0 删除), CHANGELOG 不含基座升级内容,本版只保留「基座保持不变」的事实陈述
头注释仍在用 tarball 定案前的说法描述 install.sh("curl 首装路线: 从零开始,clone 仓 → build → onboard"),与 install.sh 自身头注释 (tarball 路线首装、已装机器重跑即更新)矛盾;"适用场景"一句更是 直接误导:写成"用户已通过 install.sh 装好 wiseflow,后续要拉新版本 用此脚本",而 tarball 用户正解是重跑 install.sh。 f01a014 的提交信息称"两脚本头注释"均已对齐,实际只修了 install.sh 那侧对 update.sh 的描述,update.sh 这侧未动(install-atomgit.sh 已对齐)。 - 对齐 install.sh / install-atomgit.sh 的两路线表述 - 适用场景限定为 git clone 源码用户,并显式警示 tarball 用户别用本脚本 (无 .git 时会 git init + fetch + reset --hard 把 tarball 安装转成 源码路线,并要求系统 Node/git/pnpm 11+ 自行 build) - 纯注释改动,bash -n 通过
pnpm 11 对齐后 package.json 的 packageManager (pnpm@11.2.2) 与 workflow 显式钉的 version: 10.30.2 冲突,action-setup v6 报 "Multiple versions of pnpm specified"(PR TeamWiseFlow#475 质检失败根因)。 删除两处显式 version,让 action-setup 直接从 packageManager 读取, 后续升级 pnpm 无需再改 workflow。
|
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.