中文 · English
从原始作品中提炼可追溯、可更新的人物行为与认知模型。
把合法持有的小说或剧本路径和人物名称告诉助手,系统完成分析后直接输出最终人物包。默认位置是:
workspace/<人物标识>/character-os/
每个人物的真实材料、任务状态和结果都留在同一个私有目录,不进入 Git:
workspace/<人物标识>/
├── TASK.md # 一次写全的任务契约
├── inputs/ # 输入副本、规范化文本和来源索引
├── work/ # 各 session 的候选、状态和检查记录
└── character-os/ # 最终人物包
外部材料可以原地只读;需要复制、规范化或索引时才写入 inputs/。.local/ 只保存工具缓存和不属于任何人物的临时文件。
先打开 character-report.md 阅读人物结论;也可以从同目录的 README.md 进入。人物包的常用入口是:
| 文件 | 用途 |
|---|---|
character-report.md |
给人看的完整人物报告;想知道“他是谁”就看这里 |
README.md |
人物包首页和文件导航 |
agent-guide.md |
告诉后续 Agent 如何选择快照、读取和回查数据 |
audit-report.md |
可选审计附件;需要核对证据、争议和结论来源时使用 |
schema-report.md 是 CLI 生成的数据视图,不是人类人物报告。
普通用户从 使用说明 开始:首次分析、补充材料、复核结论都可以直接用自然语言发起,不需要手动指定内部 Pipeline。新增材料默认增量更新;更换会话时从项目文件恢复,优先复用已有结果。
默认执行约定是 Host + 1–3 个粗粒度主执行 session + 两个顺序复核 session。Host 先按人物任务模板一次写完任务,再按作品或叙事边界启动长任务;不亲自读原文、逐条纠错或连续补 Prompt。内容复核 Agent 直接合并修正候选,终稿复核与发布 Agent 直接完成最终包。见编排约定与当前状态保存方式。当前仅有离线校验/报告工具,CLI 模型调用接入尚未提供;不要把该约定理解为已有一键执行引擎。
“冷静、果断”不足以解释一个人在新情境中会做什么。这里保留的是:他看到了什么、掌握哪些信息、如何权衡、采取什么行动,以及哪些原文支持或反驳这一解释。
- 用 项目定义 和 为什么做 理解范围。
- 从原创示例入口选择人类报告、Agent 指南或审计材料。
- 按 使用说明 提供当前材料、目标人物和任务;助手读取 SOP 选择执行范围。
- 用 数据模型 和 术语 区分观察、推断和模式。
- 有角色运行或模型比较需求时,再按 评估设计 做可选评估。
本机需要 Computer Use 执行器时,按 Computer Use 接入记录 和长任务派工模板调用;执行器软件不是 Character OS 核心。
Python 3.11+,从仓库根执行;安装依赖后全部离线,无需模型 API key。
python -m pip install -r requirements.txt
python scripts/character_os.py validate examples/original-character
python scripts/character_os.py report examples/original-character --output examples/original-character/schema-report.md
python scripts/character_os.py check-delivery examples/original-charactervalidate 检查 JSON Schema、原文哈希与逐字位置、引用类型、时间截断、Prompt 完整性和内部复核记录;check-delivery 检查人物包入口、README 链接和机器报告路径。它们不自动理解小说,不证明人格推断正确或文章好读。report 生成的 schema-report.md 是机器数据视图,不是人物深度报告。详细核对见 验收记录与交付检查清单。
要真正分析一部作品,需要一个能读本地文件、执行 Python、并支持多 session 编排的 Agent(Codex / Claude Code 或同类)。
网页版 ChatGPT / Gemini / DeepSeek / Kimi / 豆包做不到这些:读不到你的原文、跑不了 validate 去核对引用、也没法把结果落盘成人物包。更关键的是——它无法核对引文是否与原文逐字一致,而那正是本项目存在的理由。
判断标准:它需不需要执行命令或访问文件系统。 需要 → 必须有工具能力。
不过 docs/ 与 schemas/ 本身可以脱离工具阅读:方法论文档、五层契约设计、研究对照、ADR 决策依据,都直接看得懂。
| 参考工作 | 已解决的重要部分 | 本项目承接 |
|---|---|---|
| CharacterGPT | 逐章重建与人格更新 | 保存各阶段及不丢失的底层证据 |
| Character-LLM | 以经历塑造角色 | 区分原作经历与生成补全 |
| RoleLLM | 角色知识与说话风格 | 独立知识范围与对白依据 |
| CoSER | 场景、真实对白、动作/心理、经历关联 | 把心理推断从观察中拆出 |
| InCharacter / CharacterEval | 人格测量、多维人工评分 | 分维 rubric、人审和反例 |
| RolePlayBench | 匿名角色评估 | 匿名、留出及模型知识污染审计 |
| SillyTavern / Character Card | 运行时表达和交换 | 将导出格式与核心证据模型分开 |
本项目补的是面向普通创作者的统一协作契约,而非声称上述工作都没有证据或时间能力。深入对比、公开代码缺口和社区经验见 RESEARCH;从研究到设计的依据见 ADR。CharacterGPT 此次官方仓库只有 README;CoSER 某些心理为推断;社区格式建议并非普遍科学结论。
多数角色工作的产出是一段 prompt、一张卡、或一段对话——好不好,靠读起来像不像。
本项目的产出是一条可机器验证的证据链:
Source → Evidence → Experience / Behavior → Claim → Snapshot
每一层有独立的 JSON Schema。scripts/character_os.py validate 不只查结构,它真的会去核对原文:
| 校验项 | 拦住什么 |
|---|---|
| 源文件 SHA-256 比对 | 原文改过之后,模型仍声称有据 |
| 引用 span 越界 / 为空 | 指向不存在的位置 |
| quote 与原文 span 逐字一致 | 凭印象编的台词、记错的引文 |
| evidence 必须在所属 scene 内 | 张冠李戴的场景归属 |
| 含 incomplete scene 的模型不得交付 | 拿半截材料硬凑 |
| 支持证据与反证必须分开存放 | 只挑支持自己的例子 |
| high / strong 推断需要两个独立场景 | 单点归纳当结论 |
claim 不得引用「未来」证据,known_from 不得早于支持证据 |
模型知识污染——用训练数据里的后见之明冒充原作信息 |
| accepted claim 必须留审查记录 | 自产自销 |
| change log 必须覆盖前后 claim 集合 | 版本变更后无法审计改了什么 |
伪造引用、编台词、拿后见之明冒充原作设定——这些在普通角色工作里查不出来的问题,在这里是机械报错。
- 五层契约 + 15 个 Schema(
schemas/)。观察、推断、模式三者分开,不塞进同一个字段。 - 版本化 Prompt(
prompts/)。改 Prompt 要升 version、更新 registry hash、声明是否做了语义回归。 - 人机 SOP 与编排约定(SOP、ORCHESTRATION)。Host + 1–3 个粗粒度主执行 session + 两个顺序复核 session;Host 不亲自读原文,两个复核直接修改而不是逐条退回往返。
- 离线优先。
validate/report/check-delivery/check-public全部离线,不需要模型 API key。 - 公开边界可执行。COPYRIGHT 之外还有
check-public用允许清单机械检查哪些文件能公开——真实材料、人物包、.local/缓存一律不得进入公开候选。
这不是 another AI girlfriend project、character chatbot、SillyTavern frontend、prompt collection 或 Character Card generator。Prompt 是流程的一部分,Character Card 是未来的有损导出格式,内部核心是证据和模型。
本期实现:研究与方法文档、严格 Schema、版本化 Prompt、人机 SOP、原创端到端文件包、离线验证/报告、契约回归与 CI 配置。示例是 Agent 编制的教学 fixture,用于说明文件结构和工具行为。
刻意不实现:Web/聊天 UI、陪伴与长期 Memory Agent、语音/Avatar、微调、RAG 服务、数据库、SaaS、Marketplace、一键抽取和完整 Evaluation Engine。真实人物包可在私有 workspace/ 中执行,但不会进入公开分发。
docs/ 研究、定义、方法、Schema 说明、SOP、评估、ADR、版权与验收
schemas/ Source → Evidence → Experience/Behavior → Claim → Snapshot 契约
prompts/ extraction / reconstruction / synthesis / review / evaluation
research/ 来源链接与校验摘要、阶段记录、公开示例许可清单
examples/ 仅限原创、公版或明确许可的公开示例
src/ 离线验证与报告逻辑
scripts/ character_os.py 命令入口
tests/ 原创例正向检查与坏引用/未来泄漏等负向回归
.local/ 工具缓存与非人物临时文件(不分发、不进 Git)
workspace/ 真实输入、中间产物及人物包(不分发、不进 Git)
完整流程见 PIPELINE,人物包入口见交付检查清单,Prompt 契约见 PROMPTS,研究引用见 REFERENCES,本次交付见 DELIVERY。公开内容遵守 COPYRIGHT,贡献流程见 CONTRIBUTING。仓库自有内容使用 MIT,不授予第三方原作/IP 权利。
下一步:将合法持有的材料路径和目标人物告诉助手。完成后直接打开 workspace/<人物标识>/character-os/character-report.md;只有你明确要求进一步复核或模型评估时,才增加对应流程。
