---
name: job-advisor
description: 根据用户的个人特征（技能、时间、体力、学历、所在城市、期望收入等），从网络上抓取最新招聘信息（包括闲鱼、BOSS直聘、58同城、拉钩、猎聘、智联招聘等平台），按性价比（时薪/日薪、通勤成本、门槛匹配度）排序，输出适合该用户接的活（长期岗位、兼职、临时工均纳入），以图文并茂的 Markdown 文件保存到项目 markdown/ 目录。触发条件：用户描述自己的个人情况并希望找活干；提到"帮我找工作"、"我想接活"、"有什么活可以做"、"找兼职"、"找临时工"、"找副业"、"找长期工作"、"我能做什么工作"、"帮我匹配工作"、"找适合我的岗位"、"按性价比推荐工作"、"哪些活值得接"、"我有这些技能能做什么"等。即使用户只是说"我现在没工作，帮我找找看"或者给出了个人情况描述，也应立即使用本 skill。
---

# Job Advisor — 智能求职匹配顾问

根据用户画像，从网络抓取实时招聘信息，按性价比排序后输出求职推荐报告。

---

## 工作流总览

```
用户输入个人特征
       ↓
Step 1: 构建用户画像（提取关键维度）
       ↓
Step 2: 确定搜索策略（平台 + 关键词）
       ↓
Step 3: 网络抓取招聘信息（多平台并发搜索）
       ↓
Step 4: 计算性价比评分并排序
       ↓
Step 5: 生成 Markdown 求职推荐报告
       ↓
输出到 markdown/ 目录
```

---

## Step 1：构建用户画像

拿到用户描述后，提取并整理以下维度（缺失项设为"不限/未知"，不要反复追问，直接用合理默认值推进）：

| 维度 | 说明 | 示例 |
|------|------|------|
| **城市/区域** | 求职地点 | 上海市浦东新区 |
| **技能标签** | 硬技能（会什么）| Excel、驾照C1、焊接、PS |
| **可用时间** | 全职/兼职/周末/节假日 | 工作日白天空闲 |
| **体力状况** | 能否承受体力工作 | 轻体力可接受 |
| **学历** | 最高学历 | 大专 |
| **期望收入** | 月薪/日薪/时薪 | 月入5000以上 |
| **工作经验** | 年限与行业 | 3年餐饮管理 |
| **特殊限制** | 禁忌/偏好 | 不夜班、不出差 |
| **工作类型偏好** | 长期/临时/接单 | 均可接受 |

**画像摘要示例**：
```
城市：广州天河 | 技能：Excel+普通话 | 时间：周末全天
体力：轻体力 | 学历：本科 | 期望日薪：200+
经验：2年行政 | 禁忌：无需夜班
```

---

## Step 2：确定搜索策略

### 2.1 平台优先级矩阵

根据用户类型选择搜索平台：

| 求职类型 | 优先平台 | 补充平台 |
|----------|----------|----------|
| 长期全职 | BOSS直聘、智联招聘、猎聘 | 拉钩（互联网）、前程无忧 |
| 兼职/临时 | 闲鱼（找人）、58同城兼职 | 美团众包、滴滴快送 |
| 技能接单 | 猪八戒、一品威客、接单宝 | 闲鱼技能频道 |
| 蓝领体力 | 58同城、赶集网、招工猫 | 美招工 |
| 创意/设计 | 站酷JOBS、Behance、设计师客栈 | 豆瓣小组 |
| 教培家教 | 家教帮、新东方在线、课外辅导 | 闲鱼、本地微信群 |

### 2.2 搜索关键词生成规则

结合用户技能与城市生成 **3~5 组** 搜索词：

```
主词 = 岗位名/技能词（如"行政助理"/"Excel兼职"）
修饰词 = 城市 + 工作类型（如"广州 周末兼职"）
完整搜索词 = 主词 + 修饰词
```

**示例**：
- `"广州天河 行政兼职"`
- `"广州 Excel 数据录入 周末"`
- `"天河区 文员 临时工"`
- `"广州 兼职招聘 本科 日结"`

---

## Step 3：网络抓取与信息收集

### 3.1 搜索执行

