Repository navigation
feat(plugin): 仓库根成为 ZCode 插件,补齐 MCP/hooks/命令与评测 - #17
Merged
Merged
Conversation
fix_stats.py 在 manifest 为空时提示用 --generate 跑真闭环,但产出 manifest 的 run_loop.py 已于 2026-11-10 移除,用户照提示找不到入口。 改为说明本版本不内置出图闭环,manifest 需由外部通道产出,并给出 rounds/fails/fixes 的字段格式,让用户知道该记什么。
仓库此前没有 .gitattributes,本机 core.autocrlf=true,新增文本文件入库时会被转成 CRLF,与仓库既有 LF 内容混用。按仓库规范补上,文本统一 LF,图片标为二进制避免 git 做换行转换。
不接 MCP 时,agent 取一条模板要走四步:读 SKILL.md、判工位、读 _atoms/aNN.json、 从 templates 挑一个,全靠模型自觉。这四个工具把那四步压成一次调用。 - query_atom 按品类/产物/动作定位原子,返回编号与命中依据 - get_template 取模板,连同该原子的规则、清单、占位符一起返回 - validate_prompt 跑 slop_check 与规则引擎 - check_output 跑 check_image 做平台机检 四个工具都是现有脚本与索引的薄包装,不引入新判据。JSON-RPC 用标准库实现,不引第三方 SDK。索引里 categories 字段常为空,定位改按 title/task/tags 合并匹配,避免空字段让 打分静默失效。
SKILL.md 写着「机检不过不交付」,但那只是文档要求,靠模型自觉。接上 PostToolUse 之后这条变成运行时强制:只要工具调用在 out/ 下落了图片,机检就一定跑。 hook 只认 --platform 显式参数判平台,不从文件名或路径推断——路径里的 product-amazon.png 会被误判成指定了 amazon 平台。没有新图、不在 out/ 下、判不出 平台、输入不是合法 JSON,一律静默 exit 0,绝不因机检自身故障阻断用户流程。 出不通过或警告时按 ZCode hooks schema 输出 hookSpecificOutput.additionalContext, 把失败项与修复提示回注给模型。
/ecom:main、/ecom:detail、/ecom:sku、/ecom:reverse 对应五个工位里的四个高频入口。 用户不用记「主图台、详情页台」这套术语,打斜杠就直接进对应流程。 每条命令都写了先定位原子、再取模板、再自查的步骤,裸需求转交导演技能的分支也写进去了, 与 SKILL.md 的判据一致。
此前三个技能各自拷贝安装,而 tools/ 在仓库根不在技能目录里,按目录拷贝装完就没有 脚本——SKILL.md 里十几处 python tools/xxx.py 全部失效。这是主推路径断了。 插件 skills 字段支持数组,且可指向仓库内既有目录,所以不必搬动结构:插件安装会把 整个仓库装进去,tools/ 自然随行。清单声明三个技能、命令目录、hooks 与 mcpServers。 配套 check_plugin.py 校验清单字段、声明资源存在性、路径越界与事件名合法性,接入 CI。 官方 zcode plugins validate 已验证通过。
品牌锁:套图的一致性难点在跨图漂移。模型每次重新解读「干净高级」都能得到不同结果。 这份规范列出十个必锁视觉字段(光位、色温、阴影、背景色值、材质、机位、镜头、调色、 排版、输出边界),要求逐字相同地出现在每张提示词里,变化的只留在场景与主体段。 AIGC 标注库:原来 platform.json 里每个平台只有一句 ai_label,缺法条依据。这份库收了 FTC、加州 SB 942、纽约 SB 8420-A、EU AI Act Art.50、国内标识办法五地判据,含罚款 口径与卖家动作;图类型分 A 实拍无人 / B 常规修图 / C 写实 AI 人物 / D 复刻真人, C 类必须披露,D 类直接拒绝;另列四条红线。 两份都写清适用边界:数值来自公开法条,平台执行口径以官方卖家中心为准,不构成法律意见。
机检管几何与合规,管不了产品一致性。这份脚本把「该人看什么」整理成结构化复核单: 启发式嫌疑分、原子的检查项、产品保留清单逐项核对表,结论列全部留空等人填。 不直接调模型判图,是因为 VLM 在「精确编辑是否生效、保留约束是否满足」这类细粒度判断 上不可靠,把它的分数当通过依据会把错误固化。脚本输出里没有 pass 这个词。
现有触发回归把 description 与路由表喂给模型,只断言路由结论——模型没有装技能的概念, 抓不到「装了但不触发」。real_trigger.py 把技能交给真实引擎,看它是否自行加载并走到 正确原子。 按三层分工:静态检查每次提交跑,近似触发每次 PR 跑,真实触发只在里程碑手动跑(慢且 可能计费)。引擎命令与凭据由使用者提供,脚本不假设具体引擎的旗标。CI 里只跑它的离线 自检,不接真实引擎。 CI 同时接入 mcp_server、vlm_review、check_plugin 的自检,并新增插件清单校验步骤。
README 的安装段此前只教拷技能目录,而那样装会丢掉 tools/——机检、规则引擎、语料检索、 MCP 工具都不在技能目录里。改为推荐插件安装,并说明只拷技能会缺什么。 新增:装机后自带能力的机制表(出图自动机检、MCP 四工具、斜杠命令)、仓库结构树补 插件与 hooks 与 commands、已知限制补 VLM 复核边界与真实评测的引擎前提。 SKILL.md 硬规则补三条:套图一致性(品牌锁)、AI 标注义务(图类型四分类)、视觉复核 (只提示不判定),三条都指向新增的规范文件。 CHANGELOG 归集 v2.1.0,把 v2.0.0 之后 58 个提交按对外可见形态记录。README.en.md 供英文用户与 skills.sh 收录。
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.
做了什么
修掉「装完就残」这个主推路径断层,并把 ZCode 的四项没用上的扩展能力接上。
根因:
tools/在仓库根,不在技能目录里。技能按目录拷贝安装,所以用户按原 README 装完,SKILL.md 里十几处python tools/xxx.py全部失效,只剩一句「单独安装时不带脚本,按人工过」。正解:插件
skills字段支持数组且可指向仓库内既有目录,插件安装把整个仓库装进去,tools/自然随行,不必搬动结构。新增
.zcode-plugin/plugin.jsontools/mcp_server.pyhooks/PostToolUse命中即跑机检,不通过把结果回注给模型commands//ecom:main/detail/sku/reversereferences/_brand-lock.mdreferences/_rules/aigc-disclosure.jsontools/vlm_review.pyevals/real_trigger.pytools/check_plugin.py修复
fix_stats.py的提示仍指向已删除的run_loop.py,用户照提示找不到入口。验证
hooks 端到端实测:灰底小主体图被识别出白底、占比、分辨率三项硬伤并回注。四条放行边界(无关文件、
out/外、坏 JSON、无平台参数)均静默 exit 0。未验证
real_trigger.py未接真实引擎,框架就位,引擎与凭据需自备明确不做
出图通道维持不内置;不接
skills-up;不拆 34 个原子为 34 个技能;不引向量检索;不做 Web 界面。