agentCLAWHUBUnverified

Zaomeng Skill

用于中文小说人物蒸馏、关系抽取、关系图谱导出与角色对话准备;当宿主需要基于小说内容生成结构化人物档案、关系结果或多角色对话上下文时使用。

OpenClaw

Rank

62

Safety

84

Downloads

1.3k

Updated

Oct 10, 2026

Version

4.1.8

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.3K downloadsadoption · observed Oct 10, 2026
Latest release
4.1.8release · observed May 17, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s1769aak6jyk1j2cjcezwe53p183jvez:zaomeng-skill
  1. Install using `clawhub skill install s1769aak6jyk1j2cjcezwe53p183jvez:zaomeng-skill` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/wkbin/zaomeng-skill before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-wkbin-zaomeng-skill/snapshot"

Documentation

CLAWHUB

160,000 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: zaomeng-skill
description: 用于中文小说人物蒸馏、关系抽取、关系图谱导出与角色对话准备;当宿主需要基于小说内容生成结构化人物档案、关系结果或多角色对话上下文时使用。
license: MIT-0
compatibility: 需要宿主支持 Markdown skill 目录、YAML frontmatter,以及本 skill 内置 Python helper
  scripts 所需的本地 Python 运行环境。
metadata:
  version: 4.1.8
  hostMode: llm-first
  releaseTag: v2026.05.11
---

# zaomeng-skill

| 项目 | 内容 |
| --- | --- |
| 名称 | `zaomeng-skill` |
| 类型 | ClawHub / Host-managed skill |
| 核心模式 | LLM-first |
| 适用场景 | 人物蒸馏、人物包物化、关系图谱导出、角色 `act` / `insert` / `observe` |
| 宿主职责 | 调用宿主 LLM,负责最终生成与对话推进 |
| skill 职责 | 准备 prompt payload、物化人物包、导出图谱、校验产物、维护运行状态,并提供角色卡/人物补全/对话建议 helper |

## 1. 定位

- 这是一个宿主驱动的 prompt-first skill。
- 宿主负责实际调用 LLM;skill 负责把任务整理成标准输入、标准产物和标准状态。
- skill 的主路径是 `prompts + helper tools + run_manifest.json`,不是内嵌 chat CLI。
- 对话阶段除了宿主直读人物包,也可以调用 skill helper 来生成角色卡、人物字段补全 payload、以及 `act` / `insert` / `observe` 的自动回复建议 payload。

## 2. 宿主能力契约

宿主侧只需要理解四个标准能力,以及四组对话 helper:

| 能力 | 入口 | 作用 | 标准成功标记 |
| --- | --- | --- | --- |
| `distill` | `tools/build_prompt_payload.py --mode distill` | 生成蒸馏 payload,等待宿主 LLM 产出 `PROFILE.generated.md` | capability status `status=ready, success=true` |
| `materialize` | `tools/materialize_persona_bundle.py` | 把 `PROFILE.generated.md` 物化为完整人物包 | `ARTIFACT_STATUS.generated.json` + capability status |
| `export_graph` | `tools/export_relation_graph.py` | 导出人物关系图谱 HTML / Mermaid / SVG | `<relations>.status.json` + capability status |
| `verify_workflow` | `tools/verify_host_workflow.py` | 校验整条宿主工作流产物是否完整 | capability status `status=complete, success=true` |

对话 helper:

| helper | 入口 | 作用 |
| --- | --- | --- |
| `self_card` | `tools/manage_self_card.py` | 创建 / 保存 / 读取 / 删除 self-insert 角色卡,并生成随机角色卡 prompt payload |
| `persona_autofill` | `tools/build_persona_autofill_payload.py` | 为人物校对单字段生成宿主可调用的补全 payload,并解析模型返回 |
| `dialogue_suggestion` | `tools/build_dialogue_suggestion_payload.py` | 为 `act` / `insert` / `observe` 生成自动回复建议 payload,并提供压缩重试版本 |
| `scene_recommendation` | `tools/build_scene_recommendation_payload.py` | 为当前会话生成下一幕场景推荐、转场提示、多拍链路建议,以及可直接用于自动起拍的 opening cue |

所有能力都应该满足:

- 有明确输入
- 有 JSON 输出
- 有 sidecar status 文件
- 有 `success` 布尔值
- 可选更新 `run_manifest.json`

能力总览集中定义在:

- `references/capability_index.md`
- `examples/host_workflow_example.md`

`distill` 默认支持增量蒸馏:

