chanmama-search
蝉妈妈达人搜索与筛选 skill。在蝉妈妈达人库中按条件搜索达人,通过两轮 LLM 筛选(初筛名称 + 精筛三级分类),输出合格达人列表。 触发场景:搜索达人、筛选达人、蝉妈妈查询、达人数据提取、每日达人发现。
ソース情報
- リポジトリ
- ayaoplus/chanmama-search
- ソースの最終更新活動
- 2026年4月11日 11:50
- 検出された SKILL.md の言語
- 中国語
- スター
- 2
- フォーク
- 0
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SKILL.md を表示中
SKILL.md
ソースの指示 · 読み取り専用プレビュー- name
- chanmama-search
- description
- 蝉妈妈达人搜索与筛选 skill。在蝉妈妈达人库中按条件搜索达人,通过两轮 LLM 筛选(初筛名称 + 精筛三级分类),输出合格达人列表。 触发场景:搜索达人、筛选达人、蝉妈妈查询、达人数据提取、每日达人发现。
# chanmama-search — 蝉妈妈达人搜索与筛选
## 前置条件
1. anyreach CDP Proxy 运行中:
```bash
node "<anyreach_dir>/scripts/check-deps.mjs"
```
2. 用户已在 Chrome 中登录蝉妈妈
> `<anyreach_dir>` 默认为本 skill 同级的 `anyreach/` 目录,可通过 `ANYREACH_DIR` 环境变量覆盖。
## 完整工作流
```
Step 1: 搜索达人列表
node run.mjs --preset default --max-pages 10 --output /tmp/bloggers.json
Step 2: LLM 初筛(过滤品牌号/专场号/工厂号等)
读取 prompts/screen-stage1.md 作为 system prompt
将 /tmp/bloggers.json 中的达人数据作为 user message 发给 LLM
LLM 返回 pass/reject 判断
保留 pass 的达人
Step 3: 详情页三级分类提取
将初筛通过的达人传入 detail.mjs
node detail.mjs --input /tmp/passed-stage1.json --output /tmp/details.json
Step 4: LLM 精筛(根据三级分类判断品类匹配度)
读取 prompts/screen-stage2.md 作为 system prompt
将 /tmp/details.json 中的三级分类数据作为 user message 发给 LLM
LLM 返回 pass/reject 判断
保留 pass 的达人 → 最终合格列表
```
## Step 1: 搜索达人列表
```bash
# 使用预设条件搜索(推荐)
node "<skill_dir>/run.mjs" --preset default --max-pages 10 --output /tmp/bloggers.json
# 使用自定义筛选条件
node "<skill_dir>/run.mjs" --filters '{"category":"日用百货","subCategory":"个人护理","bloggerGender":"女","fanGender":"女性居多","checkDaren":true,"levels":["LV1","LV2","LV3","LV4"],"sellMode":"直播带货为主","liveHourlyOutput":"1000-1万"}' --max-pages 10
# 使用已保存的条件(备选,稳定性较低)
node "<skill_dir>/run.mjs" --condition "阿周" --max-pages 10
```
预设 `default` 的筛选条件:
| 筛选项 | 值 |
|--------|-----|
| 带货分类 | 日用百货 → 个人护理 |
| 达人画像 | 女 |
| 粉丝画像 | 女性居多 |
| 达人信息 | 勾选达人号 |
| 带货等级 | LV1、LV2、LV3、LV4 |
| 带货方式 | 直播带货为主 |
| 直播场均小时产出 | 1000-1万 |
输出格式:
```json
{
"action": "extractAll",
"totalBloggers": 100,
"bloggers": [
{
"name": "达人昵称",
"douyinId": "抖音号",
"hasLevel": true,
"profileLink": "https://www.chanmama.com/bloggerRank/XXX.html",
"followers": "10.2万",
"liveSales": "50.3万",
"liveHourlyOutput": "8.2万",
"avgSessionSales": "4.2万"
}
]
}
```
## Step 2: LLM 初筛
**提示词文件**:`prompts/screen-stage1.md`
将提示词作为 system prompt,达人列表作为 user message,发给你的 LLM。
LLM 会基于达人名称判断是否为品牌号、专场号、工厂号、明星号等,返回 pass/reject。
**原则:宁可放过,不要错杀。** 拿不准的保留进入下一轮。
将 pass 的达人(保留 profileLink 字段)保存为 `/tmp/passed-stage1.json`。
## Step 3: 详情页三级分类提取
```bash
node "<skill_dir>/detail.mjs" --input /tmp/passed-stage1.json --output /tmp/details.json
```
参数:
| 参数 | 说明 | 默认 |
|------|------|------|
| `--input, -i` | 初筛结果 JSON(需含 profileLink) | — |
| `--urls` | 逗号分隔的详情页 URL 列表(替代 --input) | — |
| `--output, -o` | 输出文件路径 | stdout |
| `--delay` | 每个达人之间的间隔毫秒 | 2000 |
输出格式(每个达人):
```json
{
"url": "https://www.chanmama.com/bloggerRank/XXX.html",
"name": "椰尼Ya",
"douyinId": "6susu61228",
"headerTags": ["达人号", "日用百货-个人护理96.24%"],
"byProducts": [{"name": "面部护肤", "percent": "35.59%"}],
"bySales": [{"name": "口腔护理", "percent": "66.25%"}],
"byRevenue": [{"name": "口腔护理", "percent": "53.29%"}],
"ok": true
}
```
三个维度:
- `byProducts`:上架商品最多品类 TOP5
- `bySales`:销量最佳品类 TOP5
- `byRevenue`:销售额最佳品类 TOP5(**最重要**)
## Step 4: LLM 精筛
**提示词文件**:`prompts/screen-stage2.md`
将提示词作为 system prompt,三级分类数据作为 user message,发给你的 LLM。
LLM 会判断每个达人的品类是否匹配目标方向(女性向日用个护),返回 pass/reject + 关键品类标签。
最终通过精筛的达人即为合格列表,可进入后续流程(如写入飞书多维表格)。
## 退出码
| 码 | 含义 |
|----|------|
| 0 | 成功 |
| 1 | 运行错误 |
| 2 | 需要登录蝉妈妈 |
## 环境变量
| 变量 | 说明 | 默认 |
|------|------|------|
| `ANYREACH_DIR` | anyreach 安装路径 | `../anyreach` |
| `CDP_PROXY_PORT` | CDP Proxy 端口 | 3456 |
## 文件结构
```
run.mjs → Step 1: 搜索达人列表
detail.mjs → Step 3: 详情页三级分类提取
prompts/screen-stage1.md → Step 2: 初筛提示词(过滤品牌号等)
prompts/screen-stage2.md → Step 4: 精筛提示词(三级分类匹配)
SKILL.md → 本文件(agent 使用指南)
```
GitHubで見る