使用 `web_search` 工具，**依次搜索** Step 2 生成的关键词组合。每次搜索后：
1. 提取岗位名、薪资、工作地址、要求、发布时间
2. 剔除明显过期（超过30天）的信息
3. 剔除门槛明显不符合用户画像的岗位

**必搜的平台直链格式**（用 web_search 搜索，不要直接 fetch）：
```
site:bosszhipin.com [城市] [岗位]
site:58.com [城市] [岗位]
[闲鱼/xianyu] [城市] [技能] 招人
```

### 3.2 信息提取字段

每条岗位信息提取：

```
岗位名称：____
发布平台：____
薪资范围：____（日薪/月薪/时薪，统一换算为时薪）
工作地点：____（区/街道，估算通勤时间）
工作时间：____（全职/兼职/日结/周结）
技能要求：____（是否与用户匹配）
学历要求：____
经验要求：____
发布时间：____
发布链接：____（如可获取）
```

### 3.3 搜索补充策略

如果直接搜索结果不足（少于5条），则：
1. 放宽地理范围（从区级扩展到市级）
2. 降低技能匹配精度（搜宽泛岗位类别）
3. 搜索同类平台的聚合信息（如"[城市] 兼职招聘汇总 2024"）
4. 搜索本地论坛、豆瓣小组等非主流渠道

---

## Step 4：性价比评分与排序

### 4.1 性价比评分模型

每个岗位计算综合评分（满分100分）：

```
综合评分 = 薪资分(40) + 门槛匹配分(30) + 便利分(20) + 稳定性分(10)
```

**薪资分（40分）** — 换算为时薪后对比：

| 时薪区间 | 评分 |
|---------|------|
| 用户期望1.5倍以上 | 40 |
| 用户期望1.0~1.5倍 | 30 |
| 用户期望0.8~1.0倍 | 20 |
| 低于用户期望0.8倍 | 10 |
| 无薪资信息 | 15（中性） |

**门槛匹配分（30分）**：

| 匹配度 | 评分 |
|--------|------|
| 完全匹配（技能/学历/经验全部符合） | 30 |
| 大部分匹配（2/3以上符合） | 22 |
| 部分匹配（可快速学习补齐） | 14 |
| 勉强匹配（需要较大提升） | 6 |
| 不匹配 | 0（直接过滤） |

**便利分（20分）** — 综合通勤与时间：

| 条件 | 加分 |
|------|------|
| 通勤30分钟内 | +10 |
| 时间完全符合用户可用时段 | +6 |
| 可远程/在家完成 | +10（替代通勤加分） |
| 日结/周结（现金流快） | +4 |

**稳定性分（10分）**：

| 类型 | 评分 |
|------|------|
| 知名公司/平台认证 | 10 |
| 中小企业正规发布 | 7 |
| 个人发布（闲鱼等） | 4 |
| 来源不明/模糊 | 2 |

### 4.2 排序规则

1. 主排序：综合评分从高到低
2. 同分时：薪资分优先
3. 过滤掉评分低于40分的岗位（不符合基本条件）
4. 最终展示：**前10名**，特殊情况保留到15名

---

## Step 5：Markdown 报告生成

### 5.1 文件结构

```
markdown/
├── job-advice-[城市简称]-[日期].md    ← 主报告
└── job-score-chart.svg                 ← 评分可视化图（可选）
```

### 5.2 报告模板

````markdown
# 🧭 求职推荐报告

> 为你量身匹配的活，按性价比从高到低排列

**你的画像摘要**：[城市] · [核心技能] · [可用时间] · 期望[收入目标]  
**报告生成时间**：[YYYY-MM-DD]  
**数据来源**：BOSS直聘 / 58同城 / 闲鱼 / 其他平台（实时抓取）

---

## 🏆 TOP 推荐岗位

### 🥇 第1名：[岗位名称]
**综合评分**：⭐⭐⭐⭐⭐ [XX分/100]

| 项目 | 详情 |
|------|------|
| 薪资 | [具体数字] / [时薪换算] |
| 工作地点 | [地点] · 预计通勤 [X] 分钟 |
| 工作时间 | [全职/兼职/日结] |
| 技能要求 | [要求列表] |
| 门槛难度 | 🟢 完全符合 / 🟡 基本符合 / 🔴 有差距 |
| 发布平台 | [平台名] |
| 发布时间 | [X天前] |

