---
name: aiwatch-site-ops
description: 运营 AI 观象台（AIWATCH）导航站的完整技能。覆盖 AI 产品上新、Agent 资产（GitHub/MCP/Skill/Icon）收录、资讯与博客发布、今日推荐与热度数据更新、内容下架、验证与发布上线。当你需要接管、代运营或批量更新本站内容时使用。适用于 Claude Code / Cursor / 任意能执行 shell 的 agent。
---

# AIWATCH 站点运营技能

你正在运营一个**全静态、内容即代码**的 AI 导航站：所有内容 = git 仓库里 `src/content/` 下的 markdown 文件，网站是这些文件的纯函数。你写文件 → 构建校验 → push → 自动上线。没有后台，没有数据库。

## 0. 前置条件

```bash
git clone <本仓库>   # 有仓库写权限即可运营
cd site && npm install
```

一切运营动作通过 `npm run ops -- <命令>` 完成（脚本内置 schema 校验与查重），也可以直接手写 markdown（模板见 §6）。

## 1. 核心心智

- **一条内容 = 一个文件**：`src/content/{tools,assets,news,blog}/<slug>.md`
- **schema 即质检**：`npm run verify`（= 构建）会校验全部字段，报错会指出哪个文件哪个字段
- **发布 = git push**：CI 会再次构建校验，通过即自动部署上线
- **人类只看 diff**：commit message 要让人一眼看懂这次运营动作

## 2. 运营命令速查

```bash
# —— 上新 ——
npm run ops -- add-tool  --name "产品名" --category "AI 编程" --color purple \
  --summary "一句话卖点(≤80字)" --icon claude-color --site https://官网 \
  --pricing 免费增值 --platforms "Web,CLI" --tags "标签1,标签2" --trend 5000
npm run ops -- add-asset --name n8n-mcp --type mcp --category "开发与代码" \
  --summary "一句话" --install "claude mcp add n8n -- npx -y n8n-mcp" --official
npm run ops -- add-news  --title "标题" --source "官方博客" --summary "一句话" --hot
npm run ops -- add-blog  --title "标题" --kind 实操教程 --minutes 8 --summary "一句话"

# —— 数据更新 ——
npm run ops -- trend <slug> <数值>        # 更新 7 日热度（驱动热门榜排序）
npm run ops -- feature <slug> [--off]     # 设/撤今日推荐（轮播位，全站同时 ≤3 个）
npm run ops -- hot <slug> [--off]         # 进/出首页热门区

# —— 下架 / 查看 ——
npm run ops -- retire <collection> <slug> # 下架（删除文件）
npm run ops -- list [collection]          # 列出收录清单

# —— 自动采集（F3 流水线） ——
npm run collect -- --dry                  # 只看四源采集+查重结果（不调 LLM 不写文件）
npm run collect                           # 完整一轮：采集→LLM编辑→写入→构建校验（需 ANTHROPIC_API_KEY）
# 定时自动跑：.github/workflows/collect.yml（每日两轮，产出自动 commit，人工抽查 diff）

# —— 验证与发布 ——
npm run verify                            # 构建 + schema 校验（任何改动后必跑）
npm run ops -- publish "运营: 收录 XX 等 3 个产品"   # add+commit+push 一步完成
```

`add-*` 命令会自动生成 slug、查重、补 `addedAt`，产出的文件**正文留 TODO**——你必须补写 2-3 段编辑部口吻的产品介绍（是什么/适合谁/怎么用）再发布。

## 3. 标准工作流

### 3.1 日常上新（最常用）

1. 调研候选（GitHub Trending / HF / Product Hunt / 官方博客），判断新颖度与热度
2. `ops -- list tools` 查重（同名/同官网不重复收录）
3. `ops -- add-tool ...` 生成骨架 → 补写正文介绍
4. 值得上首页就 `--trend` 给真实热度值；是今天最亮眼的就 `ops -- feature <slug>`
5. `npm run verify` → `ops -- publish "运营: 收录 <名字>"`

### 3.2 每日数据刷新

对已收录且仍活跃的产品更新 `trend7d`（来源：GitHub star 增速 / 各榜单热度，量级一致即可）；热度过气的 `hot --off`。今日推荐每天应轮换：给昨天的 feature `--off`，给今天的新星 feature。

### 3.3 资讯值守

大事件（模型发布/重大融资/标准落地）当天发：`add-news --hot`；普通动态不加 `--hot`。资讯若关联站内产品，编辑文件补 `relatedTools: [<tool-slug>]`（详情页会自动挂相关产品卡）。

## 4. 质量红线（违反=返工）

- summary ≤80 字、无营销黑话；正文讲清"是什么/适合谁/怎么用"，禁止空洞吹捧
- 图标用 lobehub id；**mono-only 名单**（不要加 -color）：cursor、midjourney、ollama、v0、windsurf、suno、runway、notebooklm、flux、kimi
- 分类颜色全站一致（同 category 同 color）
- 不碰 `src/pages`、`src/layouts`、`public/_headers` ——那是站点代码，内容运营不需要；要改代码先读仓库根 CLAUDE.md
- **Agent 友好承诺不可退化**：llms.txt 覆盖全部收录、.md 镜像、tools.json 字段只增不删、robots 对 AI 爬虫全开
- 绝不在内容文件里写入任何密钥/token

## 5. 出错与回滚

- `verify` 红了：按报错改字段（最常见：YAML 日期要加引号、enum 值拼错、summary 超长）
- 发布后发现内容错误：改文件重新 publish；需要整体回退用 `git revert <commit>`（不要 force push）

## 6. 手写内容模板（不用 ops 脚本时）

<details><summary>tools frontmatter</summary>

```yaml
---
name: 产品名
category: AI 编程
categoryColor: purple      # purple/blue/pink/cyan/orange
summary: 一句话卖点（≤80字）
icon: claude-color
site: https://官网
pricing: 免费增值           # 免费/免费增值/付费/开源
platforms: [Web, CLI]
tags: [标签1, 标签2]
trend7d: 5000
hot: false
featured: false
addedAt: 2026-07-07
highlights: []             # 可选：[{ title, desc }] ≤3
changelog: []              # 可选：[{ v, date: "2026-07-07", note }] 日期必须引号
---
正文 2-3 段。
```
</details>

<details><summary>assets frontmatter（按 type 选填差异字段）</summary>

```yaml
---
name: xxx
type: mcp                  # github/mcp/skill/icon
category: 开发与代码
summary: 一句话（≤80字）
icon: n8n-color            # 可选
install: claude mcp add …  # 强烈建议：一键安装命令
repo: https://github.com/…
official: false
stars: 18.7k
trend7d: 1000
addedAt: 2026-07-07
# github 专属: owner / language / topics / forks / license
# mcp 专属:    toolsCount / transport(stdio|http|sse)
# skill 专属:  version / fits(适配agent的icon id数组)
# icon 专属:   formats / license / single(单个图标true)
---
正文 1-2 段。
```
</details>

<details><summary>news / blog frontmatter</summary>

```yaml
# news
---
title: 标题
source: 来源
hot: false
publishedAt: 2026-07-07T09:30:00+08:00
summary: 一句话（≤120字）
relatedTools: []           # 站内 tools 的 slug
---
正文 1-3 段。

# blog
---
title: 标题
kind: 实操教程              # 深度长文/实操教程/复盘/横向评测
minutes: 8
publishedAt: 2026-07-07T10:00:00+08:00
summary: 一句话（≤120字）
---
正文。
```
</details>
