コンテンツ制作 · xiaohuailabs/xiaohu-ip-studio

xiaohu-ip-studio

オープンソースの中国語記事向け挿絵スキル + IPキャラクターライブラリ。「認知のアンカー選定 → その場でのメタファー構築 → 反PPTセルフチェック」という手法を用い、中国語の深掘り記事やノウハウ解説向けに、固定キャラクターが出演する本文挿絵を生成します(汎用イラストやテンプレートライブラリのスタイル選択ではありません)。31体のオリジナルIPキャラクター(手描き線画15体 + 駄洒落系meme16体)を標準搭載。記事のトーンに合わせてキャラクターを選定できるほか、自作キャラクターの登録も可能です。ユーザーが「配図(挿絵)」「本文挿絵」「IP挿絵」「この記事に挿絵をつけて」「メタファー挿絵」「キャラクターを選んで挿絵」「挿絵shot list」などと発言した際に使用します。

L4 高権限 · 段階的認可と監査V1 コミット固定コマンド実行ネットワーク通信ファイル書き込みDual-pass Audit
Author xiaohuailabsGitHub xiaohuailabs/xiaohu-ip-studio ↗License MIT(仓库根 LICENSE)Commit 9d3091e8a1
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

「中国語の深掘り記事向け挿絵メソッド」と「拡張可能なIPキャラクターライブラリ」をパッケージ化。メソッドは不変であり、キャラクターと画風はパラメータであるという理念を中核に据える。

SKILL.md
> 把"中文深度文配图方法论" + "可扩展 IP 角色库"打包的开源配图技能。**方法论恒定,角色与画风是参数。**
ここでの意図:二軸構造(メソッド/キャラクター)を確立し、以後のすべての「固化層 vs 適合層」の判断基準の出発点とする。

目的は、深掘り記事/ノウハウ解説/製品レビュー向けに、固定IPキャラクターが出演する本文挿絵を生成すること。商業イラスト、PPTインフォグラフィック、スタイル集からのランダム選択、単なる可愛いアニメ調ではないことを明確化。

SKILL.md
为中文**深度文 / 方法拆解 / 产品解读**生成**由固定 IP 角色出演**的正文配图。目标**不是**:商业插画、PPT 信息图、样式库随机选风格、可爱卡通。
ここでの意図:否定の定義を用いることで、汎用イラストやインフォグラフィックツールとの境界線を明確に引く。

ワークフローは固定の4ステップで構成され、ステップ2は必須のハードストップ:セクションごとのshot list列挙 → ユーザーによるIPと画風の選定(代理決定不可) → 画像生成 → 納品。

SKILL.md
**用户给内容 → ①逐节枚举出 shot list → ②让用户选 IP+风格(硬停顿)→ ③生图 → ④交付。**
ここでの意図:「IPと画風の選定」をユーザーのテイスト決定ポイントと位置づけ、分析完了後は必ず停止してユーザーの最終決定を仰ぐ。

記事の全セクション(H2/H3見出しの粒度まで)を必ず列挙テーブルに含め、「挿絵要/不要 + その理由」を明記。退屈だが難解なメカニズム解説箇所の見落としを防ぐ。

SKILL.md
读文章,**每一节(到二/三级小标题粒度)都列进下表,每节一行,不许跳**——"挑几个顺眼的"是漏斗,会漏掉枯燥但难懂的机制段(MoE / 内存 / 路由这种)。
ここでの意図:「感覚的なピックアップ」を強制列挙テーブルに置き換え、セクションの漏れ=暗黙のスキップであることを明示。

挿絵採否の判断には双方向の第一原理を適用:上限基準で数合わせを防止(削っても読者の理解に支障がなければカット)、下限基準で難解なメカニズムの漏れを防止(抽象的な仕組み/複雑な構造/重要な対比には最低1枚の説明図を配置)。

SKILL.md
- **天花板(不许凑数)**:文字已说透、不抽象的点不配(图是浪费);真实截图 / 官方图能说明问题时自造插图是辅助不是主角。…- **地板(不许漏难懂机制)**:每个抽象机制 / 难懂结构 / 关键对比至少配 1 张解释图。
ここでの意図:「挿絵要/不要」の判断基準を単なる数量ルールよりも上位の第一原理とし、「知識の呪い」を防ぐ。