**为什么推荐给你**：[1~2句针对该用户画像的个性化理由]

**怎么去申请**：[具体行动建议，如搜索词/链接/联系方式]

---

[重复以上格式，第2~10名]

---

## 📊 性价比总览图

[ASCII 表格或 Mermaid 图表，横轴=薪资，纵轴=门槛难度]

```
高薪 │ [岗位D]              [岗位A]
     │         [岗位C]
低薪 │         [岗位B]
     └────────────────────────────→
       高门槛              低门槛（容易入手）
```

---

## 💡 求职策略建议

### 短期（本周就能投）
- [具体建议1]
- [具体建议2]

### 中期（1个月内提升竞争力）
- [技能补充建议]
- [证书/认证建议]

### 求职注意事项
- ⚠️ [平台特有的防骗提示]
- 💬 [谈薪技巧]
- 📱 [推荐使用的APP或渠道]

---

## 📌 数据说明
- 本报告数据来源于公开招聘平台，实时性以搜索时间为准
- 薪资为挂牌价，实际以面试结果为准
- 性价比评分为综合估算，仅供参考
````

### 5.3 SVG 评分图表规范（可选，适合岗位多于5个时生成）

```svg
<!-- 气泡图：X轴=门槛难度(低→高)，Y轴=薪资(低→高)，气泡大小=便利度 -->
宽度：800px
高度：500px
颜色方案：
  - 综合评分80+：#22c55e（绿）
  - 综合评分60~79：#f59e0b（黄）
  - 综合评分40~59：#ef4444（红）
字体：Arial / 思源黑体
```

---

## 特殊情景处理

### 情景 A：用户无明确技能
→ 重点搜索：日结劳务、快递分拣、商场促销、展会礼仪、传单发放、问卷调查
→ 薪资分以体力日薪（150~250元/天）为基准参考

### 情景 B：用户有专业技能（如程序员、设计师、会计）
→ 重点搜索：自由接单、猪八戒网、Upwork（如有英语）、行业垂直平台
→ 补充搜索：远程工作、副业接单

### 情景 C：用户在三四线城市或县城
→ 搜索关键词加入"本地"、"县城"、"[具体城市名]"
→ 补充搜索本地微信群/QQ群招工信息（搜索"[城市] 招工群"等）
→ 优先推荐：本地企业工厂、电商代运营、外卖跑腿、快递站点

### 情景 D：用户有时间限制（如只有周末）
→ 过滤掉明确需要"全职"或"周一至周五"的岗位
→ 重点：展会兼职、婚庆摄影助理、景区临时工、促销导购

### 情景 E：搜索结果全部过期或质量差
→ 在报告中明确说明"当前搜索结果有限"
→ 提供搜索建议：告诉用户在哪些平台用哪些词自行搜索
→ 补充"行业规律"：这类岗位通常何时发布、如何联系更有效

---

## 质量自检清单

输出前对照检查：

- [ ] 是否基于用户画像生成了个性化搜索词？
- [ ] 是否实际搜索了至少3个不同来源的信息？
- [ ] 每条岗位是否标注了平台来源与发布时间？
- [ ] 薪资是否统一换算为时薪便于横向比较？
- [ ] 性价比评分是否有依据（不是主观拍脑袋）？
- [ ] 排序是否从高分到低分？
- [ ] 是否包含具体的"怎么申请"行动指引？
- [ ] 是否包含防骗提示（尤其是闲鱼/个人发布）？
- [ ] 报告是否保存到 `markdown/` 目录？
- [ ] 文件名是否包含城市和日期？

---

## 触发示例

以下均应触发本 Skill：

- "我在深圳，会开车，想接点临时工，有什么推荐？"
- "我是本科学历，有Excel技能，周末空闲，帮我找兼职"
- "刚失业，在广州，能做什么工作？"
- "我会修电脑，想在成都找副业，推荐几个有性价比的活"
- "我是大专，做过仓储，想找日结的工作，哪里有？"
- "帮我分析一下我适合什么工作，我是……"
- "有没有适合宝妈的兼职？我在武汉，只有上午空闲"
- "我想找临时工，不限行业，按时薪高低给我排个序"