- 如果 `data/characters/<novel_id>/<角色名>/` 已存在人物包,`tools/build_prompt_payload.py --mode distill` 会自动把已有档案并入 `request.existing_profiles`
- `request.update_mode` 会自动落成 `incremental`
- `run_manifest.json` 的 `artifacts.distill_context` 会记录本次是 `create` 还是 `incremental`,以及命中的已有角色数量

`distill` 与 `relation` 现在也默认支持长篇自动分批:

- 小文本保持单次 payload,不改变既有调用方式
- 当 excerpt 过长时,payload 会额外给出 `chunks[]`
- 宿主按 `chunks[]` 顺序调用 LLM,收集每块局部草稿
- 然后再按 `merge_payload` 做一次合并,得到最终 `PROFILE.generated.md` 或 `RELATION_GRAPH`
- `request.chunk_mode`、`meta.chunk_count`、`meta.merge_required` 会明确告诉宿主当前是否处于分批模式

## 3. 标准运行状态

宿主如果要跑完整蒸馏链路,先初始化一个 `run_manifest.json`:

README.md

# zaomeng-skill

`zaomeng-skill` 是一个面向中文小说人物蒸馏、关系抽取、关系图谱和角色对话的 skill。

它的工作方式很直接:

- 读取小说内容
- 准备 excerpt、prompt 和 references
- 交给宿主 LLM 生成蒸馏结果、关系结果和角色回复
- 将 canonical profile 继续物化为完整人物包

这个 skill 默认运行在宿主环境中,宿主负责实际调用模型;包内 Python helper 依赖写在 `requirements.txt`。

## 概览

| 项目 | 内容 |
| --- | --- |
| 名称 | `zaomeng-skill` |
| 模式 | LLM-first |
| 适用宿主 | OpenClaw、ClawHub、Hermes、其他 host-managed agent |
| 核心能力 | 人物蒸馏、关系抽取、关系图谱、宿主驱动角色对话 |
| 许可证 | `MIT-0` |

## 它能做什么

### 1. 蒸馏人物

从小说原文中提取人物档案,并尽量覆盖完整的人设层次,例如:

- 核心身份
- 核心动机
- 性格基底
- 行为逻辑
- 人物弧光
- 关键羁绊
- 语言表达特质
- 价值取舍体系
- 深层执念与隐秘欲望
- 私下真实面貌

### 2. 抽取关系

从同框互动中提取两两关系,并输出人物关系图谱,包括:

- 关系结果 markdown
- Mermaid 源码
- HTML 可视化图谱
- SVG 图谱

### 3. 进入角色聊天

支持三种玩法:

- `act`
  你扮演一个角色说话,可以是一对一,也可以直接加入多人群聊
- `insert`
  你以“你自己”的身份进入小说场景,不扮演书中角色,而是直接和他们互动
- `observe`
  让多个角色围绕一个场景、话题或开场白进行互动

这些对话由宿主直接驱动。`zaomeng-skill` 提供人物包、关系图谱、prompt 约束和运行状态,不再把内嵌 `chat CLI` 当作主路径能力。

### 4. 保存纠错

如果某句明显 OOC,可以把纠错写回记忆,后续对话继续沿用。

## 工作流

### 标准流程

1. 提供小说文件或正文
2. 生成按角色聚焦的 excerpt
3. 生成 distill 或 relation prompt payload
4. 交给宿主 LLM 完成生成
5. 若宿主落盘了 `PROFILE.generated.md`,继续物化完整人物包
6. 导出关系图谱
7. 再进入 `act`、`insert` 或 `observe`

多角色蒸馏时,不应只截取小说开头。应传入 `--characters`,让 excerpt 围绕目标角色的实际出场窗口抽取,尤其适用于角色分散出现在不同章节的长篇文本。

### 增量蒸馏

如果同一本小说下已经存在角色人物包,这个 skill 会在构建 distill payload 时自动复用已有档案,把本次蒸馏视为增量更新:

- 自动检测 `data/characters/<novel_id>/<角色名>/`
- 把已有 `PROFILE`、拆分人格文件和 `MEMORY` 合并到 `request.existing_profiles`
- 将 `request.update_mode` 标记为 `incremental`
- 把增量上下文写入 `run_manifest.json -> artifacts.distill_context`

此外,distill payload 现在会额外给出 `request.excerpt_focus`,包含:

- `requested_characters`
- `matched_characters`
- `missing_characters`
- `strategy`

宿主可以据此判断:这次 excerpt 是否真的覆盖了请求角色,是否有角色根本没在文本里命中。

### 长篇自动分批

当 excerpt 过长时,这个 skill 不再只给宿主一个“大而全”的单次 payload,而是会自动切换为分批模式:

