# Model Resources Collection

> 模型资源收集。联网搜索最新免费/优惠的AI模型资源信息（如各大云厂商优惠活动、免费API、Coding计划等），整理并生成配置指南文档。适用于用户询问"有什么便宜的模型推荐"、"免费模型有哪些"、"模型优惠"等场景。

- Skill: `ascend/model-resources-collection` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add ascend/model-resources-collection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ascend/model-resources-collection/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: ascend (https://skillmd.com/u/ascend)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ascend/model-resources-collection

---


# 模型资源收集

当用户需要查找免费或优惠的AI模型资源时使用此skill。

## 触发条件

用户可能说的话：
- 有什么便宜的模型推荐？
- 帮我找找免费的AI API
- 有哪些免费模型可以用？
- 帮我整理一下当前的优惠模型
- 推荐一些免费的模型API
- 哪家的模型最便宜？
- 帮我搜一下现在有哪些模型优惠

## 工作流程

### 重要原则：必须逐条处理 sources.md

**每次执行任务时，必须按照以下步骤操作：**

1. **读取 sources.md**：先完整读取 `references/sources.md`，获取所有需要搜索的信源列表
2. **建立表格**：将信源列表转化为需要处理的表格，包含：信源名称、URL、状态（待获取/成功/失败）、获取到的信息
3. **逐条搜索**：按照优先级顺序，对每个信源执行搜索和获取
4. **标记状态**：每个信源必须标记为以下状态之一：
   - ✅ 成功获取 - 获取到详细价格信息
   - ⚠️ 待确认 - 获取到部分信息但不完全，或需要进一步确认
   - ❌ 失败 - 无法获取，页面需要JavaScript或404等
5. **核对清单**：完成后必须确认每个信源都有对应的处理记录

**禁止跳过任何信源！** 即使某个信源预计会失败，也必须尝试获取并标记状态。

### 步骤1：读取并建立信源核对表

执行任务第一步，必须读取 sources.md 并建立以下格式的核对表：

```
| 序号 | 信源类别 | 信源名称 | URL | 状态 | 获取信息摘要 |
|------|----------|----------|-----|------|--------------|
| 1 | 国内云厂商Coding Plan | 腾讯云 | https://cloud.tencent.com/act/pro/codingplan | ✅ | Pro 200元/月，首月39.9元 |
| 2 | 国内云厂商Coding Plan | 阿里云 | https://www.aliyun.com/benefit/scene/codingplan | ✅ | Pro 200元/月 |
...
```

### 步骤2：联网搜索 - 必须严格按顺序执行！

> **执行流程：每个信源必须严格按 A→B→C→D→E 顺序执行！**
> - 对**每个信源URL**依次尝试策略A、B、C、D、E
> - 只有当前策略**明确失败**才能进入下一策略
> - 不能跳过任何策略！
> - 每完成一个URL的所有策略后立即更新状态

---

#### 策略执行流程图

```
URL1: 策略A → (失败?) → 策略B → (失败?) → 策略C → (失败?) → 策略D → (失败?) → 策略E
URL2: 策略A → (失败?) → 策略B → (失败?) → 策略C → (失败?) → 策略D → (失败?) → 策略E
...
```

**策略失败判定标准：**
- ❌ 返回"需要JavaScript"或"请启用JavaScript"
- ❌ 返回404 Not Found
- ❌ 返回内容为空或不完整（缺少价格、用量等关键信息）
- ⚠️ 百度搜索被验证机制拦截

---

#### 策略A - 直接访问主活动页面

先访问 sources.md 中的**主活动页面URL**，获取官方定价信息。

**失败条件（必须进入策略B）：**
- 页面显示"请启用JavaScript"
- 页面返回404
- 页面内容不完整，缺少价格/用量信息

---

#### 策略B - 访问帮助/文档页面

**失败条件（必须进入策略C）：**
- 页面显示"请启用JavaScript"
- 页面返回404
- 页面内容不完整

**帮助文档URL参考（来自sources.md）：**
- 腾讯云：`https://cloud.tencent.com/document/product/1772/128947`
- 阿里云：`https://help.aliyun.com/zh/model-studio/coding-plan`
- 移动云：`https://ecloud.10086.cn/op-help-center/doc/article/98320?marketLeoId=codingplan`

---

#### 策略C - 无头浏览器（Playwright） 必须执行！

**触发条件（必须使用）：**
- 策略A/B 都失败后
- 页面显示"请启用JavaScript"或"We're sorry but...doesn't work properly without JavaScript"

**执行步骤：**

1. **检查Playwright是否已安装**
```bash
# Windows环境检查
dir scripts/node_modules/playwright 2>nul || echo "NOT_INSTALLED"
```

2. **安装Playwright（如未安装）**
进入model-resources-collection目录下进行安装：
```bash
# 安装依赖
npm install playwright

# 安装Chromium浏览器
npx playwright install chromium
```

3. **修改fetch-js-pages.js中的URL列表**
```bash
# 编辑脚本文件，添加需要JS渲染的URL
notepad scripts/fetch-js-pages.js
```

或直接修改以下数组：
```javascript
const urls = [
  { name: '移动云 Coding Plan', url: 'https://ecloud.10086.cn/portal/act/codingplan' },
  { name: '火山引擎 Coding Plan', url: 'https://www.volcengine.com/activity/codingplan' },
  { name: '京东云 Coding Plan', url: 'https://www.jdcloud.com/cn/pages/codingplan' },
  // 添加其他需要JS渲染的URL...
];
```

4. **运行脚本**
```bash
# 运行脚本获取页面
node scripts/fetch-js-pages.js
```

5. **读取结果并提取信息**
```bash
# 读取生成的JSON结果文件
type scripts/fetch-results.json
```

- 从content中提取价格、套餐、用量等信息
- 将对应信源的状态从❌更新为✅，并填写获取到的信息

**注意：必须尝试执行Playwright，如果因环境限制无法执行（如浏览器未安装），标记为❌并说明"策略C执行失败（环境限制）"**

---

#### 策略D - 百度搜索

使用 websearch 工具搜索关键词组合：
- `厂商名 + Coding Plan + 套餐 + 价格`
- `厂商名 + API + 免费额度 + 2026`
- `厂商名 + 模型 + 定价 + 用量限制`

**失败条件（必须进入策略E）：**
- 搜索结果中没有找到价格/用量信息
- 搜索被验证机制拦截

---

#### 策略E - 第三方信息源

当以上策略都失败时，搜索：
- 技术博客（InfoQ、掘金、知乎）
- 开发者社区（V2EX、Reddit）
- 评测文章

#### 1.3 优先级排序

**优先级1 - 国内云厂商**（阿里云、腾讯云、百度云、京东云、移动云、联通云等）

**优先级2 - 国内大模型公司**（DeepSeek、智谱、月之暗面、MiniMax、科大讯飞等）

**优先级3 - 免费API服务**（Cloudflare Workers AI、Hugging Face、GitHub Models等）

**优先级4 - Coding计划**（GitHub Copilot、JetBrains等）

**优先级5 - 开发者社区**（搜索最新讨论和对比评测）

#### 1.4 必须获取的信息（重要！）

每个厂商/套餐**必须包含以下详细信息**，不能简单写"参考官网"：
- **套餐名称**：具体的套餐名称
- **价格**：具体价格（如：40元/月、200元/月）
- **支持的模型**：列出所有支持的模型名称
- **用量限制**：具体的请求次数限制（如：1200次/5小时、18000次/月）
- **支持的工具**：兼容的AI编程工具列表
- **购买链接**：直达购买页面的链接

### 步骤2：整理信息并调用脚本生成文档

#### 2.1 提取关键信息（必须详细！）

从搜索结果中**必须提取以下详细信息**：
- **套餐名称**：具体的套餐名称（如：Coding Plan Lite、Coding Plan Pro）
- **价格**：具体价格数字（如：40元/月、200元/月），首月特惠需标注
- **支持的模型**：列出所有支持的模型（如：GLM-5、Kimi-K2.5、MiniMax-M2.5、DeepSeek-V3.2）
- **用量限制**：具体的请求次数（如：1200次请求/5小时，9000次请求/周，18000次请求/月）
- **额度恢复机制**：每5小时/每周/每月额度如何恢复
- **支持的工具**：兼容的AI编程工具（如：Claude Code、Cursor、Cline等）
- **套餐说明**：简要说明适用场景
- **注意事项**：特别提醒事项（如禁止API调用、数据授权等）
- **购买链接**：直达购买页面的链接

**绝对禁止**简单写"详见官网"、"参考官网"等敷衍描述！如果一次获取不到，必须进行多级获取！

**百度搜索结果处理技巧：**
- 百度搜索结果页面包含最新的新闻和价格信息
- 优先查看标注"官方"或最新日期的结果
- 从搜索摘要中提取关键价格信息
- 如果搜索结果中有对比评测文章，优先参考

#### 2.2 比价逻辑和排序规则（重要！）

**性价比之选排序规则：按月均价格从低到高排列**
1. 优先展示月均价格最低的套餐
2. 首月特惠价格需标注说明（如：首月7.9元，之后23.4元/月）
3. 价格相同时按用量限制排序（额度高的优先）
4. 所有套餐必须包含详细信息，不能出现"详见官网"

**示例排序：**
- 移动云：23.4元/月（首月7.9元）→ 排第一
- 腾讯云Lite：40元/月 → 排第二
- 百度云Lite：40元/月 → 排第三
- 阿里云Pro：200元/月 → 排第四
- 腾讯云Pro：200元/月 → 排第五

#### 2.3 准备JSON数据

将提取的信息整理成JSON格式，结构如下：

```json
{
    "date": "2026-03-28",
    "cost_effective": [
        {
            "name": "厂商名称",
            "price": "价格信息（含首月特惠说明）",
            "models": "支持的模型1、模型2、模型3",
            "description": "套餐说明",
            "limit": "每5小时xx次请求，每周xx次请求，每月xx次请求",
            "recovery": "额度恢复机制说明",
            "tools": "支持的工具列表",
            "notes": "注意事项",
            "rating": "推荐指数",
            "link": "https://xxx"
        }
    ],
    "discount_plans": [...],
    "free_models": [...],
    "free_plans": [...]
}
```

**注意：JSON数据必须按价格从低到高排序！**

#### 2.3 调用Python脚本生成文档

**必须使用scripts目录下的generate_report.py脚本**将JSON数据转换为Markdown文档。

调用命令：
```bash
python scripts/generate_report.py --input data.json --template references/output-template.md --output model-resources-guide.md
```

参数说明：
- `--input`: 输入的JSON数据文件路径
- `--output`: 输出的Markdown文件路径
- `--template`: 可选，指定模板文件路径（默认使用references/output-template.md）

### 步骤3：最终核对与保存

#### 3.1 最终核对（必须执行！）

生成文档前，必须完成以下核对：

1. **打开核对表**：回顾步骤1建立的信源核对表
2. **检查每项状态**：确认每个信源都有对应的处理记录
3. **标记待确认项**：对于无法获取的信源，在文档中明确标记"⚠️待确认"并说明原因
4. **补充遗漏项**：如有遗漏的信源，立即补充获取

**核对清单示例：**
```
✅ 腾讯云 - 已获取详细价格
✅ 阿里云 - 已获取详细价格
✅ 百度云 - 已获取详细价格
✅ 火山引擎 - 已获取
⚠️ 京东云 - 需要JavaScript，待确认
⚠️ 移动云 - 需要JavaScript，待确认
⚠️ 智谱AI - 需要JavaScript，待确认
❌ 联通云 - 无帮助文档URL
...
```

#### 3.2 保存文件

- 保存到当前目录：`model-resources-guide.md`
- 在文档顶部标注信息获取日期

## 信息来源

**详见 references/sources.md**（必须参考）

## 输出格式

**详见 references/output-template.md**（必须按照此模板格式组织信息）

## 注意事项

1. 文档中必须标注信息获取日期
2. 必须提醒用户"具体优惠以各平台官方最新公告为准"
3. 配置示例仅供参考，实际配置请以官方文档为准
4. 优先搜索中文来源，确保信息对国内用户有参考价值
5. **必须覆盖sources.md中的所有来源**，不能遗漏任何一项
6. **禁止跳过任何信源** - 即使预计会失败也必须尝试并标记状态
7. **并行执行webfetch** - 同时发起多个搜索请求提高效率
8. **多级页面抓取** - 主页面没信息时，必须查找"使用指南"、"了解更多"等子页面
9. **百度搜索作为补充** - 直接访问失败时使用百度搜索获取信息
10. **绝对禁止敷衍** - 不能写"参考官网"、"详见官网"等，必须提供具体的价格、用量限制等信息
11. **用户目标** - 用户需要通过本文档详细了解各厂商套餐，直接选出最优惠方案并点击购买
12. **最终核对** - 完成后必须确认每个信源都有对应的处理记录，标记✅/⚠️/❌
13. **无头浏览器兜底** - 当策略都失败时，必须使用Playwright尝试获取JavaScript渲染页面
