运行时依赖
安装命令
点击复制技能文档
火一五·克劳德·龙虾增强插件 v5.7.8 简介 @huo15/openclaw-enhance 是 OpenClaw 2026.4.24+ 的非侵入式增强插件,对标 Claude Code 的 Agent Harness 体验。 核心原则:凡是龙虾原生有的功能一律不复制,重叠处以龙虾为准;只补龙虾没有的 Claude-Code 体验。 v5.7.8 全面适配 openclaw 2026.4.24(2026-04-26 同日) 跑完整 SOP 第 1+2 步发现 openclaw 4.24 的 API.on 是完全 typed((hookName: K, handler: PluginHookHandlerMap[K])),enhance 之前 14 处 API.on(...as any) 都能去掉 cast。这是真正的"全面适配"——不是简单升 peerDep,而是让 enhance 利用 SDK 的全部类型信息。
维度 v5.7.7 v5.7.8 peerDependencies.openclaw ^2026.4.22 ^2026.4.24 build.openclawVersion 2026.4.11(落后 13 patch) 2026.4.24 compat.pluginApi >=2026.4.11 >=2026.4.24 API.on(...as any) 使用次数 14 处 0 处 (event: any, ctx: any) 使用次数 5 处 0 处 (ctx as any)?.agentId 模式(hook 内部) 9 处 0 处(仅余 4 处 helper 函数内部,工具 ctx 用) typecheck 错误数 0 0 openclaw.plugin.json 顶层字段 5 8(加 enabledByDefault / uiHints / activation)
隐藏 bug 修复 去掉 as any 后 typecheck 暴露 self-check.ts 长期被屏蔽的类型不匹配:之前 return {}; 试图返回 PluginHookBeforeAgentReplyResult,但该类型 handled: boolean 是必填的——空对象不合规。修法:所有"不接管"分支改成 return;(void),仅"阻断空回复"分支返回 { handled: true, reply: ..., reason: ... }。
不破坏 openclaw 原生 所有 hook handler return undefined(void) — 不返回 {block, prependContext} 等控制信号时 → enhance 仅观察+附加,绝不改变 openclaw 决策 typed hook handler 实际行为跟 untyped 完全一致 — 只是 TS 编译期能 narrow 类型,运行时无差异 manifest 新加的 enabledByDefault / uiHints / activation 都是 openclaw 4.x 已有字段,不引入新依赖
v5.7.7 session-lifecycle(2026-04-26 同日,跑完整 gap 调研后落地) 调研依据:跑了一次完整 SOP 第 1+2 步(Claude Code 官方 hooks 文档 + 反编译 Claude.app + openclaw 4.22 SDK)。发现 openclaw 4.22 暴露 29 个 hook,enhance 之前只用 4 个。落地最高 ROI 的 5 个 hook 闭环 session 生命周期:
Hook enhance 行为 落地表 session_start idle > 30min 时插入"🚀 会话开始/续启"章节占位 chapters session_end 加"🏁 会话结束"章节 + flush in_progress todo 到 project memory(tag=session-flush, importance=4) chapters + memories before_reset reset 前最后机会抢救最近 3 章节 + 全部未完成 todo 到 decision memory(tag=reset-rescue, importance=6)+ 推 notification memories subagent_spawned 派生子 agent 时加"🤖 派生子 agent: X"章节 chapters subagent_ended 子 agent 结束加"✅/❌ 子 agent 结束: X"章节 chapters
防 noise factory 三层防御(吸收 v5.7.1 教训):30 秒 dedup + 低 importance + 专用 tag(不进黑名单,用户下次会想恢复)。
v5.7.5 skill-recommender(2026-04-26 同日) 用户反馈:"新增自动根据用户的需求自动挑选已经安装的技能,如果没有技能就把规划方案给出来。看看 Claude 是如何做的" 调研:反编译 /Applications/Claude.app/Contents/Resources/app.asar,发现 Claude 的 skill auto-discovery 本质是把所有 skill 的 name+description 拼成 "Available skills: ${list}." 注入到 specialist agent 的 system prompt —— 没有复杂算法,让 LLM 自己挑。 enhance 改造:照搬 name+description 匹配思路,但改成按需工具避免每轮 prompt 占 schema。新增模块 skill-recommender + 工具 enhance_skill_recommend(query, limit?, includeUninstalled?, includePlanning?):
启动期扫多路径(WeCom / DingTalk 多 agent 场景关键): ~/.openclaw/skills/ ~/.openclaw/workspace/skills/ ~/.openclaw/workspace-/skills/ ← WeCom 多 agent 动态 workspace(一开始漏扫,烟测才发现) ~/.openclaw/agents//skills/ /.claude/skills/、~/.claude/skills/ 实测用户机器扫到 56 个 skill 跨 27 个路径
解析 SKILL.md frontmatter(轻量正则,无 yaml 依赖):name + description + aliases CJK 双字滑窗 + alias 强 boost 评分: JS \w 不含中日韩,直接 split \s\W 会让"代码简化"分成空数组 解决:CJK 连续段当整体 phrase + 长 ≥4 时滑动 2-grams alias 的 token 严格命中(如 "规划" === alias "规划")→ 保底 0.7 分
三段式输出: 🎯 已装 skill(命中 ≥ threshold=0.25)+ 召唤建议 📦 ClawHub 上未装的 huo15- 候选(含 openclaw skills install 命令) 🛠️ 都没合适 → 自建 skill 规划:建议 slug + frontmatter 模板 + 触发关键词 + 内容大纲 + 红线 #3 提醒(必须先 ClawHub publish 再让 enhance 引用 slug,插件不内嵌 skill 内容)
实测: 查询 命中 分数 "帮我 review 这个 PR" huo15-openclaw-code-review 0.60 "设计一个 Web UI 原型" huo15-openclaw-frontend-design 0.94 "代码简化" huo15-openclaw-simplify 1.00 "做安全审查" huo15-openclaw-security-review 0.96 "规划这个任务" huo15-openclaw-plan-mode 0.70(alias exact 命中保底)
模块 tier=2(balanced 默认启用,minimal 不暴露 — 用户多半已知道用什么 skill)。
v5.7.4 config-doctor 扩展:扫已装插件 bare pluginApi(2026-04-26 同日) 用户反馈:"提示插件要求 2026.2.24,但是我的 openclaw 已经是 2026.4.22" 根因:openclaw plugin compat 规则要求 compat.pluginApi 必须是 ranged spec(>=X.Y.Z / ^X.Y.Z / ~X.Y.Z)。bare 字符串(如 "2026.2.24" 没前缀)= 精确匹配,与当前 openclaw 不匹配时启动失败。用户实测: ~/.openclaw/extensions/tips/package.json v1.0.0 → pluginApi: "2026.4.11" ❌ ~/.openclaw/node_modules/@huo15/huo15-huihuoyun-odoo/package.json v1.2.0(npm peerDep 残留)→ pluginApi: "2026.2.24" ❌
新增:config-doctor 启动期扫描 ~/.openclaw/extensions/ + ~/.openclaw/node_modules/@huo15/ + 无 scope 的 node_modules/,对每个声明 openclaw.extensions 的包检查 compat.pluginApi。bare 命中 → 推仪表盘 + log warn + 给可粘贴 fix 命令。 ⚠️ [plugin-bare-pluginApi] 已装插件 @huo15/wecom-tips 的 openclaw.compat.pluginApi="2026.4.11" 是 bare 版本,会被解读为精确匹配... → 修复: python3 -c "..."(一行 inline)
v5.7.3 config-doctor(2026