SAkizuki commited on
Commit
2dab0ab
·
verified ·
1 Parent(s): 92f8acf

Auto-sync from GitHub Actions

Browse files
Files changed (2) hide show
  1. README.md +99 -44
  2. mcp_server.py +80 -26
README.md CHANGED
@@ -49,7 +49,9 @@ thumbnail: >-
49
  * 表格内置 Danbooru 维基释义悬浮提示,并提供前往原站的快捷链接。
50
 
51
 
52
- ## 功能概览
 
 
53
 
54
  本工具提供以下核心功能:
55
 
@@ -60,11 +62,11 @@ thumbnail: >-
60
  - [关联推荐](#5-关联推荐共现匹配)
61
  - [推荐擅长画师](#6-推荐擅长画师)
62
 
63
- 前四项基于**语义向量匹配**,后两项基于**标签-画师共现数据**
64
 
65
  ---
66
 
67
- ## 参数说明
68
 
69
  在进入功能介绍之前,先了解几个关键参数,它们会影响所有搜索模式的结果质量。
70
 
@@ -92,7 +94,9 @@ thumbnail: >-
92
 
93
  ---
94
 
95
- ## 1. 精确查词
 
 
96
 
97
  **适用场景:** 你知道某个标签的大概写法,但不确定拼写是否准确,或者只记得部分写法。
98
 
@@ -102,7 +106,7 @@ thumbnail: >-
102
 
103
  > 关闭智能分词,确保整个输入作为一个整体进行语义匹配,不会被拆散。
104
 
105
- ### 示例
106
 
107
  | 你的输入 | 实际标准标签 | 说明 |
108
  |---|---|---|
@@ -114,13 +118,13 @@ thumbnail: >-
114
 
115
  ---
116
 
117
- ## 2. 概念模糊发散
118
 
119
  **适用场景:** 你脑中有一个模糊的概念或风格意象,但不知道在 Danbooru 里对应哪些标签,希望系统帮你"发散"出相关的候选标签。
120
 
121
  **建议参数:** Top K: 80~160 | 结果上限: 80 | 热度权重: 0.15 | **开启智能分词**
122
 
123
- ### 示例
124
 
125
  **示例 1:「兔耳朵」**
126
 
@@ -154,7 +158,7 @@ thumbnail: >-
154
 
155
  ---
156
 
157
- ## 3. 输入描述查词
158
 
159
  **适用场景:** 你能描述某个具体的事物、角色、场景,但不知道 Danbooru 的对应标签。可以使用中文或英文自然语言描述,也可以通过 IP 名称、角色外号来查找角色标签。
160
 
@@ -162,7 +166,7 @@ thumbnail: >-
162
 
163
  > 关闭智能分词,使系统对你的整段描述做整体语义匹配,而不是拆词。
164
 
165
- ### 示例
166
 
167
  **示例 1:用描述定位角色**
168
 
@@ -186,7 +190,7 @@ thumbnail: >-
186
 
187
  ---
188
 
189
- ## 4. 完整画面查找
190
 
191
  **适用场景:** 你脑中已经有了一幅完整的画面,希望一次性把整段描述转换成尽可能多的 Danbooru 标签,用于 AI 绘画的完整 Prompt。
192
 
@@ -194,7 +198,7 @@ thumbnail: >-
194
 
195
  > 开启智能分词:系统会自动拆分你的长句,提取其中的关键概念分别检索,再合并去重,覆盖尽可能多的画面元素。
196
 
197
- ### 示例
198
 
199
  **示例 1:雨中奔跑的少女**
200
 
@@ -235,7 +239,7 @@ thumbnail: >-
235
 
236
  ---
237
 
238
- ## 5. 关联推荐(共现匹配)
239
 
240
  关联推荐与前四项功能机制不同,它不依赖语义相似度,而是基于 **Danbooru 图库中标签的共现统计**:如果两个标签经常出现在同一张图上,就认为它们相关。
241
 
@@ -243,7 +247,7 @@ thumbnail: >-
243
 
244
  关联推荐的得分是基于 NPMI(互信息归一化)计算的,能有效过滤掉那些只是因为自身热度高而频繁出现的标签。
245
 
246
- ### 适用场景
247
 
248
  **场景 1:查看某种服饰/道具的常见搭配**
249
 
@@ -279,7 +283,7 @@ thumbnail: >-
279
 
280
  ---
281
 
282
- ## 6. 推荐擅长画师
283
 
284
  推荐擅长画师与关联推荐类似,基于 **标签-画师 NPMI 共现数据**,但目标是推荐擅长绘制已选标签所描述元素的画师。
285
 
@@ -287,7 +291,7 @@ thumbnail: >-
287
 
288
  **评分逻辑:** 对每个已选标签,计算该标签与画师的 NPMI 共现分,累加后乘以命中标签数加成,最终归一化显示为百分比。
289
 
290
- ### 适用场景
291
 
292
  **场景 1:根据风格标签找画师**
293
 
@@ -303,7 +307,7 @@ thumbnail: >-
303
 
304
  ---
305
 
306
- ## 使用技巧
307
 
308
  **技巧 1:先宽后窄**
309
  先用完整画面查找拿到大量候选标签,再用分词筛选 chip 或手动去掉不相关的,然后勾选剩余标签触发关联推荐,补充遗漏细节。
@@ -330,7 +334,9 @@ thumbnail: >-
330
 
331
  ---
332
 
333
- ## API 接口
 
 
334
 
335
  本工具同时提供 REST API,可集成到你自己的工作流中。
336
 
@@ -341,37 +347,61 @@ thumbnail: >-
341
  POST /api/search
342
  {
343
  "query": "白色水手服的女孩",
344
- "top_k": 20,
345
- "limit": 20,
346
- "show_nsfw": false
 
347
  }
348
  ```
349
 
 
 
 
 
 
 
 
 
 
 
 
350
  **关联推荐接口**
351
  ```
352
  POST /api/related
353
  {
354
  "tags": ["white_serafuku", "sailor_collar"],
355
- "limit": 20,
356
- "show_nsfw": false
 
357
  }
358
  ```
359
 
 
 
360
  **推荐擅长画师接口**
361
  ```
362
  POST /api/artists
363
  {
364
  "tags": ["1girl", "blue_hair", "school_uniform"],
365
  "limit": 30,
366
- "min_cooc": 3
 
367
  }
368
  ```
369
 
 
 
 
 
 
 
 
 
370
  详见:[API 文档](https://sakizuki-danboorusearch.hf.space/api/docs)
371
 
372
  ---
373
 
374
- ## MCP 接口
375
 
376
  本工具提供 MCP(Model Context Protocol)服务,支持将搜索引擎直接接入 Claude Desktop、Cursor、Cherry Studio 等支持 MCP 协议的大模型客户端,让 AI 能够在对话中直接调用标签搜索能力。
377
 
@@ -387,7 +417,7 @@ https://sakizuki-danboorusearchonline.ms.show/mcp/mcp
387
 
388
  以上两个端口提供完全相同的服务,互为备份
389
 
390
- ### 接入方法
391
 
392
  **方法一:Claude Desktop**
393
 
@@ -417,7 +447,7 @@ npm install -g mcp-remote
417
  }
418
  ```
419
 
420
- 保存后重启 Claude Desktop,工具列表中出现 `search_tags`、`get_related_tags` 和 `get_artist_recommendations` 即为成功。
421
 
422
  > 注意:不要使用 `"url"` 字段直接填写地址,Claude Desktop 不支持该格式,会提示配置无效。也不推荐通过 `npx mcp-remote` 调用,首次执行时 `npx` 需要临时下载包,npm 缓存损坏时会导致启动失败。全局安装可规避此问题。
423
 
@@ -433,7 +463,7 @@ npm install -g mcp-remote
433
 
434
  添加完成后重启客户端,或在 MCP 管理界面手动刷新连接。
435
 
436
- ### 可用工具
437
 
438
  接入后 AI 可调用以下工具:
439
 
@@ -444,17 +474,33 @@ npm install -g mcp-remote
444
  | 参数 | 默认值 | 说明 |
445
  |---|---|---|
446
  | `query` | — | 自然语言描述(必填,推荐中文)。支持空格/逗号/顿号显式分隔概念 |
447
- | `use_segmentation` | `true` | 智能分词开关,完整画面描述时开启,精确查词时关闭 |
448
- | `top_k` | `5` | 每个分词的语义召回数量,发散探索时调高至 80~160 |
449
- | `limit` | `80` | 返回标签总数上限 |
450
- | `popularity_weight` | `0.15` | 热度权重,控制高频标签的排名影响 |
451
- | `show_nsfw` | `true` | 是否包含 NSFW 标签 |
452
  | `category` | `"all"` | 标签类别筛选:`"all"` 全部、`"general"` 通用、`"character"` 角色、`"copyright"` 作品 |
 
 
 
 
 
 
 
 
 
 
 
453
 
454
  **`get_related_tags`** — 共现关联推荐
455
 
456
  给定一组已选标签,返回在 Danbooru 图库中与之最常共现的相关标签,基于 NPMI 评分,可有效过滤掉仅因自身热度高而频繁出现的标签。
457
 
 
 
 
 
 
 
 
 
 
458
  **`get_artist_recommendations`** — 推荐擅长画师
459
 
460
  给定一组标签,返回擅长绘制这些元素的画师列表,基于标签-画师 NPMI 共现数据排序。
@@ -468,7 +514,15 @@ npm install -g mcp-remote
468
 
469
  返回字段:`artist`(画师名)、`cooc_count`(共现次数)、`post_count`(作品数)、`sources`(命中标签)、`top_tags`(该画师最常画的 10 个标签,含中文名)
470
 
471
- ### 调用
 
 
 
 
 
 
 
 
472
 
473
  接入后,你可以直接用自然语言告诉 AI 你的需求,AI 会自动选择合适的参数调用工具:
474
 
@@ -486,21 +540,22 @@ npm install -g mcp-remote
486
 
487
  > 找「反乌托邦、赛博朋克、蒸汽朋克」的 General 类标签,只查通用特征不查作品名
488
 
489
- ### 查询写作技巧(写给 LLM)
490
-
491
- 为了让搜索更精准,在构造 `query` 时请注意以下几点:
492
 
493
- 1. **概念列表用显式分隔符:** 需要批量查询多个独立概念时,用空格、中文逗号(,)或顿号(、)分隔。每个 ≤7 片段会作为完整概念匹配,不会被错误拆开。例如 `运动社团 校队 比赛` 而非 `运动社团校队比赛`。
494
 
495
- 2. **画面描述写自然语句:** 完整场景描述不需要显式分隔,系统会自动分词。例如 `一个穿着白色水手蓝色短裙的少女在雨中奔跑`。
496
 
497
- 3. **查角色/作品时关闭分词:** 精确查找某个角色名或作品名时, `use_segmentation=false` `category="character"`(或 `"copyright"`)避免名字中的词汇被单独匹配到无关标签
498
 
499
- 4. **长短语会自动保持完整语义:** 即使显式分隔符切出片段超过 7 字,系统也会对其动分词并同时保留原始片段作为额外查询(从句级语义),不会丢失整体语境
500
 
501
- ### 注意事项
502
 
503
- HF Space 在无流量时会进入休眠状态,首次请求需要等待冷启动(约 30~60 秒)。若 AI 调用超时,稍等片刻后重试即可,或先访问 [Space 页面](https://huggingface.co/spaces/SAkizuki/DanbooruSearch) 将其唤醒。
 
 
 
504
 
505
  ---
506
 
@@ -516,7 +571,7 @@ HF Space 在无流量时会进入休眠状态,首次请求需要等待冷启
516
 
517
  ---
518
 
519
- ## 注意事项
520
 
521
  - 本工具为 AI 辅助工具,检索结果未必 100% 准确
522
  - 查找结果可能包含 NSFW 内容(默认隐藏)
@@ -527,7 +582,7 @@ HF Space 在无流量时会进入休眠状态,首次请求需要等待冷启
527
 
528
  DanbooruSearch 会继续免费开放。如果这个小工具刚好帮你省了点时间,可以自愿赞赏一点维护成本;赞赏不解锁任何功能、不提高额度、不影响搜索结果,也不会获得特殊待遇。量力而行就好,未成年人请勿赞赏。
529
 
530
- 微信赞赏码:<https://akizukipic.oss-cn-beijing.aliyuncs.com/img/202501120027592.png>
531
 
532
 
533
  ## 搜索统计
 
49
  * 表格内置 Danbooru 维基释义悬浮提示,并提供前往原站的快捷链接。
50
 
51
 
52
+ ## 快速了解
53
+
54
+ ### 功能概览
55
 
56
  本工具提供以下核心功能:
57
 
 
62
  - [关联推荐](#5-关联推荐共现匹配)
63
  - [推荐擅长画师](#6-推荐擅长画师)
64
 
65
+ 前四项基于**语义向量匹配**,后两项基于**共现数据**(标签-标签共现与标签-画师共现
66
 
67
  ---
68
 
69
+ ### 参数说明
70
 
71
  在进入功能介绍之前,先了解几个关键参数,它们会影响所有搜索模式的结果质量。
72
 
 
94
 
95
  ---
96
 
97
+ ## 功能介绍
98
+
99
+ ### 1. 精确查词
100
 
101
  **适用场景:** 你知道某个标签的大概写法,但不确定拼写是否准确,或者只记得部分写法。
102
 
 
106
 
107
  > 关闭智能分词,确保整个输入作为一个整体进行语义匹配,不会被拆散。
108
 
109
+ #### 示例
110
 
111
  | 你的输入 | 实际标准标签 | 说明 |
112
  |---|---|---|
 
118
 
119
  ---
120
 
121
+ ### 2. 概念模糊发散
122
 
123
  **适用场景:** 你脑中有一个模糊的概念或风格意象,但不知道在 Danbooru 里对应哪些标签,希望系统帮你"发散"出相关的候选标签。
124
 
125
  **建议参数:** Top K: 80~160 | 结果上限: 80 | 热度权重: 0.15 | **开启智能分词**
126
 
127
+ #### 示例
128
 
129
  **示例 1:「兔耳朵」**
130
 
 
158
 
159
  ---
160
 
161
+ ### 3. 输入描述查词
162
 
163
  **适用场景:** 你能描述某个具体的事物、角色、场景,但不知道 Danbooru 的对应标签。可以使用中文或英文自然语言描述,也可以通过 IP 名称、角色外号来查找角色标签。
164
 
 
166
 
167
  > 关闭智能分词,使系统对你的整段描述做整体语义匹配,而不是拆词。
168
 
169
+ #### 示例
170
 
171
  **示例 1:用描述定位角色**
172
 
 
190
 
191
  ---
192
 
193
+ ### 4. 完整画面查找
194
 
195
  **适用场景:** 你脑中已经有了一幅完整的画面,希望一次性把整段描述转换成尽可能多的 Danbooru 标签,用于 AI 绘画的完整 Prompt。
196
 
 
198
 
199
  > 开启智能分词:系统会自动拆分你的长句,提取其中的关键概念分别检索,再合并去重,覆盖尽可能多的画面元素。
200
 
201
+ #### 示例
202
 
203
  **示例 1:雨中奔跑的少女**
204
 
 
239
 
240
  ---
241
 
242
+ ### 5. 关联推荐(共现匹配)
243
 
244
  关联推荐与前四项功能机制不同,它不依赖语义相似度,而是基于 **Danbooru 图库中标签的共现统计**:如果两个标签经常出现在同一张图上,就认为它们相关。
245
 
 
247
 
248
  关联推荐的得分是基于 NPMI(互信息归一化)计算的,能有效过滤掉那些只是因为自身热度高而频繁出现的标签。
249
 
250
+ #### 适用场景
251
 
252
  **场景 1:查看某种服饰/道具的常见搭配**
253
 
 
283
 
284
  ---
285
 
286
+ ### 6. 推荐擅长画师
287
 
288
  推荐擅长画师与关联推荐类似,基于 **标签-画师 NPMI 共现数据**,但目标是推荐擅长绘制已选标签所描述元素的画师。
289
 
 
291
 
292
  **评分逻辑:** 对每个已选标签,计算该标签与画师的 NPMI 共现分,累加后乘以命中标签数加成,最终归一化显示为百分比。
293
 
294
+ #### 适用场景
295
 
296
  **场景 1:根据风格标签找画师**
297
 
 
307
 
308
  ---
309
 
310
+ ### 使用技巧
311
 
312
  **技巧 1:先宽后窄**
313
  先用完整画面查找拿到大量候选标签,再用分词筛选 chip 或手动去掉不相关的,然后勾选剩余标签触发关联推荐,补充遗漏细节。
 
334
 
335
  ---
336
 
337
+ ## 接口方法
338
+
339
+ ### REST API
340
 
341
  本工具同时提供 REST API,可集成到你自己的工作流中。
342
 
 
347
  POST /api/search
348
  {
349
  "query": "白色水手服的女孩",
350
+ "search_mode": "full_scene",
351
+ "category": "all",
352
+ "show_nsfw": true,
353
+ "include_wiki": false
354
  }
355
  ```
356
 
357
+ `search_mode` 使用预设检索策略,不再直接暴露 `top_k`、`limit`、`popularity_weight`、`use_segmentation` 等底层参数:
358
+
359
+ | 模式 | 适用场景 |
360
+ |---|---|
361
+ | `full_scene` | 默认模式。用于完整画面、多人/多元素描述,返回可直接使用的 prompt |
362
+ | `concept_explore` | 开放式概念发散,例如“兔耳朵都有哪些” |
363
+ | `subject_describe` | 单一角色、物品或视觉概念描述,例如“EVA中蓝发的驾驶员” |
364
+ | `precise_lookup` | 精确查词或拼写���错,例如 `selafuku` |
365
+
366
+ `category` 可选:`all`、`general`、`character`、`copyright`。搜索响应包含 `prompt`、`keywords`、`results`,当 `include_wiki=true` 时,每条结果会附带 `wiki` 字段。
367
+
368
  **关联推荐接口**
369
  ```
370
  POST /api/related
371
  {
372
  "tags": ["white_serafuku", "sailor_collar"],
373
+ "limit": 50,
374
+ "show_nsfw": true,
375
+ "include_wiki": false
376
  }
377
  ```
378
 
379
+ 响应为 `results` 列表;如果输入标签拼写错误但可被纠正,会额外返回 `correction_note` 和 `corrections`。
380
+
381
  **推荐擅长画师接口**
382
  ```
383
  POST /api/artists
384
  {
385
  "tags": ["1girl", "blue_hair", "school_uniform"],
386
  "limit": 30,
387
+ "min_cooc": 3,
388
+ "show_nsfw": true
389
  }
390
  ```
391
 
392
+ 响应字段:`artist`(画师名)、`cooc_count`(共现次数)、`post_count`(作品数)、`sources`(命中标签)、`top_tags`(该画师最常画的 10 个标签,含中文名)。
393
+
394
+ **健康检查接口**
395
+
396
+ ```
397
+ GET /api/health
398
+ ```
399
+
400
  详见:[API 文档](https://sakizuki-danboorusearch.hf.space/api/docs)
401
 
402
  ---
403
 
404
+ ### MCP 接口
405
 
406
  本工具提供 MCP(Model Context Protocol)服务,支持将搜索引擎直接接入 Claude Desktop、Cursor、Cherry Studio 等支持 MCP 协议的大模型客户端,让 AI 能够在对话中直接调用标签搜索能力。
407
 
 
417
 
418
  以上两个端口提供完全相同的服务,互为备份
419
 
420
+ #### 接入方法
421
 
422
  **方法一:Claude Desktop**
423
 
 
447
  }
448
  ```
449
 
450
+ 保存后重启 Claude Desktop,工具列表中出现 `search_tags`、`get_related_tags`、`get_artist_recommendations`、`get_anima_format` 和 `get_newbie_format` 即为成功。
451
 
452
  > 注意:不要使用 `"url"` 字段直接填写地址,Claude Desktop 不支持该格式,会提示配置无效。也不推荐通过 `npx mcp-remote` 调用,首次执行时 `npx` 需要临时下载包,npm 缓存损坏时会导致启动失败。全局安装可规避此问题。
453
 
 
463
 
464
  添加完成后重启客户端,或在 MCP 管理界面手动刷新连接。
465
 
466
+ #### 可用工具
467
 
468
  接入后 AI 可调用以下工具:
469
 
 
474
  | 参数 | 默认值 | 说明 |
475
  |---|---|---|
476
  | `query` | — | 自然语言描述(必填,推荐中文)。支持空格/逗号/顿号显式分隔概念 |
477
+ | `search_mode` | `"full_scene"` | 检索策略:`full_scene`、`concept_explore`、`subject_describe`、`precise_lookup` |
 
 
 
 
478
  | `category` | `"all"` | 标签类别筛选:`"all"` 全部、`"general"` 通用、`"character"` 角色、`"copyright"` 作品 |
479
+ | `show_nsfw` | `true` | 是否包含 NSFW 标签 |
480
+ | `include_wiki` | `false` | 是否在结果中附带 Danbooru wiki 释义 |
481
+
482
+ `search_mode` 的选择规则:
483
+
484
+ - `full_scene`:默认值。用户描述的是一张具体画面时使用,即使描述里有很多元素,也仍然属于完整画面。
485
+ - `concept_explore`:用户想浏览某个概念下有哪些候选标签时使用,结果更多,token 消耗更高。
486
+ - `subject_describe`:只描述一个单一视觉概念、角色或物品时使用;多元素画面不要用这个模式。
487
+ - `precise_lookup`:用于拼写纠错或接近精确的标签查询。
488
+
489
+ 返回 JSON 包含:`prompt`(逗号分隔标签)、`keywords`(检索关键词)、`results`(标签结果)。每条结果包含 `tag`、`cn_name`,当 `include_wiki=true` 时包含 `wiki`。
490
 
491
  **`get_related_tags`** — 共现关联推荐
492
 
493
  给定一组已选标签,返回在 Danbooru 图库中与之最常共现的相关标签,基于 NPMI 评分,可有效过滤掉仅因自身热度高而频繁出现的标签。
494
 
495
+ | 参数 | 默认值 | 说明 |
496
+ |---|---|---|
497
+ | `tags` | — | 标签列表(必填,Danbooru 英文标签名) |
498
+ | `limit` | `50` | 最多返回关联标签数 |
499
+ | `show_nsfw` | `true` | 是否包含 NSFW 标签 |
500
+ | `include_wiki` | `false` | 是否在结果中附带 Danbooru wiki 释义 |
501
+
502
+ 返回字段:`tag`、`cn_name`、`sources`,当 `include_wiki=true` 时包含 `wiki`。如果输入标签拼写错误但可纠正,会返回纠错说明。
503
+
504
  **`get_artist_recommendations`** — 推荐擅长画师
505
 
506
  给定一组标签,返回擅长绘制这些元素的画师列表,基于标签-画师 NPMI 共现数据排序。
 
514
 
515
  返回字段:`artist`(画师名)、`cooc_count`(共现次数)、`post_count`(作品数)、`sources`(命中标签)、`top_tags`(该画师最常画的 10 个标签,含中文名)
516
 
517
+ **`get_anima_format`** — 获取 Anima 提词格式规范
518
+
519
+ 当用户需要把检索到的标签整理为 Anima 模型的 Hybrid 提示词时调用。返回完整格式说明,包括硬标签层、空间叙事层、标签格式化、权重语法、多人物防串扰和中文解释规则。
520
+
521
+ **`get_newbie_format`** — 获取 NewBie XML 提示词格式规范
522
+
523
+ 当用户需要输出 NewBie 模型 XML 提示词时调用。返回 XML 结构、字段职责、标签处理规则、多人角色分组和 caption 写作要求。
524
+
525
+ #### 调用示例
526
 
527
  接入后,你可以直接用自然语言告诉 AI 你的需求,AI 会自动选择合适的参数调用工具:
528
 
 
540
 
541
  > 找「反乌托邦、赛博朋克、蒸汽朋克」的 General 类标签,只查通用特征不查作品名
542
 
543
+ > Anima 模型格式,把这些标签整理成 Hybrid 提示词
 
 
544
 
545
+ > NewBie XML 格式输出这个角色场景提示词
546
 
547
+ ####务使用说明
548
 
549
+ HF Space 在无流量会进入休眠状态首次请求需要等待冷启动(约 30~60 秒)。若 AI 调用超时稍等片刻后重试即可,或先访问 [Space 页面](https://huggingface.co/spaces/SAkizuki/DanbooruSearch) 将其唤醒
550
 
551
+ 任何户都可以免费将本服务API或MCP接口接入己的私有或公开服务中
552
 
553
+ **如果接入公开服务,务必在主页提供链接到本服务主地址的友情链接**:
554
 
555
+ ```
556
+ URL: https://huggingface.co/spaces/SAkizuki/DanbooruSearch
557
+ 简介: 基于语义匹配的Danbooru标签搜索引擎,支持多维匹配与共现关联推荐。
558
+ ```
559
 
560
  ---
561
 
 
571
 
572
  ---
573
 
574
+ ## 使用注意事项
575
 
576
  - 本工具为 AI 辅助工具,检索结果未必 100% 准确
577
  - 查找结果可能包含 NSFW 内容(默认隐藏)
 
582
 
583
  DanbooruSearch 会继续免费开放。如果这个小工具刚好帮你省了点时间,可以自愿赞赏一点维护成本;赞赏不解锁任何功能、不提高额度、不影响搜索结果,也不会获得特殊待遇。量力而行就好,未成年人请勿赞赏。
584
 
585
+ ![微信赞赏码](https://akizukipic.oss-cn-beijing.aliyuncs.com/img/202501120027592.png)
586
 
587
 
588
  ## 搜索统计
mcp_server.py CHANGED
@@ -590,25 +590,80 @@ prompt 内部分两层组装,同一语义不跨层重复:
590
 
591
  ---
592
 
593
- ## 冲突检查(输出前必做)
 
 
594
 
595
  组装前必须消解以下冲突,逐项通过后才输出:
596
 
597
- | 冲突对 | 规则 |
598
- |--------|------|
599
- | `solo` vs 多人 | 选一个,不共存 |
600
- | `close-up` vs `full body` | 选一个景别 |
601
- | `from above` vs `from below` | 选一个视角 |
602
- | `from front` vs `from behind` | 选一个朝向 |
603
- | `closed eyes` vs `looking at viewer` | 选一个视线 |
604
- | 裸体 vs 服装 | 选一个着装状态 |
605
- | 多角色属性归属 | 发色/服装必须绑定具体角色,不串 |
606
- | 室内光源 vs 室外背景 | 光源和背景必须同空间 |
607
- | 背光 | 必须补脸部补光或轮廓保护 |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
608
 
609
- 单人正面默认保护脸部保留 `looking at viewer` `facing viewer`,空间叙事层补一句脸部清晰
610
 
611
- 多人必须绑定:`Place X on the left, with [hair], [outfit], [action].`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
612
 
613
  ---
614
 
@@ -640,7 +695,7 @@ prompt 内部分两层组装,同一语义不跨层重复:
640
  ### 多人物详细结构(防串扰核心规则)
641
 
642
  ```
643
- [quality/meta/safety], [2girls / 1girl 1boy],
644
  [character_A name], [series_A], [A hair], [A eyes], [A clothing], [A body], [A expression],
645
  [character_B name], [series_B], [B hair], [B eyes], [B clothing], [B body], [B expression],
646
  [shared pose/action], [background], [atmosphere], [composition], [@artist]
@@ -672,6 +727,9 @@ prompt 内部分两层组装,同一语义不跨层重复:
672
 
673
  ### 数据集标签(非动漫风格时的备选)
674
 
 
 
 
675
  在提示词最开头另起一行使用,可大幅改变风格倾向:
676
  - `ye-pop`:LAION-POP 数据集风格,偏抽象/油画/概念艺术
677
  - `deviantart`:DeviantArt 数据集风格,偏数字绘画/插画
@@ -695,7 +753,7 @@ masterpiece, best quality, very aesthetic, score_7, safe,
695
  ## 权重语法
696
 
697
  Anima 支持 Prompt Weighting,但需要的权重值 **高于 SDXL**:
698
-
699
  - 正常强调:`(tag:2)` 起步
700
  - 强强调:`(tag:3)` 到 `(tag:5)`
701
  - 权重取值范围:2 ~ 5
@@ -719,16 +777,12 @@ Anima 支持 Prompt Weighting,但需要的权重值 **高于 SDXL**:
719
  Anima 在多人场景中极易发生特征混淆。必须严格遵守:
720
 
721
  1. **角色属性按角色分组排列**。同一角色的发型、瞳色、服装、体型连续出现后再切换。严禁交叉排列(如 `blue hair, red hair, short hair, long hair`)。
722
-
723
- 2. **空间叙事层中为每个角色写一句"外观锚定短语"**。格式:`CharacterName with [key features]... do something...` 明确指出视觉归属。这比仅靠标签的防串扰效果强得多。
724
-
725
- 3. **使用空间方位词分离角色**:left/right/foreground/background
726
-
727
- 4. **为易混淆特征使用权重**:`(blue hair:2)`, `(red hair:2)`
728
-
729
- 5. **角色外观在硬锚点层中充分描述**。官方文档明确指出:先命名角色,再描述其外观。仅列出角色名而不描述外观会让模型困惑。
730
-
731
- 6. **空间叙事层中不重复标签内容**——空间叙事层补充空间关系、互动动作、光影氛围、构图取景。
732
 
733
  ---
734
 
 
590
 
591
  ---
592
 
593
+ ## 标签质量检查(输出前必做)
594
+
595
+ ### 冲突消解
596
 
597
  组装前必须消解以下冲突,逐项通过后才输出:
598
 
599
+ #### 视角互斥示例
600
+
601
+ | 标签A | 标签B | 原因 |
602
+ |---|---|---|
603
+ | `from front` | `from behind` | 物理矛盾 |
604
+ | `from above` | `from below` | 物理矛盾 |
605
+ | `looking at viewer` | `facing away` | 视线矛盾 |
606
+ | `pov` | `full body` | POV 不可能看到自己全身 |
607
+ | `close-up` | `full body` | 景别矛盾 |
608
+
609
+ #### 身份互斥示例
610
+
611
+ | 标签A | 标签B | 原因 |
612
+ |---|---|---|
613
+ | `solo` | `hetero` / `1boy` / `yuri` | 单人不存在互动 |
614
+ | `femdom` | `male-on-female rape` | 逻辑矛盾(主导方冲突) |
615
+ | `sleeping` / `unconscious` | `looking at viewer` | 无意识不可能直视 |
616
+ | `blindfold` | `heart-shaped pupils` / `rolling eyes` | 看不到眼睛 |
617
+
618
+ #### 服装互斥示例
619
+
620
+ | 标签A | 标签B | 原因 |
621
+ |---|---|---|
622
+ | `completely nude` | 任何具体服装标签 | 全裸不穿衣 |
623
+ | `pantyhose` | `barefoot` | 穿了丝袜不可能光脚(除非 `torn pantyhose`) |
624
+ | `blindfold` | `glasses` | 物理冲突 |
625
+ | 内衣套装 (`cat lingerie`, `lace lingerie`, `babydoll`, `negligee`, `chemise` 等) | `no panties` / `bottomless` | 内衣套装隐含包含内裤,模型优先解析套装忽略暴露标签;需暴露时拆为单件(`cat bra` + `no panties`) |
626
 
627
+ > **不互斥**外衣/制服(`maid outfit`、`school uniform`、`bunny suit`、`sailor uniform` 等)与 `no panties` / `bottomless` 完全兼容——穿制服不穿内裤 = 合理场景
628
 
629
+ #### 动作互斥示例
630
+
631
+ | 标签A | 标签B | 原因 |
632
+ |---|---|---|
633
+ | `standing sex` | `lying` / `on back` | 体位矛盾 |
634
+ | `missionary` | `doggystyle` | 不可能同时两个体位 |
635
+ | `cowgirl position` | `prone bone` | 体位矛盾 |
636
+
637
+ #### 细节过多互斥示例
638
+
639
+ 同一身体部位同时堆叠多个细节标签会导致模型过度渲染,产生畸形。**每部位细节标签 ≤2 个,且不能互斥。**
640
+
641
+ | 部位 | 矛盾组合 | 原因 |
642
+ |---|---|---|
643
+ | 脚趾 | `spread toes` + `toe scrunch` / `toes curling` | 舒展 vs 蜷缩,物理矛盾 |
644
+ | 脚趾 | `spread toes` + `feet together` | 分趾需要空间,合拢则压缩 |
645
+ | 手指 | `spread fingers` + `clenched fist` / `gripping` | 张开 vs 握拳 |
646
+ | 胸部 | `bouncing breasts` + `breasts squeeze together` | 弹跳 vs 挤压,动态矛盾 |
647
+ | 嘴巴 | `open mouth` + `clenched teeth` / `closed mouth` | 张嘴 vs 闭嘴 |
648
+ | 眼睛 | `rolling eyes` + `looking at viewer` | 翻白眼 vs 直视 |
649
+ | 腿部 | `spread legs` + `legs together` | 分开 vs 并拢 |
650
+ | 足部整体 | 3 个以上足部标签(如 `foot focus` + `footjob` + `toe scrunch` + `spread toes`) | 过度细化导致脚趾/脚掌畸形 |
651
+
652
+
653
+ ### 视线保护规则
654
+
655
+ **单人场景下**,除非用户明确要求「背影/背对/转身离开/侧脸/profile/from behind」等具体视线限制,否则必须注入 `direct eye contact, facing viewer`。
656
+ **两人及以上场景**:不强制注入 `direct eye contact`。根据角色间互动关系选择合适的视线标签(如 `looking at another`),或由用户明确指定。
657
+
658
+ ### 标签数量
659
+
660
+ 组装前按照下面的表格检查标签数量,严禁输出过多标签。过多标签会破坏模型的注意力。
661
+
662
+ | 场景复杂度 | 总标签数 |
663
+ |---|---|
664
+ | 简单 | 16-30 |
665
+ | 标准 | 22-38 |
666
+ | 复杂(多人/特殊主题/剧情主视觉) | 30-48 |
667
 
668
  ---
669
 
 
695
  ### 多人物详细结构(防串扰核心规则)
696
 
697
  ```
698
+ [quality/meta/safety], [2girls / 1girl 1boy],[多人互动标签,例如:duo, holding each other's hands...]
699
  [character_A name], [series_A], [A hair], [A eyes], [A clothing], [A body], [A expression],
700
  [character_B name], [series_B], [B hair], [B eyes], [B clothing], [B body], [B expression],
701
  [shared pose/action], [background], [atmosphere], [composition], [@artist]
 
727
 
728
  ### 数据集标签(非动漫风格时的备选)
729
 
730
+ 当且仅当用户明确要求抽象、油画、概���艺术、数字绘画、插画风格,且 **明确要求排除动漫风格** 时才可用。
731
+ 如果用户仅要求油画风格,但没有明确说明排除动漫风格,仍然不能使用。
732
+
733
  在提示词最开头另起一行使用,可大幅改变风格倾向:
734
  - `ye-pop`:LAION-POP 数据集风格,偏抽象/油画/概念艺术
735
  - `deviantart`:DeviantArt 数据集风格,偏数字绘画/插画
 
753
  ## 权重语法
754
 
755
  Anima 支持 Prompt Weighting,但需要的权重值 **高于 SDXL**:
756
+ - 慎用权重:一段提示词中最多用权重强调4个标签,少而精,只强调最重要的部分
757
  - 正常强调:`(tag:2)` 起步
758
  - 强强调:`(tag:3)` 到 `(tag:5)`
759
  - 权重取值范围:2 ~ 5
 
777
  Anima 在多人场景中极易发生特征混淆。必须严格遵守:
778
 
779
  1. **角色属性按角色分组排列**。同一角色的发型、瞳色、服装、体型连续出现后再切换。严禁交叉排列(如 `blue hair, red hair, short hair, long hair`)。
780
+ 2. **互动词必须紧跟在人数后**。如果画中有多个人物,必须在人数声明完毕后,**立即** 写下他们的互动行为。推荐写法:2girls, duo, holding each other's hands,,然后开始分开描述每位美少女的容貌和衣服。
781
+ 3. **空间叙事层中为每个角色写一句"外观锚定短语"**。格式:`CharacterName with [key features]... do something...` 明确指出视觉归属。这比仅靠标签的防串扰效果强得多。
782
+ 4. **使用空间方位词分离角色**:left/right/foreground/background。
783
+ 5. **为易混淆特征使用权重**:`(blue hair:2)`, `(red hair:2)`
784
+ 6. **角色外观在硬锚点层中充分描述**。官方文档明确指出:先命名角色,再描述其外观。仅列出角色名而不描述外观会让模型困惑。
785
+ 7. **空间叙事层中不复标签内容**——空间叙事层补充空间关系、互动动作、光影氛围、构图取景
 
 
 
 
786
 
787
  ---
788