[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83216":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":9,"trendingCount":15,"starSnapshotCount":15,"syncStatus":12,"lastSyncTime":27,"discoverSource":28},83216,"Character_Skill_Producer","qian-gugugaga\u002FCharacter_Skill_Producer","qian-gugugaga","Character Skill Producer — distill anime characters into executable agent skills",null,"Python",168,2,61,1,0,4,59,35,1.43,"MIT License",false,"main",true,[],"2026-06-12 02:04:32","\u003Cdiv align=\"center\">\n\n# Character Skill Producer\n\n### 把二次元角色变成可运行的 Agent Skill。\n\n> *「不要再写角色设定了。让角色自己开口。」*\n\n[![Agent Skills](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAgent%20Skills-Standard-green)](https:\u002F\u002Fagentskills.io)\n[![Runtime-Claude Code](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRuntime-Claude%20Code-blueviolet)](#安装)\n[![Local Research](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLocal%20Research-Moegirl%20API-orange)](#本地检索优先)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg)](LICENSE)\n\n\u003Cbr>\n\n**CSP 帮你把动画、漫画、游戏角色蒸馏成可以对话、写作、互动叙事的行为 Skill。**\n\n输入一个角色名和作品名，CSP 会完成资料检索、交叉验证、行为蒸馏、质量检查，生成一个带资料日期、来源边界和更新路径的 `SKILL.md`。\n\n今天你可以用它和角色聊天、辅助同人创作、试写剧情对白。未来它可以成为 AI 互动小说、角色驱动游戏和二次元创作工具链的角色行为层。\n\n[看效果](#效果示例) · [产品哲学](#产品哲学) · [未来场景](#未来使用场景) · [安装](#安装) · [工作原理](#工作原理) · [资料时间边界](#资料时间边界与更新)\n\n\u003Cbr>\n\n**其他语言 \u002F Other Languages:**\n\n[English](README_EN.md) · [日本語](README_JA.md) · [한국어](README_KO.md) · [Español](README_ES.md)\n\n\u003C\u002Fdiv>\n\n---\n\n## 效果示例\n\n你不需要自己整理人设，也不需要写一大段 prompt。\n\n只要说：\n\n```text\n> 生成御坂美琴（某科学的超电磁炮）的 skill\n> 蒸馏丰川祥子（BanG Dream! Ave Mujica）\n> 做一个《孤独摇滚！》后藤一里的角色 skill\n```\n\n生成后的角色 Skill 可以像这样被调用：\n\n```text\n用户      ❯ 用灯的视角说说，如果大家又因为意见不合停下来了，你会怎么办？\n\n灯        ❯ 我……可能会先不知道该说什么。\n            因为大家的声音都变得很远的时候，\n            我会觉得，是不是又有什么东西要散掉了。\n\n            但是，如果就这样不说，\n            谁也听不见谁的话。\n\n            所以我会把刚才听到的，一句一句写下来。\n            不会写得很好。\n            可能只是像笔记，像石头一样的词。\n\n            可是……如果那些词能留下来，\n            大家也许还能再看一次。\n            还能再回到这里。\n```\n\n```text\n用户      ❯ 扮演若叶睦。排练现场所有人都在逼你表态，说你必须现在选边站。\n\n睦        ❯ ……我不知道。\n\n            我只是，不想让大家吵架。\n            也不想让谁露出那种表情。\n\n            可是声音太多了。\n            祥子、小祥、大家……都在看我。\n            我说什么都会弄坏什么。\n\n            ……\n\n            Mortis   ❯ 那就别让她说了。\n                       你们不是想要答案吗？\n                       那我给你们。\n\n                       选边？可以。\n                       先把会让她痛苦的人，全都从这里拿开。\n```\n\n这不是把台词拼起来。灯不是在复读「写歌词」设定，睦也不是简单的沉默角色。真正被蒸馏出来的是：**角色面对关系、压力、边界和选择时的行为逻辑，以及在极端压力下会如何变形。**\n\n---\n\n## 为什么不是角色卡\n\n普通角色卡常常这样写：\n\n```text\n性格：冷静、可靠、疏离。\n说话方式：简短、理性。\n```\n\n这对 AI 来说太模糊。它知道标签，却不知道怎么行动。\n\nCSP 要写的是：\n\n```text\n当别人要求她给出长期承诺时，她会先把关系翻译成任务：排练频率、退出条件、谁负责联络。\n不是不在乎，而是用事务边界避免自己被卷入无法控制的情感期待。\n```\n\n区别就在这里：\n\n| 角色卡    | CSP                        |\n| ------ | -------------------------- |\n| 写性格标签  | 写情境中的行为                    |\n| 复述设定   | 蒸馏反应机制                     |\n| 靠口癖装像  | 用表达节奏、距离感和认知方式塑形           |\n| 没有资料边界 | 记录资料检索日期和未覆盖内容             |\n| 很难更新   | 可用 sources \u002F manifest 追踪更新 |\n\n**设定告诉你角色是什么。CSP 让角色知道自己该怎么活。**\n\n---\n\n## CSP 蒸馏什么\n\nCSP 提取六层信息：\n\n| 层次         | CSP 关心的问题                          |\n| ---------- | ---------------------------------- |\n| **行为动态**   | 什么情境下会做什么？压力下如何变形？                 |\n| **表达质感**   | 句子长短、停顿、口癖、自称、敬语层级如何工作？            |\n| **社会认知**   | 她默认怎么理解他人的善意、威胁、亲近和背叛？             |\n| **决策逻辑**   | 多个价值冲突时，她先保什么、牺牲什么？                |\n| **诚实边界**   | 资料不足、角色不知道、原作没覆盖时，Skill 应该如何承认不知道？ |\n| **资料时间边界** | 资料检索到哪一天？新剧情发布后如何更新？               |\n\nCSP 不追求更像百科。它追求更像一个活人。\n\n---\n\n## 产品哲学\n\nCSP 的底层判断很简单：**角色不是资料页，而是一套可运行的反应系统。**\n\nWiki 告诉你角色经历了什么；角色卡告诉你角色大概是什么属性；CSP 要进一步回答：当这个角色被放进一个原作没有写过的新情境里，她会先注意什么、误解什么、保护什么、拒绝什么，又会用怎样的节奏把话说出口。\n\n这也是 CSP 坚持高保真模式的原因。一个角色如果只有口癖和标签，聊天几轮就会塌掉；但如果它有行为镜片、关系算法、决策底线和诚实边界，它就能在新问题里保持一致，而不是每次都靠台词碎片救场。\n\n| CSP 要写进去的 | 意味着什么 | 没写进去会怎样 |\n|---|---|---|\n| 行为镜片 | 角色先看见什么，忽略什么 | 只会复述设定 |\n| 反应规则 | 何时靠近、逃开、攻击、沉默 | 所有问题都一个语气 |\n| 表达 DNA | 句长、停顿、敬语、自称、情绪泄露 | 只剩口癖表演 |\n| 关系算法 | 如何判断善意、背叛、亲近、利用 | 对谁都一样热情 |\n| 决策底线 | 价值冲突时先保什么 | 被用户轻易说服 |\n| 诚实边界 | 哪些不知道、哪些过期、哪些只是推测 | 硬编新剧情 |\n\n**写得进去的是行为程序，写不进去的要变成边界。** 这不是降低沉浸感，反而是让角色更可信：真正像角色的人，不会什么都知道，也不会永远回答得漂亮。\n\n---\n\n## 未来使用场景\n\nCSP 不只是“生成几个角色”的工具。它更像是把角色从静态资料中解放出来，变成可以被聊天、写作、互动叙事和游戏系统调用的行为层。\n\n现在，它可以用于：\n\n| 场景 | 怎么用 | CSP 提供什么 |\n|---|---|---|\n| 日常聊天 | 和某个角色持续对话 | 稳定语气、关系距离、知识边界 |\n| 同人创作 | 让角色参与片段、对白、内心戏创作 | 不只给台词，还给行为逻辑 |\n| 剧情试写 | 把角色放进原作没有写过的新情境 | 用行为模式推断反应，而不是硬贴设定 |\n| 角色研究 | 对比不同角色如何处理关系、压力和选择 | 可追溯的来源和蒸馏链 |\n| 多角色协作 | 同时加载多个角色，模拟对话或冲突 | 每个角色有独立边界和决策逻辑 |\n\n未来，它可以继续走向：\n\n| 方向 | 可能形态 |\n|---|---|\n| AI 互动小说 | 角色不再只是 NPC 台词库，而是能根据玩家行动做出一致反应 |\n| AI 视觉小说 \u002F Galgame 原型 | 用角色 Skill 驱动分支对白、好感变化、冲突升级 |\n| 多角色叙事实验 | 让不同角色 Skill 在同一事件中碰撞，生成群像剧情 |\n| 创作者工作台 | 作者用 CSP 保持角色声音一致，快速试写场景、改写对白、检查 OOC |\n| 可更新角色档案 | 作品出新剧情后更新资料日期和行为模式，让角色随作品成长 |\n\nCSP 面向更多创作者提供一套可共享的角色行为基础设施。今天它服务聊天和同人写作；未来它可以成为 AI 互动小说、角色驱动游戏和二次元创作工具链的一部分。\n\n---\n\n## 本地检索优先\n\n很多角色生成器依赖搜索插件、MCP 或浏览器能力。CSP 的方向是：**核心资料优先由本仓库脚本检索，外部搜索只是补强。**\n\n当前已内置：\n\n```bash\npython scripts\u002Fsource_search.py \"高松灯\" --work \"BanG Dream! It's MyGO!!!!!\" --mode discover\npython scripts\u002Fsource_search.py \"能天使\" --work \"明日方舟\" --sources moegirl\npython scripts\u002Fmoegirl_api.py \"高松灯\" --search\npython scripts\u002Fmoegirl_api.py \"能天使\" --full\n```\n\n目前本地检索重点支持萌娘百科 MediaWiki API，并通过统一的 `source_search.py` 输出结构化 JSON。其他站点 adapter 会逐步扩展；在 adapter 尚未实现时，CSP 会记录失败项，并允许用网页搜索、用户材料或其他来源补强。\n\n这不是为了炫技，而是为了让生成结果可审计：\n\n- 查了哪些来源；\n- 哪些来源失败；\n- 每条资料是哪天检索的；\n- 是否命中黑名单来源；\n- 之后作品更新时该从哪里重新检查。\n\n---\n\n## 安装\n\nCSP 是一个 Claude Code \u002F Agent Skills 风格的 meta-skill。推荐直接安装自包含版本：\n\n```bash\nskills add qian-gugugaga\u002FCharacter_Skill_Producer\n```\n\n也可以手动安装：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fqian-gugugaga\u002FCharacter_Skill_Producer.git\ncp -r Character_Skill_Producer\u002Fexamples\u002Fcsp ~\u002F.claude\u002Fskills\u002Fcsp\n```\n\n`examples\u002Fcsp\u002F` 已经打包了运行所需的脚本和模板。复制到 `.claude\u002Fskills\u002Fcsp\u002F` 后即可使用。\n\n### 依赖\n\n- Python：用于本地检索、metadata 生成、质量检查。\n- 网页搜索能力：可选增强，仅在本地脚本未覆盖或失败时补缺。\n\n---\n\n## 使用\n\n安装后，对 Claude Code 说：\n\n```text\n> \u002Fcsp\n> 生成千早爱音的 skill\n> 蒸馏丰川祥子（BanG Dream! Ave Mujica）\n> 做一个《孤独摇滚！》后藤一里的角色 skill\n```\n\n模糊需求也可以：\n\n```text\n> 想聊一个傲娇角色\n> 有没有病娇推荐\n> 帮我做一个适合长期聊天的二次元角色\n```\n\nCSP 会先确认角色和作品。如果你手上有设定集、访谈、BD 特典、字幕、截图或游戏剧情文本，也可以直接给它。用户提供的官方材料优先级最高。\n\n---\n\n## 工作原理\n\nCSP 默认采用最高质量生成模式，不提供省 token 快速版。输入角色后，它会做六件事：\n\n**1. 本地来源发现**  \n优先运行 `scripts\u002Fsource_search.py` 和站点 adapter，检索萌娘百科、MediaWiki 系站点、作品 Wiki 等核心来源。搜索 skill \u002F MCP 只作为补缺。\n\n**2. 结构化来源索引**  \n生成 `references\u002Fsources.json`，记录 URL、来源等级、检索日期、失败项和可选 content hash。\n\n**3. 五路并行分析**  \n设定与世界观、人格、表达质感、人际关系、关键场景分开调研，避免一个维度吞掉另一个维度。\n\n**4. 行为蒸馏**  \n把资料从「发生过什么」提炼成「角色在类似情境下会怎么行动」。保留矛盾，不把角色磨平成稳定人设。\n\n**5. metadata 与资料边界**  \n生成 `manifest.json`，记录角色、作品、覆盖媒体、资料检索完成日期、未覆盖内容、质量评分和 honesty boundary。\n\n**6. 质量验证**  \n检查行为模式是否可执行、表达是否有质感、矛盾是否保留、边界是否诚实、资料日期是否完整。\n\n```bash\npython scripts\u002Fquality_check.py examples\u002Fyahata-umiri\u002F\npython scripts\u002Fmerge_research.py examples\u002Fyahata-umiri\u002F\npython scripts\u002Fgenerate_manifest.py examples\u002Fyahata-umiri\u002F\n```\n\n完整方法论见：\n\n- `references\u002Fdistillation-framework.md`\n- `references\u002Fskill-template.md`\n- `references\u002Fsource-output-schema.md`\n\n---\n\n## 生成的 Skill 长什么样\n\n每个角色都是一个自包含目录：\n\n```text\nyahata-umiri\u002F\n├── SKILL.md                          # 可执行的角色行为指令\n├── manifest.json                     # 角色、作品、资料日期、质量分、覆盖边界\n└── references\u002F\n    ├── sources.json                  # 来源索引、检索日期、失败记录\n    ├── distillation.md               # 从资料到行为模式的蒸馏链\n    ├── quality-report.json           # 自动质量检查结果\n    └── research\u002F\n        ├── 01-setting.md             # 世界观、身份、外表\n        ├── 02-personality.md         # 行为模式、矛盾\n        ├── 03-expression.md          # 说话质感、语言标志、经典台词\n        ├── 04-relationships.md       # 社会认知、关系动态\n        ├── 05-key-scenes.md          # 关键场景、压力下的决策逻辑\n        └── 06-media-coverage.md      # 跨媒体覆盖、未覆盖内容、时间线\n```\n\n复制整个目录到 `.claude\u002Fskills\u002F\u003Cname>\u002F`，就能在对话里直接调用。\n\n---\n\n## 资料时间边界与更新\n\n每个 CSP 生成的角色 Skill 都必须记录资料检索日期。\n\n当作品后续发布新剧情、新活动、新台词、访谈或设定修订时，旧 Skill 可能无法覆盖。此时角色不会硬拗旧设定，而会说明：\n\n```text\n我的资料更新至 YYYY-MM-DD，可能没有覆盖之后发布的内容。如果你有最新版 CSP，或可以提供新剧情 \u002F 新资料链接，我可以帮你更新这个 Skill；这可能会消耗一些 Token。\n```\n\n更新已有 Skill 时，CSP 会读取旧 `manifest.json` 和 `sources.json`，重新检索核心来源，只重蒸馏受影响部分，并更新资料日期和质量报告。\n\n---\n\n## 信息源原则\n\n二次元角色资料很容易被二创、转述和社区印象污染。CSP 的原则是：\n\n| 优先级    | 来源                                                            |\n| ------ | ------------------------------------------------------------- |\n| **最高** | 用户提供的官方设定集、访谈、BD 特典、字幕、截图                                     |\n| **高**  | 官方网站、官方角色介绍、官方剧情文本、萌娘百科、Wikipedia、作品 Fandom Wiki              |\n| **中**  | Bangumi、AniDB、游戏剧情、Bilibili 高质量专栏、Anime News Network、Bestdori |\n| **低**  | 粉丝讨论、社区解读，必须标注为推测                                             |\n| **排除** | 知乎、微信公众号、百度百科                                                 |\n\n至少两个独立来源交叉验证。资料不足就写不足，不补脑，不编造。\n\n---\n\n## 预置角色\n\n仓库里已经包含这些可直接使用的角色 Skill：\n\n| 角色      | 作品                         | 目录                           |\n| ------- | -------------------------- | ---------------------------- |\n| 高松灯     | BanG Dream! It's MyGO!!!!! | `examples\u002Ftakamatsu-tomori\u002F` |\n| 椎名立希    | BanG Dream! It's MyGO!!!!! | `examples\u002Ftaki-shiina\u002F`      |\n| 要乐奈     | BanG Dream! It's MyGO!!!!! | `examples\u002Fkaname-rana\u002F`      |\n| 长崎爽世    | BanG Dream! It's MyGO!!!!! | `examples\u002Fnagasaki-soyo\u002F`    |\n| 千早爱音    | BanG Dream! It's MyGO!!!!! | `examples\u002Fchihaya-anon\u002F`     |\n| 丰川祥子    | BanG Dream! Ave Mujica     | `examples\u002Ftogawa-sakiko\u002F`    |\n| 若叶睦     | BanG Dream! Ave Mujica     | `examples\u002Fmutsumi-wakaba\u002F`   |\n| 三角初华    | BanG Dream! Ave Mujica     | `examples\u002Fmisumi-uika\u002F`      |\n| 祐天寺若麦   | BanG Dream! Ave Mujica     | `examples\u002Fyutenji-nyamu\u002F`    |\n| 八幡海铃    | BanG Dream! Ave Mujica     | `examples\u002Fyahata-umiri\u002F`     |\n| CSP 自描述 | —                          | `examples\u002Fcsp\u002F`              |\n\nBanG Dream! 角色会覆盖 MyGO!!!!!、Ave Mujica、CRYCHIC 前史，并在资料允许时纳入手游和衍生内容作为日常行为补充。\n\n---\n\n## 路线图\n\n已实现 \u002F 当前版本：\n\n- CSP meta-skill 主流程；\n- 萌娘百科 MediaWiki API 本地检索；\n- 统一来源发现入口 `source_search.py`；\n- 质量检查 `quality_check.py`；\n- 调研摘要 `merge_research.py`；\n- manifest 生成 `generate_manifest.py`；\n- 自包含安装版 `examples\u002Fcsp\u002F`；\n- 多个 MyGO \u002F Ave Mujica 角色示例。\n\n计划中：\n\n- 更多本地 adapter：Bangumi、Fandom、Wikipedia、Bestdori、BWIKI；\n- `file_manager.py`：更新前备份、回滚、修订记录；\n- `distill_prompt.py`：把 Skill 导出为普通平台可用 prompt；\n- 更完整的增量更新检查和 source diff。\n\n不会假装已经完成。能本地检索的就本地检索，暂时做不到的就记录失败、标注边界、等待补强。\n\n---\n\n## 仓库结构\n\n```text\nCharacter_Skill_Producer\u002F\n├── SKILL.md                          # CSP 主 skill\n├── references\u002F\n│   ├── distillation-framework.md     # 行为蒸馏方法论\n│   ├── skill-template.md             # 角色 Skill 模板\n│   └── source-output-schema.md       # 来源与 metadata 结构规范\n├── scripts\u002F\n│   ├── source_search.py              # 本地核心来源检索入口\n│   ├── source_registry.py            # 来源等级、黑名单、站点规则\n│   ├── generate_manifest.py          # manifest.json 生成\u002F更新\n│   ├── quality_check.py              # 质量验证\n│   ├── merge_research.py             # 调研摘要\n│   └── moegirl_api.py                # 萌娘百科 API 封装\n└── examples\u002F\n    ├── csp\u002F                          # 自包含 CSP skill\n    └── \u003Ccharacter>\u002F                  # 预置角色 skill\n```\n\n---\n\n## 致谢\n\nCSP 的架构借鉴 [nuwa-skill（女娲）](https:\u002F\u002Fgithub.com\u002Falchaincyf\u002Fnuwa-skill)：从「蒸馏真人认知框架」出发，转向「蒸馏虚构角色行为系统」。\n\n女娲问：一个人如何思考？  \nCSP 问：一个角色如何活着？\n\n---\n\n## 许可\n\nMIT\n\n---\n\n\u003Cdiv align=\"center\">\n\n**设定告诉你角色是什么。**\u003Cbr>\n**CSP 让角色知道自己该怎么活。**\n\n\u003Cbr>\n\n*不要再写角色设定了。让角色自己开口。*\n\n\u003C\u002Fdiv>\n","2026-06-11 04:10:26","CREATED_QUERY"]