# dsh-tavern 详细教程

## 目录
- [基础使用](#基础使用)
- [世界书配置](#世界书配置)
- [多预设管理](#多预设管理)
- [记忆与总结](#记忆与总结)
- [角色关系网](#角色关系网)
- [剧情选项](#剧情选项)
- [成人模式 / NSFW](#成人模式--nsfw)
- [配置文件说明](#配置文件说明)

---

## 基础使用

### 导入角色卡
1. 打开 DSH 设置 → 酒馆管理
2. 把 SillyTavern 格式的角色卡（PNG 或 JSON）拖入「角色卡」区域
3. 角色卡信息会自动解析并显示
4. 点「💾 保存并注入」

### 导入世界书
1. 把世界书 JSON 拖入「世界书」区域
2. 世界书会按条目分组显示
3. 支持关键词触发模式（省上下文）

### 导入预设词条
1. 把预设 JSON 拖入「预设」区域
2. 预设词条会自动分类显示
3. 可单独开启/关闭某个词条

---

## 世界书配置

### 注入模式
- **全文注入**：所有世界书条目每次都注入（占用上下文多）
- **关键词触发**：无关键词的全局条目常驻，有关键词的条目仅当对话命中时注入（推荐，省 60% 上下文）

### 条目类型
- **全局条目**：无关键词，每次都注入（适合世界观、规则）
- **角色条目**：有关键词，命中时才注入（适合角色设定）
- **场景条目**：有关键词，命中场景时注入

### 折叠显示
- 每本世界书可单独折叠/展开
- 每个条目可展开查看详情
- 条目名称和关键词正确显示

---

## 多预设管理

### 创建预设
1. 顶部下拉框选择「＋ 新建预设」
2. 输入预设名称（如「我的 RP 预设」）
3. 新预设会复制当前预设的内容

### 会话绑定
- 每个会话可以绑定不同的预设
- 切换对话时自动加载对应预设
- 预设名称会同步显示在聊天顶部

### 白名单模式
- 默认所有会话都注入预设
- 可切换为白名单模式：只有加入白名单的会话才注入
- 在「生效范围」里设置

### 批量删除
- 点「🗑️ 批量删除」进入批量模式
- 勾选要删除的预设，支持全选
- 内置预设不可删除

---

## 记忆与总结

### 手动总结
1. 设置总结楼数（如 20 楼）
2. 点「立即总结」
3. AI 会读取最近 N 楼对话，生成摘要写入记忆
4. 记忆内容会注入系统提示，AI 能看到之前的剧情

### 自动总结
- 开启自动总结后，每 N 楼自动总结一次
- 总结内容追加到记忆中
- 不会覆盖之前的记忆

### 会话级记忆
- 每个对话独立保存记忆
- 新对话不会继承旧对话的记忆
- 可随时清除当前对话的记忆

---

## 角色关系网

### 自动生成
- 总结对话时自动提取角色关系
- 生成可视化关系图谱
- 中心节点布局，清晰易懂

### 手动编辑
- 可手动添加/修改角色关系
- 关系网按预设隔离，切换预设自动加载

---

## 剧情选项

### 开启方式
- 在酒馆管理面板勾选「剧情选项」
- AI 每次回复会输出 3 个剧情选项
- 选项渲染为可点击按钮

### 使用方式
- 点击选项自动填入输入框并发送
- 也可以在自定义输入框手动输入行动
- 独立开关，不依赖成人模式

---

## 成人模式 / NSFW

### 正确配置方式
写 NSFW 需要**三者搭配**：

1. **预设词条**：在酒馆管理「预设」区块导入/选用带成人词条的预设模块
2. **成人模式开关**：勾选「🔥 成人模式（强硬注入）」
3. **保存并注入**：点「💾 保存并注入」

> ⚠️ 只开开关不配预设，破限不全；只改预设没保存注入，不生效。

### 原理
- 成人模式会在系统提示最前面注入强破限指令
- 预设词条提供具体的写作风格和内容引导
- 两者结合才能有效突破内容限制

---

## 配置文件说明

### 预设根目录
```
~/.dsh/.agent-presets/
├── session-bindings.json    # 会话绑定关系
├── tavern-state.json        # 全局状态
├── <预设目录>/               # 每个预设一个目录
│   ├── agent.cordis.yml     # 角色卡（合并后）
│   ├── preset.yml           # 预设元数据
│   ├── characters.json      # 角色卡列表
│   ├── worldbooks.json      # 世界书
│   ├── presets.json         # 预设词条
│   ├── memory.md            # 预设级记忆
│   └── relations.json       # 关系网
└── sessions/                 # 会话级数据
    └── <sessionId>/
        ├── memory.md        # 会话级记忆
        └── relations.json   # 会话级关系网
```

### 预设类型
- 🍺 **酒馆预设** — 本插件创建的预设，含角色卡/世界书等完整数据
- 🔒 **内置预设** — DSH 自带预设，不可删除
- 📝 **自定义预设** — 用户手动创建的普通预设
