Skip to content

feat(muse-illustration): add community plugin Muse Illustration - #95

Open
Stayfoool wants to merge 2 commits into
zai-org:mainfrom
Stayfoool:feat/muse-illustration
Open

Stayfoool wants to merge 2 commits into
zai-org:mainfrom
Stayfoool:feat/muse-illustration

Conversation

@Stayfoool

Copy link
Copy Markdown

Plugin type (required) / 插件类型(必填)

  • UI Plugin / 是 UI 插件 — provides MCP Apps interactive pages
  • Standard plugin / 普通插件(非 UI) — does not provide MCP Apps interactive pages
  • Not applicable / 不适用

Affected plugin name(s) / 涉及的插件名称:

muse-illustration

What / 改动内容

新增社区插件 Muse Illustration(灵感插图),位于 external_plugins/muse-illustration/(本仓库首个社区插件)。

它把诗词、词句、意象,甚至一句灵感转成插画或海报。核心观念是:可复用的资产不是某张图,而是一份风格配方 ——「正向提示词 + 负向约束 + 参考图 + 参数」。

包含的组件:仅一个 Skill(muse-illustration)。无 command、无 subagent、无 hook、无 MCP server —— 因此按模板勾选「普通插件(非 UI)」。

技能做什么:解析意象(主体 / 景物 / 动作 / 色彩 / 情绪 / 时空,六维)→ 选风格 → 确认出图参数(张数、成品形态)→ 组装提示词(部件级描述 + 显式负向约束)→ 生图 → 交付并把采纳结果归档。

内置 3 条风格配方:

id 名称 内核
jiangnan-muke 江南春 · 水印木刻 米白纸底、平涂色块、短刻痕
riso-print 江南春 · risograph 版画 3–4 色有限调色板、颗粒噪点、套色错位
chunkcolor 色块彩墨 下三分之二沉静单色面 + 上沿细墨线 + 大留白

三条均在杜牧《江南春》上验证;jiangnan-muke 还跨题材迁移到白居易《忆江南》并被采纳,说明配方可移植。

依赖、网络与副作用(README 已完整声明)

项 情况
网络访问 运行时不发起任何请求,无外部 API 调用
模型 / API 依赖 需要宿主的文生图能力;不捆绑模型、不含 API Key、不索要凭据
文件写入 生成图写入宿主输出目录;用户采纳后把成图复制进 assets/cases/images/ 并追加案例记录
命令执行 / Hook / MCP 均无
其他副作用 消耗宿主文生图额度(每张约 5–10 积分,技能会先告知用户)

关于网络的一条提醒:SKILL.md 的「效果示例」区块引用了 raw.githubusercontent.com 上的绝对图片地址,仅在支持渲染 Markdown 的客户端显示时才被拉取,插件自身不读取这些图;需要彻底离线时删掉该区块即可。

第三方素材与许可证

  • 插件许可证 MIT。
  • 随包图片全部为本项目自己生成的 AI 图片,不含第三方版权素材。
  • assets/styles/*/ref.jpg 是风格锚定图,内容为本项目自产并被采纳的成图(即该风格的标杆样例)。
  • chunkcolor 的原始参考图是一张第三方展览海报,版权不属于本项目,未随包发布;案例记录仅保留文件名以说明配方来源。
  • 无第三方代码、无预编译二进制、无捆绑字体。

Self-check / 自查清单

  • 插件名唯一且 kebab-case,外部新增插件位于 external_plugins/<name>/
  • 用途分类 category 已填写(other),与维护归属分开
  • 已声明插件类型与涉及的插件名称(见上)
  • plugin.json 与 marketplace.json 两处 version 已同步为 1.1.1
  • README.md(EN)与 README_CN.md(中文)均已提供且语义一致
  • description_i18n 同时包含 en 与 zh-CN(清单与市场条目两处完全一致)
  • 不含密钥、机器专属路径或私有依赖(已专项清理 /Users/... 残留)
  • 模型 / API / 网络依赖已在 README 写明
  • python3 scripts/validate.py 与 python3 scripts/build_dist.py 本地通过 —— 见下方说明

本地校验结果

$ python3 scripts/validate.py
OK: 44 plugin(s) validated          # 43 个既有插件 + 本插件

$ python3 scripts/build_dist.py
UnsafeTree: blender: incomplete build; run pnpm build first

build_dist.py 的失败发生在 blender(UI 插件)上,原因是浅检出缺少 UI 插件的构建产物(plugins/*/dist/ 按 .gitignore 不入库,需先运行 pnpm build),与本次改动无关。

为确定性地验证本插件本身可以正常打包,我单独调用了 build_dist.py 中的打包函数:

build_zip(plugin_dir, out)          # → 2.03 MB,28 个文件,结构正确
build_index_entry(entry, out, cdn)  # → source / _artifact 字段生成正确
sha256 = e4d200b780b20cbc5a9325087b42898e71cddc455e567fbc20d0787c5a74a7cf

git diff --check 通过。

两点想请维护者确认

  1. 图标 CDN 路径:我按官方条目的既有格式填了
    https://cdn-zcode.z.ai/zcode/official-plugin/assets/muse-illustration/icon.png
    (图标文件已放 assets/muse-illustration/icon.png,256×256、实心满幅,符合 fix(assets): use solid full-square official plugin icons)。
    如果社区插件走的是另一个 CDN 基址,请告知,我改过来。
  2. 分类:暂填 other(可选分类中没有「创意 / 图像生成」这类)。若你们更希望归到 utilities 或 productivity,我改。

Upstream / 上游仓库

https://github.com/Stayfoool/muse-illustration —— 同一套内容也以标准 Agent Skill(SKILL.md)形式发布,可被读取该开放格式的工具直接安装。

新增 external_plugins/muse-illustration/(本仓库 PR 中的首个社区插件)。

- 组件:仅一个 Skill(muse-illustration)。无 command / agent / hook / MCP server。
- 能力:解析意象 → 选风格 → 确认出图参数 → 组装提示词 → 生图 → 交付与归档。
- 内置 3 条风格配方(水印木刻 / risograph 版画 / 色块彩墨),每条 = 正向提示词 +
  负向约束 + 参考图 + 参数;另含意象词典与已采纳案例库。
- 依赖:需要宿主的文生图能力;不捆绑模型、不含 API Key、运行时不发起网络请求。
- 副作用:写出生成图;用户采纳后把成图复制进 assets/cases/images/ 并追加案例记录。
  中英文 README 均已如实声明网络访问、模型依赖、文件写入与权限边界。
- 素材与许可证:随包图片全部为本项目自产的 AI 图片;原始第三方参考图未随包发布。
  插件许可证 MIT,无第三方代码与预编译二进制。
- 不含密钥、私有地址、机器专属路径(已专项清理 `/Users/...` 残留)。

本地校验:
- scripts/validate.py → OK: 44 plugin(s) validated
- scripts/build_dist.py → 在 `blender` 处报 incomplete build; run pnpm build first。
  该失败来自浅检出未执行 `pnpm build`(UI 插件产物不入库),与本次改动无关;
  已单独调用 build_zip()/build_index_entry() 验证本插件可正常打包
  (2.03 MB,28 个文件)。
- git diff --check 通过。
Upstream released v1.1.2 (upstream fix: remove machine-specific paths
from case/style metadata). Bump version metadata in marketplace.json,
.zcode-plugin/plugin.json, .claude-plugin/plugin.json and vendor the
updated skill payload.

No functional change to the plugin manifest or components.
@panda920

Copy link
Copy Markdown
Collaborator

✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically.

This branch has not been deployed

No deployments
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