@talesofai/neta-skills 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -0
- package/LICENSE +21 -0
- package/README.en.md +234 -0
- package/README.md +237 -0
- package/bin/apis/activity.js +14 -0
- package/bin/apis/artifact.js +64 -0
- package/bin/apis/audio.js +10 -0
- package/bin/apis/collection.js +87 -0
- package/bin/apis/config.js +49 -0
- package/bin/apis/feeds.js +34 -0
- package/bin/apis/gpt.js +10 -0
- package/bin/apis/hashtag.js +23 -0
- package/bin/apis/index.js +62 -0
- package/bin/apis/prompt.js +120 -0
- package/bin/apis/recsys.js +29 -0
- package/bin/apis/space.js +48 -0
- package/bin/apis/task.js +21 -0
- package/bin/apis/tcp.js +16 -0
- package/bin/apis/types.js +76 -0
- package/bin/apis/user.js +45 -0
- package/bin/apis/verse.js +18 -0
- package/bin/cli.js +16 -0
- package/bin/commands/community/create_comment.cmd.en_us.yml +4 -0
- package/bin/commands/community/create_comment.cmd.js +40 -0
- package/bin/commands/community/create_comment.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/favor_collection.cmd.en_us.yml +4 -0
- package/bin/commands/community/favor_collection.cmd.js +29 -0
- package/bin/commands/community/favor_collection.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/get_fan_list.cmd.en_us.yml +4 -0
- package/bin/commands/community/get_fan_list.cmd.js +36 -0
- package/bin/commands/community/get_fan_list.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/get_hashtag_characters.cmd.en_us.yml +4 -0
- package/bin/commands/community/get_hashtag_characters.cmd.js +46 -0
- package/bin/commands/community/get_hashtag_characters.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/get_hashtag_collections.cmd.en_us.yml +6 -0
- package/bin/commands/community/get_hashtag_collections.cmd.js +54 -0
- package/bin/commands/community/get_hashtag_collections.cmd.zh_cn.yml +5 -0
- package/bin/commands/community/get_hashtag_info.cmd.en_us.yml +4 -0
- package/bin/commands/community/get_hashtag_info.cmd.js +42 -0
- package/bin/commands/community/get_hashtag_info.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/get_subscribe_list.cmd.en_us.yml +4 -0
- package/bin/commands/community/get_subscribe_list.cmd.js +36 -0
- package/bin/commands/community/get_subscribe_list.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/like_collection.cmd.en_us.yml +4 -0
- package/bin/commands/community/like_collection.cmd.js +29 -0
- package/bin/commands/community/like_collection.cmd.zh_cn.yml +4 -0
- package/bin/commands/community/list_space_topics.cmd.en_us.yml +7 -0
- package/bin/commands/community/list_space_topics.cmd.js +39 -0
- package/bin/commands/community/list_space_topics.cmd.zh_cn.yml +6 -0
- package/bin/commands/community/list_spaces.cmd.en_us.yml +4 -0
- package/bin/commands/community/list_spaces.cmd.js +19 -0
- package/bin/commands/community/list_spaces.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/read_collection.cmd.en_us.yml +4 -0
- package/bin/commands/community/read_collection.cmd.js +83 -0
- package/bin/commands/community/read_collection.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/request_interactive_feed.cmd.en_us.yml +4 -0
- package/bin/commands/community/request_interactive_feed.cmd.js +54 -0
- package/bin/commands/community/request_interactive_feed.cmd.zh_cn.yml +5 -0
- package/bin/commands/community/subscribe_user.cmd.en_us.yml +4 -0
- package/bin/commands/community/subscribe_user.cmd.js +33 -0
- package/bin/commands/community/subscribe_user.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/suggest_categories.cmd.en_us.yml +4 -0
- package/bin/commands/community/suggest_categories.cmd.js +26 -0
- package/bin/commands/community/suggest_categories.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/suggest_content.cmd.en_us.yml +5 -0
- package/bin/commands/community/suggest_content.cmd.js +59 -0
- package/bin/commands/community/suggest_content.cmd.zh_cn.yml +4 -0
- package/bin/commands/community/suggest_keywords.cmd.en_us.yml +4 -0
- package/bin/commands/community/suggest_keywords.cmd.js +26 -0
- package/bin/commands/community/suggest_keywords.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/suggest_tags.cmd.en_us.yml +4 -0
- package/bin/commands/community/suggest_tags.cmd.js +26 -0
- package/bin/commands/community/suggest_tags.cmd.zh_cn.yml +3 -0
- package/bin/commands/community/validate_tax_path.cmd.en_us.yml +4 -0
- package/bin/commands/community/validate_tax_path.cmd.js +24 -0
- package/bin/commands/community/validate_tax_path.cmd.zh_cn.yml +3 -0
- package/bin/commands/creative/edit_colleciton.cmd.en_us.yml +11 -0
- package/bin/commands/creative/edit_colleciton.cmd.js +140 -0
- package/bin/commands/creative/edit_colleciton.cmd.zh_cn.yml +10 -0
- package/bin/commands/creative/make_image.cmd.en_us.yml +20 -0
- package/bin/commands/creative/make_image.cmd.js +58 -0
- package/bin/commands/creative/make_image.cmd.zh_cn.yml +19 -0
- package/bin/commands/creative/make_song.cmd.en_us.yml +8 -0
- package/bin/commands/creative/make_song.cmd.js +53 -0
- package/bin/commands/creative/make_song.cmd.zh_cn.yml +7 -0
- package/bin/commands/creative/make_video.cmd.en_us.yml +17 -0
- package/bin/commands/creative/make_video.cmd.js +54 -0
- package/bin/commands/creative/make_video.cmd.zh_cn.yml +16 -0
- package/bin/commands/creative/publish_collection.cmd.en_us.yml +10 -0
- package/bin/commands/creative/publish_collection.cmd.js +101 -0
- package/bin/commands/creative/publish_collection.cmd.zh_cn.yml +9 -0
- package/bin/commands/creative/remove_background.cmd.en_us.yml +10 -0
- package/bin/commands/creative/remove_background.cmd.js +74 -0
- package/bin/commands/creative/remove_background.cmd.zh_cn.yml +9 -0
- package/bin/commands/creative/request_character_or_elementum.cmd.en_us.yml +23 -0
- package/bin/commands/creative/request_character_or_elementum.cmd.js +108 -0
- package/bin/commands/creative/request_character_or_elementum.cmd.zh_cn.yml +22 -0
- package/bin/commands/creative/search_tcp.cmd.en_us.yml +16 -0
- package/bin/commands/creative/search_tcp.cmd.js +53 -0
- package/bin/commands/creative/search_tcp.cmd.zh_cn.yml +15 -0
- package/bin/commands/factory.js +15 -0
- package/bin/commands/load.js +157 -0
- package/bin/utils/errors.js +61 -0
- package/bin/utils/json.js +8 -0
- package/bin/utils/lang.js +8 -0
- package/bin/utils/parse_meta.js +16 -0
- package/bin/utils/polling.js +17 -0
- package/bin/utils/prompts.js +186 -0
- package/package.json +77 -0
- package/skills/neta/SKILL.md +119 -0
- package/skills/neta-community/SKILL.md +123 -0
- package/skills/neta-creative/SKILL.md +118 -0
- package/skills/neta-space/SKILL.md +129 -0
- package/skills/neta-suggest/SKILL.md +490 -0
- package/skills/zh_cn/neta/SKILL.md +111 -0
- package/skills/zh_cn/neta/references/character-search.md +234 -0
- package/skills/zh_cn/neta/references/collection-remix.md +40 -0
- package/skills/zh_cn/neta/references/community-exploration.md +636 -0
- package/skills/zh_cn/neta/references/hashtag-research.md +295 -0
- package/skills/zh_cn/neta/references/image-generation.md +121 -0
- package/skills/zh_cn/neta/references/interactive-feed.md +377 -0
- package/skills/zh_cn/neta/references/social-interactive.md +73 -0
- package/skills/zh_cn/neta/references/song-creation.md +247 -0
- package/skills/zh_cn/neta/references/song-mv.md +198 -0
- package/skills/zh_cn/neta/references/space.md +90 -0
- package/skills/zh_cn/neta/references/video-generation.md +221 -0
- package/skills/zh_cn/neta-community/SKILL.md +109 -0
- package/skills/zh_cn/neta-community/references/character-search.md +233 -0
- package/skills/zh_cn/neta-community/references/hashtag-research.md +295 -0
- package/skills/zh_cn/neta-community/references/interactive-feed.md +377 -0
- package/skills/zh_cn/neta-community/references/social-interactive.md +73 -0
- package/skills/zh_cn/neta-creative/SKILL.md +105 -0
- package/skills/zh_cn/neta-creative/references/character-search.md +233 -0
- package/skills/zh_cn/neta-creative/references/collection-remix.md +40 -0
- package/skills/zh_cn/neta-creative/references/image-generation.md +121 -0
- package/skills/zh_cn/neta-creative/references/song-creation.md +247 -0
- package/skills/zh_cn/neta-creative/references/song-mv.md +198 -0
- package/skills/zh_cn/neta-creative/references/video-generation.md +221 -0
- package/skills/zh_cn/neta-space/SKILL.md +126 -0
- package/skills/zh_cn/neta-suggest/SKILL.md +662 -0
|
@@ -0,0 +1,636 @@
|
|
|
1
|
+
# 玩法内容探索最佳实践
|
|
2
|
+
|
|
3
|
+
## 概述
|
|
4
|
+
|
|
5
|
+
玩法内容探索技能提供了一套完整的内容发现和筛选工具,支持从宽泛到精确的渐进式探索。包括关键词建议、标签推荐、分类导航和智能内容流四大功能模块。
|
|
6
|
+
|
|
7
|
+
## 核心技能
|
|
8
|
+
|
|
9
|
+
### 1. suggest_keywords - 获取搜索关键词建议
|
|
10
|
+
|
|
11
|
+
基于输入前缀提供热门搜索词建议,帮助用户发现感兴趣的内容方向。
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
neta-cli suggest_keywords --prefix "游戏" --size 20
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**参数说明:**
|
|
18
|
+
- `--prefix`: 关键词前缀(必填)
|
|
19
|
+
- `--size`: 返回数量,建议 10-20(可选,默认值根据系统配置)
|
|
20
|
+
|
|
21
|
+
**适用场景:**
|
|
22
|
+
- 用户只有模糊想法时
|
|
23
|
+
- 探索热门话题和趋势
|
|
24
|
+
- 为后续精确筛选做准备
|
|
25
|
+
|
|
26
|
+
### 2. suggest_tags - 获取相关标签建议
|
|
27
|
+
|
|
28
|
+
基于完整关键词推荐相关的 tax 标签。
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
neta-cli suggest_tags --keyword "角色塑造" --size 15
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**参数说明:**
|
|
35
|
+
- `--keyword`: 完整的关键词(必填)
|
|
36
|
+
- `--size`: 返回数量,建议 10-20(可选)
|
|
37
|
+
|
|
38
|
+
**适用场景:**
|
|
39
|
+
- 了解某个主题的相关标签
|
|
40
|
+
- 发现垂直领域的热门标签
|
|
41
|
+
- 为内容创作选择合适的话题标签
|
|
42
|
+
|
|
43
|
+
### 3. suggest_categories - 获取分类层级导航
|
|
44
|
+
|
|
45
|
+
提供三级分类体系的导航建议,支持逐级深入探索。
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# 获取一级分类(顶层分类)
|
|
49
|
+
neta-cli suggest_categories --level 1
|
|
50
|
+
|
|
51
|
+
# 获取二级分类(需要父级路径)
|
|
52
|
+
neta-cli suggest_categories --level 2 --parent_path "衍生创作类"
|
|
53
|
+
|
|
54
|
+
# 获取三级分类(最细粒度)
|
|
55
|
+
neta-cli suggest_categories --level 3 --parent_path "衍生创作类>同人二创"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**参数说明:**
|
|
59
|
+
- `--level`: 分类层级(1/2/3)(必填)
|
|
60
|
+
- `--parent_path`: 父级分类路径,level>1 时必填(可选)
|
|
61
|
+
|
|
62
|
+
**分类体系:**
|
|
63
|
+
```
|
|
64
|
+
一级分类(Level 1)
|
|
65
|
+
├─ 衍生创作类
|
|
66
|
+
│ ├─ 同人二创(Level 2)
|
|
67
|
+
│ │ ├─ 崩坏星穹铁道(Level 3)
|
|
68
|
+
│ │ └─ 原神(Level 3)
|
|
69
|
+
│ └─ 数字艺术
|
|
70
|
+
├─ 生活方式
|
|
71
|
+
└─ ...
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**适用场景:**
|
|
75
|
+
- 系统性了解平台内容分类
|
|
76
|
+
- 按图索骥查找特定领域内容
|
|
77
|
+
- 验证分类路径的有效性
|
|
78
|
+
|
|
79
|
+
### 4. validate_tax_path - 验证分类路径
|
|
80
|
+
|
|
81
|
+
检查分类路径是否有效,避免使用不存在的分类。
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
neta-cli validate_tax_path --tax_path "衍生创作类>热门 IP>崩坏星穹铁道"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**参数说明:**
|
|
88
|
+
- `--tax_path`: 完整的分类路径(必填)
|
|
89
|
+
|
|
90
|
+
**适用场景:**
|
|
91
|
+
- 在使用分类路径前进行验证
|
|
92
|
+
- 确保分类路径的准确性
|
|
93
|
+
|
|
94
|
+
### 5. suggest_content - 智能内容流引擎
|
|
95
|
+
|
|
96
|
+
强大的内容推荐工具,支持三种模式:推荐、搜索、精确筛选。
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# 模式 1:推荐模式(广泛探索)
|
|
100
|
+
neta-cli suggest_content \
|
|
101
|
+
--page_index 0 \
|
|
102
|
+
--page_size 20 \
|
|
103
|
+
--scene agent_intent \
|
|
104
|
+
--intent recommend
|
|
105
|
+
|
|
106
|
+
# 模式 2:搜索模式(关键词搜索)
|
|
107
|
+
neta-cli suggest_content \
|
|
108
|
+
--page_index 0 \
|
|
109
|
+
--page_size 20 \
|
|
110
|
+
--scene agent_intent \
|
|
111
|
+
--intent search \
|
|
112
|
+
--search_keywords "角色,创意"
|
|
113
|
+
|
|
114
|
+
# 模式 3:精确模式(分类筛选)
|
|
115
|
+
neta-cli suggest_content \
|
|
116
|
+
--page_index 0 \
|
|
117
|
+
--page_size 20 \
|
|
118
|
+
--scene agent_intent \
|
|
119
|
+
--intent exact \
|
|
120
|
+
--tax_paths "衍生创作类>同人二创"
|
|
121
|
+
|
|
122
|
+
# 组合使用(多条件筛选)
|
|
123
|
+
neta-cli suggest_content \
|
|
124
|
+
--page_index 0 \
|
|
125
|
+
--page_size 20 \
|
|
126
|
+
--scene agent_intent \
|
|
127
|
+
--intent search \
|
|
128
|
+
--search_keywords "AI,绘画" \
|
|
129
|
+
--tax_paths "数字艺术>概念设计" \
|
|
130
|
+
--exclude_keywords "测试,废弃"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
**参数说明:**
|
|
134
|
+
- `--page_index`: 页码,从 0 开始(默认 0)
|
|
135
|
+
- `--page_size`: 每页数量,范围 1-40(默认 20)
|
|
136
|
+
- `--scene`: 场景标识(默认 "agent_intent")
|
|
137
|
+
- `--biz_trace_id`: 会话追踪 ID(可选)
|
|
138
|
+
- `--intent`: 意图类型 `recommend` | `search` | `exact`(默认 recommend)
|
|
139
|
+
- `--search_keywords`: 搜索关键词,多个之间用英文逗号分隔(可选)
|
|
140
|
+
- `--tax_paths`: 分类路径,多个之间用英文逗号分隔(可选)
|
|
141
|
+
- `--tax_primaries`: 一级分类,多个之间用英文逗号分隔(可选)
|
|
142
|
+
- `--tax_secondaries`: 二级分类,多个之间用英文逗号分隔(可选)
|
|
143
|
+
- `--tax_tertiaries`: 三级分类,多个之间用英文逗号分隔(可选)
|
|
144
|
+
- `--exclude_keywords`: 排除关键词,多个之间用英文逗号分隔(可选)
|
|
145
|
+
- `--exclude_tax_paths`: 排除分类路径,多个之间用英文逗号分隔(可选)
|
|
146
|
+
|
|
147
|
+
## 渐进式探索流程
|
|
148
|
+
|
|
149
|
+
### 标准探索路径(从宽到窄)
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
graph LR
|
|
153
|
+
A[浏览分类] --> B[发现标签]
|
|
154
|
+
B --> C[验证路径]
|
|
155
|
+
C --> D[获取内容]
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
#### 步骤 1:浏览分类体系
|
|
159
|
+
|
|
160
|
+
先了解整体的内容分类结构:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# 查看所有一级分类
|
|
164
|
+
neta-cli suggest_categories --level 1
|
|
165
|
+
# 输出示例:["衍生创作类", "数字艺术", "生活方式"]
|
|
166
|
+
|
|
167
|
+
# 对感兴趣的分类深入查看
|
|
168
|
+
neta-cli suggest_categories --level 2 --parent_path "衍生创作类"
|
|
169
|
+
# 输出示例:["同人二创", "原创故事", "互动小说"]
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### 步骤 2:发现相关标签
|
|
173
|
+
|
|
174
|
+
基于分类或关键词发现热门标签:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
# 基于关键词找标签
|
|
178
|
+
neta-cli suggest_tags --keyword "同人二创" --size 15
|
|
179
|
+
# 输出示例:["崩坏星穹铁道", "原神", "明日方舟"]
|
|
180
|
+
|
|
181
|
+
# 或者用关键词建议辅助
|
|
182
|
+
neta-cli suggest_keywords --prefix "崩" --size 10
|
|
183
|
+
# 输出示例:["崩坏星穹铁道", "崩坏 3", "崩坏学园"]
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
#### 步骤 3:验证分类路径
|
|
187
|
+
|
|
188
|
+
在正式使用前验证路径有效性:
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
neta-cli validate_tax_path \
|
|
192
|
+
--tax_path "衍生创作类>同人二创>崩坏星穹铁道"
|
|
193
|
+
# 如果有效会返回成功,否则提示错误
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### 步骤 4:获取推荐内容
|
|
197
|
+
|
|
198
|
+
使用验证过的路径获取内容:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# 精确模式:按分类筛选
|
|
202
|
+
neta-cli suggest_content \
|
|
203
|
+
--intent exact \
|
|
204
|
+
--tax_paths "衍生创作类>同人二创>崩坏星穹铁道" \
|
|
205
|
+
--page_size 20
|
|
206
|
+
|
|
207
|
+
# 或者搜索模式:结合关键词
|
|
208
|
+
neta-cli suggest_content \
|
|
209
|
+
--intent search \
|
|
210
|
+
--search_keywords "崩坏星穹铁道,同人" \
|
|
211
|
+
--tax_paths "衍生创作类>同人二创" \
|
|
212
|
+
--page_size 20
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## 常见使用场景
|
|
216
|
+
|
|
217
|
+
### 场景 1:无明确目标的探索
|
|
218
|
+
|
|
219
|
+
用户只是随便看看,没有特定目标。
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# 策略:使用推荐模式,广泛浏览
|
|
223
|
+
neta-cli suggest_content \
|
|
224
|
+
--intent recommend \
|
|
225
|
+
--page_size 20
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**技巧:**
|
|
229
|
+
- 不设置任何筛选条件
|
|
230
|
+
- 让算法根据热度推荐
|
|
231
|
+
- 适合发现意外惊喜
|
|
232
|
+
|
|
233
|
+
### 场景 2:有模糊兴趣方向
|
|
234
|
+
|
|
235
|
+
用户对某个主题感兴趣,但不确定具体内容。
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
# 步骤 1:先用关键词建议发现方向
|
|
239
|
+
neta-cli suggest_keywords --prefix "游" --size 15
|
|
240
|
+
|
|
241
|
+
# 步骤 2:基于发现的关键词找标签
|
|
242
|
+
neta-cli suggest_tags --keyword "游戏" --size 15
|
|
243
|
+
|
|
244
|
+
# 步骤 3:使用搜索模式探索
|
|
245
|
+
neta-cli suggest_content \
|
|
246
|
+
--intent search \
|
|
247
|
+
--search_keywords "原神" \
|
|
248
|
+
--page_size 20
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**技巧:**
|
|
252
|
+
- 从宽泛的关键词开始
|
|
253
|
+
- 逐步缩小范围
|
|
254
|
+
- 结合标签和关键词
|
|
255
|
+
|
|
256
|
+
### 场景 3:有明确的分类目标
|
|
257
|
+
|
|
258
|
+
用户明确想看某个分类的内容。
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# 步骤 1:确认分类路径
|
|
262
|
+
neta-cli suggest_categories --level 1
|
|
263
|
+
neta-cli suggest_categories --level 2 --parent_path "衍生创作类"
|
|
264
|
+
|
|
265
|
+
# 步骤 2:验证路径
|
|
266
|
+
neta-cli validate_tax_path \
|
|
267
|
+
--tax_path "衍生创作类>同人二创>崩坏星穹铁道"
|
|
268
|
+
|
|
269
|
+
# 步骤 3:精确筛选
|
|
270
|
+
neta-cli suggest_content \
|
|
271
|
+
--intent exact \
|
|
272
|
+
--tax_paths "衍生创作类>同人二创>崩坏星穹铁道" \
|
|
273
|
+
--page_size 20
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
**技巧:**
|
|
277
|
+
- 先验证路径再使用
|
|
278
|
+
- 使用 exact 模式确保精确匹配
|
|
279
|
+
- 可以组合多个分类路径
|
|
280
|
+
|
|
281
|
+
### 场景 4:内容创作前的调研
|
|
282
|
+
|
|
283
|
+
准备创作内容,需要了解热门标签和分类。
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# 步骤 1:了解热门标签
|
|
287
|
+
neta-cli suggest_tags --keyword "角色塑造" --size 20
|
|
288
|
+
|
|
289
|
+
# 步骤 2:了解相关分类
|
|
290
|
+
neta-cli suggest_categories --level 2 --parent_path "衍生创作类"
|
|
291
|
+
|
|
292
|
+
# 步骤 3:查看该分类下的热门内容
|
|
293
|
+
neta-cli suggest_content \
|
|
294
|
+
--intent search \
|
|
295
|
+
--search_keywords "角色,设定" \
|
|
296
|
+
--tax_paths "衍生创作类>同人二创" \
|
|
297
|
+
--page_size 30
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**技巧:**
|
|
301
|
+
- 全面了解后再创作
|
|
302
|
+
- 参考热门标签提高曝光
|
|
303
|
+
- 选择合适的分类投放
|
|
304
|
+
|
|
305
|
+
### 场景 5:排除特定内容
|
|
306
|
+
|
|
307
|
+
想看某类内容,但想排除某些元素。
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
neta-cli suggest_content \
|
|
311
|
+
--intent search \
|
|
312
|
+
--search_keywords "AI,绘画" \
|
|
313
|
+
--tax_paths "数字艺术" \
|
|
314
|
+
--exclude_keywords "教程,广告" \
|
|
315
|
+
--exclude_tax_paths "数字艺术>课程培训" \
|
|
316
|
+
--page_size 20
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
**技巧:**
|
|
320
|
+
- 使用 `exclude_keywords` 过滤不想要的内容
|
|
321
|
+
- 使用 `exclude_tax_paths` 排除特定分类
|
|
322
|
+
- 正向筛选 + 负向排除结合
|
|
323
|
+
|
|
324
|
+
## 参数组合技巧
|
|
325
|
+
|
|
326
|
+
### 组合 1:关键词 + 分类双重筛选
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
neta-cli suggest_content \
|
|
330
|
+
--intent search \
|
|
331
|
+
--search_keywords "视频,剪辑" \
|
|
332
|
+
--tax_paths "数字艺术>视频制作" \
|
|
333
|
+
--page_size 20
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
**效果:** 在"视频制作"分类下搜索包含"视频"和"剪辑"的内容
|
|
337
|
+
|
|
338
|
+
### 组合 2:多级分类组合
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
neta-cli suggest_content \
|
|
342
|
+
--intent exact \
|
|
343
|
+
--tax_paths "衍生创作类>同人二创>崩坏星穹铁道" \
|
|
344
|
+
--page_size 20
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**效果:** 精确筛选三级分类,等价于 `tax_paths: "衍生创作类>同人二创>崩坏星穹铁道"`
|
|
348
|
+
|
|
349
|
+
### 组合 3:推荐模式 + 排除条件
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
neta-cli suggest_content \
|
|
353
|
+
--intent recommend \
|
|
354
|
+
--exclude_keywords "教程,搬运" \
|
|
355
|
+
--exclude_tax_paths "课程类" \
|
|
356
|
+
--page_size 20
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
**效果:** 智能推荐,但排除教程和搬运内容
|
|
360
|
+
|
|
361
|
+
### 组合 4:翻页连续性
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
# 第 1 页
|
|
365
|
+
neta-cli suggest_content \
|
|
366
|
+
--page_index 0 \
|
|
367
|
+
--page_size 20 \
|
|
368
|
+
--intent search \
|
|
369
|
+
--search_keywords "创意"
|
|
370
|
+
|
|
371
|
+
# 保存返回的 biz_trace_id(假设返回值为 "abc123")
|
|
372
|
+
|
|
373
|
+
# 第 2 页(使用第 1 页返回的 biz_trace_id)
|
|
374
|
+
neta-cli suggest_content \
|
|
375
|
+
--page_index 1 \
|
|
376
|
+
--page_size 20 \
|
|
377
|
+
--intent search \
|
|
378
|
+
--search_keywords "创意" \
|
|
379
|
+
--biz_trace_id "abc123"
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
**效果:** 保持搜索结果的一致性
|
|
383
|
+
|
|
384
|
+
## 输出数据结构
|
|
385
|
+
|
|
386
|
+
### suggest_keywords / suggest_tags / suggest_categories
|
|
387
|
+
|
|
388
|
+
返回建议列表:
|
|
389
|
+
|
|
390
|
+
```json
|
|
391
|
+
{
|
|
392
|
+
"suggestions": ["建议 1", "建议 2", "建议 3"]
|
|
393
|
+
}
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
### validate_tax_path
|
|
397
|
+
|
|
398
|
+
验证分类路径是否有效:
|
|
399
|
+
|
|
400
|
+
```json
|
|
401
|
+
{
|
|
402
|
+
"valid": true,
|
|
403
|
+
"message": "路径有效"
|
|
404
|
+
}
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
或无效时:
|
|
408
|
+
|
|
409
|
+
```json
|
|
410
|
+
{
|
|
411
|
+
"valid": false,
|
|
412
|
+
"message": "错误信息"
|
|
413
|
+
}
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### suggest_content
|
|
417
|
+
|
|
418
|
+
返回推荐内容列表和分页信息:
|
|
419
|
+
|
|
420
|
+
```json
|
|
421
|
+
{
|
|
422
|
+
"module_list": [
|
|
423
|
+
{
|
|
424
|
+
"data_id": "模块 ID",
|
|
425
|
+
"module_id": "模块类型",
|
|
426
|
+
"template_id": "模板 ID",
|
|
427
|
+
"json_data": {}
|
|
428
|
+
}
|
|
429
|
+
],
|
|
430
|
+
"page_data": {
|
|
431
|
+
"has_next_page": true,
|
|
432
|
+
"page_index": 0,
|
|
433
|
+
"page_size": 20,
|
|
434
|
+
"biz_trace_id": "会话追踪 ID"
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
## 性能优化建议
|
|
440
|
+
|
|
441
|
+
### 1. 合理设置 page_size
|
|
442
|
+
|
|
443
|
+
- **探索阶段**:10-15(快速试错)
|
|
444
|
+
- **深入浏览**:20-30(减少翻页次数)
|
|
445
|
+
- **精确查找**:20-40(一次性获取足够内容)
|
|
446
|
+
|
|
447
|
+
### 2. 缓存建议结果
|
|
448
|
+
|
|
449
|
+
缓存分类、标签等建议结果,避免重复请求:
|
|
450
|
+
|
|
451
|
+
```bash
|
|
452
|
+
# 第一次请求
|
|
453
|
+
neta-cli suggest_categories --level 1 > /tmp/categories_level1.json
|
|
454
|
+
|
|
455
|
+
# 后续使用缓存(示例:从缓存文件读取)
|
|
456
|
+
cat /tmp/categories_level1.json
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
**实际应用中可以使用文件系统或数据库来缓存结果。**
|
|
460
|
+
|
|
461
|
+
### 3. 预加载下一级分类
|
|
462
|
+
|
|
463
|
+
在用户查看当前层级时,后台预加载可能的下一级分类:
|
|
464
|
+
|
|
465
|
+
```bash
|
|
466
|
+
# 获取 Level 1 分类
|
|
467
|
+
neta-cli suggest_categories --level 1
|
|
468
|
+
|
|
469
|
+
# 并行预加载 Level 2 分类(示例:使用后台任务)
|
|
470
|
+
neta-cli suggest_categories --level 2 --parent_path "衍生创作类" &
|
|
471
|
+
neta-cli suggest_categories --level 2 --parent_path "数字艺术" &
|
|
472
|
+
neta-cli suggest_categories --level 2 --parent_path "生活方式" &
|
|
473
|
+
wait
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
**这样可以提升用户体验,减少等待时间。**
|
|
477
|
+
|
|
478
|
+
### 4. 批量验证分类路径
|
|
479
|
+
|
|
480
|
+
一次性验证多个分类路径的有效性:
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
# 并行验证多个路径
|
|
484
|
+
neta-cli validate_tax_path --tax_path "衍生创作类>同人二创>崩坏星穹铁道" &
|
|
485
|
+
neta-cli validate_tax_path --tax_path "衍生创作类>同人二创>原神" &
|
|
486
|
+
neta-cli validate_tax_path --tax_path "数字艺术>概念设计" &
|
|
487
|
+
wait
|
|
488
|
+
|
|
489
|
+
# 或者使用脚本批量处理
|
|
490
|
+
cat > /tmp/paths.txt << EOF
|
|
491
|
+
衍生创作类>同人二创>崩坏星穹铁道
|
|
492
|
+
衍生创作类>同人二创>原神
|
|
493
|
+
数字艺术>概念设计
|
|
494
|
+
EOF
|
|
495
|
+
|
|
496
|
+
while read path; do
|
|
497
|
+
neta-cli validate_tax_path --tax_path "$path"
|
|
498
|
+
done < /tmp/paths.txt
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
**这样可以提前筛选出有效的分类路径,避免后续请求失败。**
|
|
502
|
+
|
|
503
|
+
## 调试技巧
|
|
504
|
+
|
|
505
|
+
### 1. 检查搜索关键词是否生效
|
|
506
|
+
|
|
507
|
+
```bash
|
|
508
|
+
# 开启 debug 日志
|
|
509
|
+
DEBUG=* neta-cli suggest_content \
|
|
510
|
+
--intent search \
|
|
511
|
+
--search_keywords "测试关键词"
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
检查日志中是否正确传递了关键词参数。
|
|
515
|
+
|
|
516
|
+
### 2. 验证分类路径匹配
|
|
517
|
+
|
|
518
|
+
```bash
|
|
519
|
+
# 先用 exact 模式测试
|
|
520
|
+
neta-cli suggest_content \
|
|
521
|
+
--intent exact \
|
|
522
|
+
--tax_paths "你的分类路径" \
|
|
523
|
+
--page_size 5
|
|
524
|
+
|
|
525
|
+
# 如果返回空,可能是:
|
|
526
|
+
# - 分类路径不存在
|
|
527
|
+
# - 该分类下没有内容
|
|
528
|
+
# - 路径格式不正确
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
### 3. 对比不同模式的结果
|
|
532
|
+
|
|
533
|
+
```bash
|
|
534
|
+
# 同一关键词,对比三种模式
|
|
535
|
+
neta-cli suggest_content --intent recommend --page_size 10
|
|
536
|
+
neta-cli suggest_content --intent search --search_keywords "关键词" --page_size 10
|
|
537
|
+
neta-cli suggest_content --intent exact --tax_paths "分类路径" --page_size 10
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
观察不同模式下结果的差异,理解各模式的特点。
|
|
541
|
+
|
|
542
|
+
## 常见问题
|
|
543
|
+
|
|
544
|
+
### Q1: suggest_keywords 和 suggest_tags 有什么区别?
|
|
545
|
+
|
|
546
|
+
**A:**
|
|
547
|
+
- `suggest_keywords`: 基于**前缀**的模糊匹配,适合探索阶段
|
|
548
|
+
- `suggest_tags`: 基于**完整关键词**的相关性匹配,更精确
|
|
549
|
+
|
|
550
|
+
```bash
|
|
551
|
+
# keywords - 前缀匹配
|
|
552
|
+
neta-cli suggest_keywords --prefix "崩" # 返回所有以"崩"开头的词
|
|
553
|
+
|
|
554
|
+
# tags - 相关性匹配
|
|
555
|
+
neta-cli suggest_tags --keyword "游戏" # 返回与"游戏"相关的标签
|
|
556
|
+
```
|
|
557
|
+
|
|
558
|
+
### Q2: 为什么 validate_tax_path 验证通过,但 suggest_content 返回空?
|
|
559
|
+
|
|
560
|
+
**可能原因:**
|
|
561
|
+
1. 分类路径有效,但该分类下暂时没有内容
|
|
562
|
+
2. intent 模式不对(应该用 exact 却用了 recommend)
|
|
563
|
+
3. 还有其他筛选条件冲突
|
|
564
|
+
|
|
565
|
+
**解决方案:**
|
|
566
|
+
```bash
|
|
567
|
+
# 尝试去掉其他条件,只用分类路径
|
|
568
|
+
neta-cli suggest_content \
|
|
569
|
+
--intent exact \
|
|
570
|
+
--tax_paths "你的分类路径" \
|
|
571
|
+
--page_size 10
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
### Q3: 如何选择合适的 intent 模式?
|
|
575
|
+
|
|
576
|
+
**选择指南:**
|
|
577
|
+
|
|
578
|
+
| 模式 | 使用场景 | 必需参数 |
|
|
579
|
+
|------|---------|---------|
|
|
580
|
+
| `recommend` | 无目的浏览、探索 | 无 |
|
|
581
|
+
| `search` | 有明确关键词 | `search_keywords` |
|
|
582
|
+
| `exact` | 严格按分类筛选 | `tax_paths` 或分类参数 |
|
|
583
|
+
|
|
584
|
+
### Q4: exclude_keywords 和 exclude_tax_paths 如何使用?
|
|
585
|
+
|
|
586
|
+
```bash
|
|
587
|
+
# 排除包含特定词的内容
|
|
588
|
+
neta-cli suggest_content \
|
|
589
|
+
--exclude_keywords "教程,广告,搬运" \
|
|
590
|
+
--search_keywords "绘画"
|
|
591
|
+
|
|
592
|
+
# 排除特定分类
|
|
593
|
+
neta-cli suggest_content \
|
|
594
|
+
--exclude_tax_paths "课程培训,商业推广" \
|
|
595
|
+
--tax_paths "数字艺术"
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
**注意:** 排除条件会显著减少结果数量,慎用。
|
|
599
|
+
|
|
600
|
+
### Q5: biz_trace_id 在多轮对话中如何维护?
|
|
601
|
+
|
|
602
|
+
**方法:保存第一次请求返回的 biz_trace_id,后续请求都使用这个值。**
|
|
603
|
+
|
|
604
|
+
```
|
|
605
|
+
# 第 1 次请求(首页)
|
|
606
|
+
neta-cli suggest_content \
|
|
607
|
+
--page_index 0 \
|
|
608
|
+
--page_size 20 \
|
|
609
|
+
--intent search \
|
|
610
|
+
--search_keywords "关键词" > /tmp/page0.json
|
|
611
|
+
|
|
612
|
+
# 从返回结果中提取 biz_trace_id
|
|
613
|
+
BIZ_TRACE_ID=$(cat /tmp/page0.json | jq -r '.page_data.biz_trace_id')
|
|
614
|
+
|
|
615
|
+
# 第 2 次请求(下一页),使用保存的 biz_trace_id
|
|
616
|
+
neta-cli suggest_content \
|
|
617
|
+
--page_index 1 \
|
|
618
|
+
--page_size 20 \
|
|
619
|
+
--intent search \
|
|
620
|
+
--search_keywords "关键词" \
|
|
621
|
+
--biz_trace_id "$BIZ_TRACE_ID"
|
|
622
|
+
```
|
|
623
|
+
|
|
624
|
+
**注意:** 应该使用第一次返回的 biz_trace_id,而不是每次都用上一次的返回值。
|
|
625
|
+
|
|
626
|
+
## 总结
|
|
627
|
+
|
|
628
|
+
使用玩法内容探索技能的关键点:
|
|
629
|
+
|
|
630
|
+
1. **渐进式探索**:分类 → 标签 → 验证 → 内容
|
|
631
|
+
2. **模式选择**:无目的用 recommend,有关键词用 search,有分类用 exact
|
|
632
|
+
3. **参数组合**:善用关键词 + 分类的双重筛选
|
|
633
|
+
4. **排除技巧**:合理使用 exclude 参数过滤噪音
|
|
634
|
+
5. **会话连续**:正确维护 biz_trace_id 保证体验一致性
|
|
635
|
+
|
|
636
|
+
遵循这些最佳实践,可以高效地探索和发现平台上的优质内容!
|