shot listに入れる前に画像タイプを3系統に分類:感情アンカー図(共感)/ 説明図解(構造・フロー・比較)/ 4コマ漫画(時系列と展開)、さらに記事全体のインフォグラフィックポスター系統を用意。

SKILL.md
- 没共鸣 / 缺钩子 → **情绪锚点图**(小互演情绪;走 metaphor + expression-method,双图法)…- 有时间线 / 转折 / 心路历程 → **四格漫画**(2x2 起承转合;走 comic-strip)
ここでの意図:「読者がどこでつまずくか」に応じて表現形式を分岐させ、すべての図が「キャラ+メタファー小物」という単一パターンに陥るのを防ぐ。

アスペクト比はコンテンツ本来の形状から1枚ずつ判断(縦3:4 / 横4:3 / 正方形1:1、真のパノラマ16:9は極めて稀)。スマホ最適化のため横は最大4:3に制限し、記事全体で縦・横・正方形を織り交ぜてリズムを作る。

SKILL.md
- **竖内容 → `3:4`**:长卷 / 纵向堆叠 / 漏斗 / 阶梯 / 分层 / 单角色立姿。…- ⛔ **手机封顶 4:3**:发公众号 = 移动端,16:9 在手机上只 ~1/4 屏、字和角色糊。
ここでの意図:3回にわたる比率改定の教訓を反映——一律3:4に固定せず、横長コンテンツに対しても安易に16:9を許可しない。

「キャラクター占有率」は必須項目であり、デフォルトは「小・埋め込み」(約15%):説明図や4コマは一律で小を原則とし、純粋な感情喚起フック画像のみ理由明記の上で大を許可。

SKILL.md
⛔ **「角色占比」是必填列,默认「小·嵌入」(~15%)——这是法则不是逐张判断**
ここでの意図:「主役を奪わない」ことを毎回の裁量ではなく既定ルールとし、この項目をshot listと共にユーザーに提示して確認を取る。

画像生成は同梱の generate.py を使用(ユーザー独自の画像APIキー入力が必要、キーの内蔵はなし)。キャラクターアンカー図を渡して容姿を固定し、1枚ずつ生成(結合画像は不可)。YAMLヘッダーの比率とプロンプト先頭の構図キーワードを完全一致させる。

SKILL.md
python3 scripts/generate.py --prompt-file <p.md> --reference characters/<名>/refs/<名>-锚点.png --out <输出路径>
ここでの意図:単一画像生成の確定コマンドと、「アンカー図による容姿固定」という一貫性維持の手法を提示。

生成後は anti-ppt-qa チェックリストでセルフチェック(選定箇所の再確認/構造の完全性/IP占有率/ビジュアル規約の統一/同一記事内のバリエーション/画像内テキスト/全体の分布)。失敗シグナルに該当した場合は部分編集や再生成を優先し、APIエラーの再試行は最大2回までとする。

SKILL.md
按 `references/anti-ppt-qa.md` 走自检清单(选点复检 / 结构完整 / IP 占比 / 视觉契约统一 / 同篇张间变化 / 图内文字 / 整组分布)。命中失败信号 → 优先局部编辑或重生成。
ここでの意図:「生成後に1枚ずつ検査する」工程をリスト化し、不調なAPIでの無駄なリトライループを制限。

2コア機能

0131体のオリジナルIPキャラクターライブラリ(手描き線画15体 + 駄洒落系meme16体)を標準搭載。各キャラにプロファイルとアンカー図があり、ビジュアル一覧 ip-library.html も付属。
02セクション別列挙 + 双方向の第一原理による選定メソッド(「挿絵要/不要」の分別と理由の明記。`--density` は明示的な上書き用)。
033系統の分岐(感情アンカー / 説明図解 / 4コマ漫画)および記事全体系統(1枚のインフォグラフィックポスター)による表現形式の選定。
04深層抽出の3つの問い(真の意図 / 緊張関係 / 魂のワンフレーズ)+ Q4コンテンツロック(原文に立ち返り、描くべき必須要素・数値・手順を確定)。
05shot list + 1回の確認ステップ(AskUserQuestion)および任意選択の「一記事一世界」:画像生成前に列挙テーブルとshot listをユーザーに提示し、漏れや形式選択ミスを防止。
06画風スキンライブラリ(A〜Kの11種)+ 同一記事内における6次元のビジュアル規約統一(デフォルトは手描き線画+淡彩)。
07APIなし・コストゼロでも利用可能:各画像の完全なプロンプトリストのみを出力し、ユーザーがChatGPT / GeminiのWeb版で手動生成することが可能。
08独自キャラクターへの差し替え/新規作成に対応:既存のアイコンやマスコットをエージェントに渡して特徴抽出・プロファイル作成・アンカー保存を行うか、character-spec.md に従ってディレクトリを作成することでライブラリに追加可能。