- `request.chunk_mode = chunked`
- `meta.chunk_count` 标明总块数
- `meta.merge_required = true`
- `chunks[]` 给出每一块可直接调用宿主 LLM 的局部 payload
- `merge_payload` 给出最终合并局部草稿的模板 payload

也就是说,宿主拿到结果后可以这样跑:

1. 先判断是不是 `chunked`
2. 如果是,就按 `chunks[]` 顺序逐块生成局部草稿
3. 把每块草稿塞回 `merge_payload.request.chunk_drafts`
4. 再执行一次 merge,得到最终 `PROFILE.generated.md` 或最终 `RELATION_GRAPH`

短文本仍然保持旧的单次流程,不会被额外复杂化。

### Distill Post-Process

宿主 LLM 写出 `PROFILE.generated.md` 后,不要停在单文件状态。  
应立即执行 `tools/materialize_persona_bundle.py`,把 canonical profile 物化成完整人物包,补齐:

- `SOUL.generated.md`
- `GOALS.generated.md`
- `STYLE.generated.md`
- `TRAUMA.generated.md`
- `IDENTITY.generated.md`
- `BACKGROUND.generated.md`
- `CAPABILITY.generated.md`
- `BONDS.generated.md`
- `CONFLICTS.generated.md`
- `ROLE.generated.md`
- `AGENTS.generated.md`
- `MEMORY.generated.md`
- `NAVIGATION.generated.md`

### 对话接管

蒸馏和图谱完成后,宿主直接进入对话阶段即可。推荐宿主读取:

- 人物目录下的 `PROFILE.md`
- 拆分人格文件,如 `SOUL.md`、`GOALS.md`、`STYLE.md`
- `MEMORY.md`
- 关系结果 markdown
- 关系图 HTML / SVG
- `run_manifest.json`

宿主进入对话后,按模式解释即可:

- `

_meta.json

{
  "ownerId": "kn7fgefcp561ypgde2wm8xgfeh82mtx9",
  "slug": "zaomeng-skill",
  "version": "4.1.8",
  "publishedAt": 1778996599296
}

references/capability_index.md

# Capability Index

## Purpose

This document is the host-side index for the standard `zaomeng` capabilities.

Use it as the first stop when the host needs to answer:

- which helper should I call
- what files should I expect
- how do I know whether this capability succeeded

## Capability List

| Capability | Entry | Primary Output | Success Marker |
| --- | --- | --- | --- |
| `distill` | `tools/build_prompt_payload.py --mode distill` | distill payload JSON | capability status with `status=ready` and `success=true` |
| `materialize` | `tools/materialize_persona_bundle.py` | persona bundle files | `ARTIFACT_STATUS.generated.json` plus capability status |
| `export_graph` | `tools/export_relation_graph.py` | relationship graph HTML / SVG / Mermaid | graph `.status.json` plus capability status |
| `verify_workflow` | `tools/verify_host_workflow.py` | workflow verification JSON | capability status with `status=complete` and `success=true` |

## 1. Distill

Entry:

```bash
python tools/build_prompt_payload.py --mode distill --novel <path> --characters A,B --output <distill_payload.json> --run-manifest <run_manifest.json>
```

Standard outputs:

- distill payload JSON
- optional capability status JSON
- optional `run_manifest.json` updates

Payload contract:

- `request.chunk_mode = single|chunked`
- `chunks[]` for partial distill execution when the excerpt is too large
- `merge_payload` for final profile merge
- `host_plan.execution = single_pass|sequential_chunks_then_merge`
- `meta.chunk_count`
- `meta.merge_required`

Host responsibility after this step:

- if `single`, hand the payload to the host LLM and write `PROFILE.generated.md`
- if `chunked`, iterate `chunks[]`, collect partial drafts, fill `merge_payload.request.chunk_drafts`, then execute the merge payload and write the final `PROFILE.generated.md`

Recommended manifest fields to read:

- `artifacts.chunking.distill`
- `progress.chunking.distill`
- `summary.chunking.distill`

Reference:

- `references/output_schema.md`

## 2. Materialize

Entry:

```bash
python tools/materialize_persona_bundle.py --profile-file <character-dir/PROFILE.generated.md> --run-manifest <run_manifest.json>
```

Standard outputs:

- split persona markdown files
- `ARTIFACT_STATUS.generated.json`
- optional capability status JSON

Reference:

- `references/output_schema.md`

## 3. Export Graph

Entry:

```bash
python tools/export_relation_graph.py --relations-file <relations.md> --run-manifest <run_manifest.json>
```

Standard outputs:

- `*_relations.html`
- `*_relations.svg`
- `*_relations.mermaid.md`
- graph `.status.json`

If relation extraction is chunked on the host side, the same contract applies:

- `request.chunk_mode = single|chunked`
- `chunks[]`
- `merge_payload`
- `meta.chunk_count`
- `meta.merge_required`

Recommended manifest fields to read:

- `artifacts.chunking.relation`
- `progress.chunking.re

references/chat_contract.md

# Dialogue Handoff Contract

## Purpose

This document defines how the host should enter `act`, `insert`, and `observe` after the structured workflow completes.

The goal is simple:

- the skill prepares persona bundles and relationship artifacts
- the host uses those artifacts directly to run dialogue
- the packaged skill does not require a separate `chat CLI` entrypoint

## Supported Modes

- `act`
  the user speaks as one existing character
- `insert`
  the user enters the scene as themselves
- `observe`
  the user stays outside the scene and watches the cast continue

## Required Inputs

Before the host starts dialogue, it should already have:

- the novel id or novel path for the current run
- the requested cast
- one persona bundle directory per distilled character
- relationship markdown or graph artifacts when available
- `run_manifest.json` from the current run

Minimum persona inputs per active character:

- `PROFILE.md`
- `MEMORY.md`

Recommended additional persona inputs when present:

- `SOUL.md`
- `GOALS.md`
- `STYLE.md`
- `TRAUMA.md`
- `IDENTITY.md`
- `BACKGROUND.md`
- `CAPABILITY.md`
- `BONDS.md`
- `CONFLICTS.md`
- `ROLE.md`

## Host Responsibilities

### 1. Mode Selection

The host decides whether the request is:

- `act`
- `insert`
- `observe`

### 2. Active Cast Selection

The host determines which characters are active for the current turn or scene.

Recommended inputs:

- explicitly requested characters
- relation graph context
- current scene focus

### 3. Self-Insert Card

For `insert`, the host should create or refresh a lightweight self-insert card, for example:

- user display name
- current in-scene identity
- how they entered the scene
- what the cast should currently know about them

If the host wants packaged helpers instead of hand-writing this layer, use:

- `tools/manage_self_card.py --mode blank`
- `tools/manage_self_card.py --mode save`
- `tools/manage_self_card.py --mode build-random-payload`
- `tools/manage_self_card.py --mode parse-random-response`

This lets the host support both manual role-card editing and AI-random role-card generation through the packaged skill helpers.

### 4. Dialogue Rendering

The host performs the actual generation. It should use the persona bundle and constraints to keep the output:

- in character
- mode-consistent
- relation-aware
- scene-aware

If the host wants a packaged one-line reply suggestion flow, call:

- `tools/build_dialogue_suggestion_payload.py --context-file <context.json>`

The tool returns:

- full messages
- retry messages
- compact fallback payload/messages

For persona review autofill, call:

- `tools/build_persona_autofill_payload.py --persona-dir <角色目录> --field <字段名> --strategy auto`

The tool returns:

- model-knowledge-first step
- retry messages
- parser contract for model output

If the host wants the skill to help decide what the next beat 
Github ReposUpdated 1d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/wkbin/skills/zaomeng-skill",
      "sourceUrl": "https://clawhub.ai/wkbin/skills/zaomeng-skill",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T17:21:47.095Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-wkbin-zaomeng-skill/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-wkbin-zaomeng-skill/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T17:21:47.095Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.3K downloads",
      "href": "https://clawhub.ai/wkbin/zaomeng-skill",
      "sourceUrl": "https://clawhub.ai/wkbin/zaomeng-skill",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T17:21:47.095Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "4.1.8",
      "href": "https://clawhub.ai/wkbin/zaomeng-skill",
      "sourceUrl": "https://clawhub.ai/wkbin/zaomeng-skill",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-17T05:43:19.296Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-wkbin-zaomeng-skill/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-wkbin-zaomeng-skill/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 4.1.8",
      "description": "zaomeng-skill v4.1.8 - 新增多组对话辅助脚本,包括角色卡管理、人物字段补全、对话建议生成、场景推荐生成(tools/manage_self_card.py、tools/build_persona_autofill_payload.py、tools/build_dialogue_suggestion_payload.py、tools/build_scene_recommendation_payload.py) - 补充 examples/scene_recommendation_context.example.json 示例,详解场景推荐 context 输入格式 - SKILL.md 增补对话流程 helper 能力及调用方式,并详列各 helper 工具输入输出说明 - 明确支持宿主在角色扮演/观测阶段对各辅助能力的直接调用方式 - License、兼容性等元信息完善",
      "href": "https://clawhub.ai/wkbin/zaomeng-skill",
      "sourceUrl": "https://clawhub.ai/wkbin/zaomeng-skill",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-05-17T05:43:19.296Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to Zaomeng Skill and adjacent AI workflows.