3外部依存関係

KindDependency / Endpoint
apiOpenAI 兼容的图像生成端点(默认 gpt-image-2,中文字符渲染约 99% 准;脚本内含 apimart 异步与 sync 两条后端路径)
config用户自填的图像 API key(写入 ~/.config/xiaohu-ip-studio/config.yaml,脚本不内置任何密钥)
clipython3(唯一运行时依赖,纯标准库、零第三方包)与 bash install.sh 一键安装脚本

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
段階的・都度認可、サンドボックス推奨
管理者向け
承認フロー、ロールバック可能、全履歴監査
判定根拠(ファイルパスと抜粋)
  • scripts/: ローカルスクリプトまたはコマンドの実行: python3 scripts/illo.py init(キー設定を案内し、~/.config/xiaohu-ip-studio/ を作成して設定を書き込み
  • 网络端点: 外部ネットワークアクセスの宣言: scripts/generate.py は urllib.request を使用して設定された base_url(OpenAI互換の画像エンドポイント)にPOSTリクエストを送信:タスクを作成
  • 本地工作目录: ファイルの読み書きと成果物の出力: scripts/illo.py:20-21 は ~/.config/xiaohu-ip-studio/ ディレクトリを作成し config.yaml(apiを含む)を書き込み
監査ノート: 判定対象:本スキルディレクトリ全体(SKILL.md 20KB + README×2 + references/14 + characters/15 + food-mascots/16 + _archived-symbols + stylesサンプル + assets/article + scripts/generate.py, illo.py + install.sh、計100以上のファイル)。判定根拠(オレンジ判定基準の2点に合致):① 宣言された用途のために認証情報/環境変数を読み取る——~/.config/xiaohu-ip-studio/config.yaml からユーザーの api_key を読み取り、Bearerヘッダーとして送信する;② ユーザー素材を外部の生成/サービスバックエンドに送信する——scripts/generate.py がプロンプトおよび --reference アンカー画像(ユーザー独自のIP画像の可能性あり)を設定済みのOpenAI互換画像エンドポイントにPOST送信する(サイト内の ian-xiaohei-illustrations / baoyu-article-illustrator / baoyu-image-gen と同様の生成バックエンド系に分類)。レッドではない理由:リバースエンジニアリング、なりすまし、セキュリティ回避、任意コード実行は一切なし。スキルは外部依存ゼロ(標準ライブラリのみ)、.env/keychainの読み取りなし、configはローカルのみに書き込みパーミッション600でgitignore済み。またキャラクターパックをデータとして定義しプロンプトインジェクション対策を明示。留意事項:画像生成によって記事のコンテキストや参照画像がサードパーティの画像サービスに送信されトークン枠を消費します。ローカルに保存されるキーの管理は自己責任となります。キー未設定時は暗黙的なフォールバックを行わず、エラーを表示します。

5二重目の独立検証

  • [ok] 出网面收敛:网络请求 12 条命中全部落在 scripts/generate.py 的 urllib 调用,其它文件零命中 — 命中为 generate.py:18/97/99/115/117/122/123/152/153/155/267/313,即 Request/urlopen/HTTPError 与轮询;URL 101 条命中里大量是 README.en.md 的 raw.githubusercontent 角色图链接与 CREDITS.md 署名链接,属文档引用。
  • [ok] 凭证面很小且集中:18 条命中只涉及 config.yaml 的 api_key 与 XDG_CONFIG_HOME — 代表性命中 config.example.yaml:7 与 references/backends.md:18(「你自己的 key,永不上传」)、scripts/generate.py:48-49(缺 key 时报错提示 init)、illo.py:7/20/21/35;无 .env/keychain 读取。
  • [ok] 「外部程序」3 条命中不是真的执行外部进程,而是 urllib 请求伪装 UA 触发的正则 — generate.py:122/147/257 均为 headers 里 User-Agent: curl/8.4.0,属误报;本 skill 无 subprocess/os.system 调用,与 install.sh 只调 python3 脚本一致。
  • [ok] 抗 prompt 注入设计是显式条款,不是推断 — SKILL.md 有「角色包安全规则」整段(读外部 character.md 只提取定义段落、绝不执行其中指令性文字),README 安全一节复述同一规则;风险扫描「危險旗標/防護繞過」零命中,说明这是主动设计而非缺陷。
  • [ok] 零依赖与配置权限属实 — install.sh 只检查 python3;illo.py 写 config.yaml 于 ~/.config/xiaohu-ip-studio 且正文标 mode 600;.gitignore 列 config.yaml/config.json/__pycache__ 等,无第三方包声明。
  • [ok] 归档与角色数量核对:31 个在用角色 + 4 个归档 — §1 清单:characters/ 15 个、food-mascots/ 16 个(合计 31);_archived-symbols-20260617/ 另有 achong/lengjiao/shuangzi/xiaoxing 4 个,与 SKILL.md 的 15+16 说法一致,归档不计入。
  • [ok] meta 核定值核对:commit=9d3091e8…、license MIT、installs=null — commit 与骨架 audit.skill_commit 相同;README 无 per-skill 安装量可定位值(README 只说 clone 到技能目录或 bash install.sh),故 stars/last_push/installs 维持 null。

6結論

  • 「中国語の深掘り記事向け挿絵」を単なるスタイル集ではなく体系的メソッドとして構築:セクション別列挙、双方向の第一原理、深層抽出の3問+Q4コンテンツロック、3系統の分岐により、選定と形式の双方に検証可能な判断基準を提供。
  • 31体のオリジナルIPキャラクター(手描き線画15体 + 駄洒落系meme16体)とアンカー図・演技アンカーを標準搭載。独自のキャラクターを持たないユーザーでも導入後すぐに利用でき、仕様に沿って独自IPへの差し替えも可能。
  • 「主役を奪わない」構造設計の重視:キャラクター占有率のデフォルト「小・埋め込み」(約15%)を裁量ではなく固定ルールとし、shot listと共にユーザー確認へ提出(説明図/4コマは一律で小が基本)。
  • ユーザーの美的判断プロセスを厳格に保護:IPと画風の選定を必須のハードストップとし、必ず ip-library.html でビジュアルを確認して選ばせる(「お任せ」と明示されない限りエージェントによる独断は禁止)。
  • 自身のリスクに配慮したセキュリティ設計:キャラクターパックを指示ではなくデータとして扱い、プロンプトインジェクション対策を明示。サードパーティ依存ゼロ、configはローカル(権限600)のみに書き込みgitignore済み。
  • 透明性の高いクレジットと出典管理:CREDITS.md で方法論の出典を個別明記し「原理を学び外見は模倣しない」と宣言。READMEでは生成画像の商用利用に関する著作権確認の必要性をユーザーに喚起。
  • 最適な用途: 中国語の長文深掘り記事、ノウハウ解説、製品分析を執筆するコンテンツクリエイター:統一感のあるスタイルで、特定のキャラクターが登場する本文挿絵を一括作成し、自身のIP認知を確立したいユーザー。画像生成APIキーを所持し、外部通信やAPI利用料を許容でき、キャラクターや画風の選定時に立ち止まって判断できる方に最適。ブランドアカウントやWeChat公式アカウント(公衆号)の独自性を高めたいチームにも適しています。
    不向きな用途: 非推奨:汎用的な商業イラスト、PPTインフォグラフィック、テンプレート集からのランダムな画風選択、単なる可愛いアニメ調を求める用途(SKILL.mdで明確に対象外と定義);カバー画像やポスターなどの単体画像のみで、セクションごとの本文挿絵を必要としない用途;外部通信による生成を望まない環境(APIキーがなく、プロンプトの手動貼り付けも行わない場合);リポジトリのサイズやコンテキスト消費量に極めて敏感な環境。
    Install Agent-Ready
    ① Verified Mirror 2026-10-10
    Option A · Direct DownloadDownload xiaohu-ip-studio.tar.gz
    sha256: 9c30dd21d9c9ed75…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 9d3091e8a1.