# 上游 API 与独立页面对应表

核对日期：2026-10-23。范围为洛克王国世界上游目录、官方前端与发布方客户端已公开声明的游戏数据接口；不声称覆盖未公开接口。

共 **101 条公开 GET 路由模板**，本站对应 **115 个独立功能页**。13 个道具分类视图共用 `/items`；`pet-detail` 是本站保留的聚合服务，因此数量不同。另有 **36 个接入条件说明页**，不会调用收费、私人或写入接口。

- 功能入口：[全部功能](catalogs.html)
- API 调试：[开放接口](api.html)
- 机器目录：[接口说明](wiki-api.php?api=help)
- 可复查清单：[公开接口来源](data/upstream-inventory.json)、[未接入条件](data/upstream-access.json)

## 核验方式

本次复核重新抓取上游目录、计费路由清单、官方前端与发布方客户端的路由声明，并实时抽样 28 条不同路由返回 HTTP 200 / code=0，其余通过既有成功缓存交叉确认，避免对上游重复全量请求。页面运行时仍可能受到上游数据缺失、限流或维护影响，错误和缓存时间会明确显示。

## 数据源

- [上游官网](https://rocom.shallow.ink/)
- [Wiki 资源目录](https://wegame.shallow.ink/api/v1/games/rocom/wiki/catalogs)
- [精灵分区声明](https://wegame.shallow.ink/api/v1/games/rocom/wiki/pets/3001)
- [官方前端 Wiki 客户端](https://rocom.shallow.ink/_next/static/chunks/0m-~f8ki1ioit.js)
- [发布方 Wiki 路由定义](https://github.com/Entropy-Increase-Team/astrbot_plugin_rocom/blob/master/core/wiki_catalog.py)
- [发布方参数约定](https://github.com/Entropy-Increase-Team/astrbot_plugin_rocom/blob/master/core/client.py)
- [公开计费路由清单](https://wegame.shallow.ink/api/v1/subscription/pricing/routes)

## 功能与页面

表中的路径以 `https://wegame.shallow.ink/api/v1/games/rocom/` 为前缀。GET 通过本站 `wiki-api.php?resource=...` 安全代理。必填参数、单位和本地限制以机器目录为准。

### 精灵与战斗

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 精灵图鉴 | [pets.html](pets.html) | `pets` | `wiki/pets` |
| 技能图鉴 | [skills.html](skills.html) | `skills` | `wiki/skills` |
| 技能石 | [skill-stones.html](skill-stones.html) | `skill-stones` | `wiki/skill-stones` |
| 技能石配方 | [skill-stone-recipes.html](skill-stone-recipes.html) | `skill-stone-recipes` | `wiki/skill-stone-recipes` |
| 精灵携带物 | [pet-carryons.html](pet-carryons.html) | `pet-carryons` | `wiki/pet-carryons` |
| 升级经验表 | [pet-levels.html](pet-levels.html) | `pet-levels` | `wiki/pet-levels` |
| 公开阵容分享 | [share-code-records.html](share-code-records.html) | `share-code-records` | `tools/share-code/records` |
| 公开收集排行榜 | [pet-collection-rankings.html](pet-collection-rankings.html) | `pet-collection-rankings` | `ingame/player/card/pet-stats/rankings/{rank_type}?resolve_names=0` |

### 孵蛋与养育

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 精灵蛋 | [pet-eggs.html](pet-eggs.html) | `pet-eggs` | `wiki/pet-eggs` |
| 随机蛋 | [random-eggs.html](random-eggs.html) | `random-eggs` | `wiki/random-eggs` |
| 蛋物品 | [egg-items.html](egg-items.html) | `egg-items` | `wiki/egg-items` |
| 精灵果实 | [pet-fruits.html](pet-fruits.html) | `pet-fruits` | `wiki/pet-fruits` |
| 精灵食物 | [pet-foods.html](pet-foods.html) | `pet-foods` | `wiki/pet-foods` |
| 精灵礼物 | [pet-gifts.html](pet-gifts.html) | `pet-gifts` | `wiki/pet-gifts` |
| 随机蛋体型反查 | [pet-size.html](pet-size.html) | `pet-size` | `wiki/pet-size/query` |
| 蛋组词典 | [egg-groups.html](egg-groups.html) | `egg-groups` | `egg/groups` |
| 按蛋组查询精灵 | [egg-group-pets.html](egg-group-pets.html) | `egg-group-pets` | `egg/group-pets` |
| 按精灵查蛋组 | [egg-pet-groups.html](egg-pet-groups.html) | `egg-pet-groups` | `egg/pet-groups` |
| 蛋显示尺寸匹配 | [egg-search.html](egg-search.html) | `egg-search` | `egg/search` |

### 家园

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 家园成长 | [home-progression.html](home-progression.html) | `home-progression` | `wiki/home/progression` |
| 家园产蛋概率 | [home-egg-lay-rates.html](home-egg-lay-rates.html) | `home-egg-lay-rates` | `wiki/home-egg-lay-rates` |
| 家具 | [furniture.html](furniture.html) | `furniture` | `wiki/furniture` |
| 种植 | [plants.html](plants.html) | `plants` | `wiki/plants` |
| 食谱 | [recipes.html](recipes.html) | `recipes` | `wiki/recipes` |
| 果实树 | [fruit-trees.html](fruit-trees.html) | `fruit-trees` | `wiki/fruit-trees` |

### 世界与冒险

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 地区 | [regions.html](regions.html) | `regions` | `wiki/regions` |
| 副本 | [dungeons.html](dungeons.html) | `dungeons` | `wiki/dungeons` |
| 咕噜球 | [balls.html](balls.html) | `balls` | `wiki/balls` |
| 奖章 | [medals.html](medals.html) | `medals` | `wiki/medals` |

### 任务与剧情

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 任务 | [tasks.html](tasks.html) | `tasks` | `wiki/tasks` |
| 剧情摘要 | [task-summaries.html](task-summaries.html) | `task-summaries` | `wiki/task-summaries` |

### 商店与兑换

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 商店 | [shops.html](shops.html) | `shops` | `wiki/shops` |
| 兑换 | [exchanges.html](exchanges.html) | `exchanges` | `wiki/exchanges` |
| 邮件 | [mails.html](mails.html) | `mails` | `wiki/mails` |

### 装扮与个性

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 时装套装 | [fashions.html](fashions.html) | `fashion` | `wiki/fashion` |
| 包挂饰 | [fashion-bag-charms.html](fashion-bag-charms.html) | `fashion-bag-charms` | `wiki/fashion/bag-charms` |
| 魔杖 | [fashion-wands.html](fashion-wands.html) | `fashion-wands` | `wiki/fashion/wands` |
| 服装单件 | [fashion-items.html](fashion-items.html) | `fashion-items` | `wiki/fashion/items` |
| 美容妆容 | [fashion-beauty.html](fashion-beauty.html) | `fashion-beauty` | `wiki/fashion/beauty` |
| 华丽徽章 | [fashion-bonds.html](fashion-bonds.html) | `fashion-bonds` | `wiki/fashion/bonds` |
| 音乐 | [music.html](music.html) | `music` | `wiki/music` |
| 聊天表情 | [chat-emojis.html](chat-emojis.html) | `chat-emojis` | `wiki/chat-emojis` |
| 拍照动作 | [photo-actions.html](photo-actions.html) | `photo-actions` | `wiki/photo-actions` |

### 道具与收藏

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 道具总览 | [items.html](items.html) | `items` | `wiki/items` |
| 个人名片资产 | [profile-assets.html](profile-assets.html) | `profile-assets` | `wiki/profile-assets` |
| 图鉴区域 | [handbook-areas.html](handbook-areas.html) | `handbook-areas` | `wiki/handbook/areas` |
| 头像 | [avatars.html](avatars.html) | `avatars` | `wiki/items?is_avatar=1` |
| 名片装扮 | [card-skins.html](card-skins.html) | `card-skins` | `wiki/items?is_card_skin=1` |
| 称号 | [titles.html](titles.html) | `titles` | `wiki/items?is_title=1` |
| 动作 | [actions.html](actions.html) | `actions` | `wiki/items?is_action=1` |
| 炫彩拼图 | [glass-pieces.html](glass-pieces.html) | `glass-pieces` | `wiki/items?is_glass_piece=1` |
| 血脉道具 | [bloodline-items.html](bloodline-items.html) | `bloodline-items` | `wiki/items?is_bloodline_item=1` |
| 成长材料 | [pet-growth-materials.html](pet-growth-materials.html) | `pet-growth-materials` | `wiki/items?is_pet_growth_material=1` |
| 首领信物 | [boss-tokens.html](boss-tokens.html) | `boss-tokens` | `wiki/items?is_boss_token=1` |
| 精灵奖牌 | [pet-medals.html](pet-medals.html) | `pet-medals` | `wiki/items?is_pet_medal=1` |
| 精灵记忆 | [pet-memories.html](pet-memories.html) | `pet-memories` | `wiki/items?is_pet_memory=1` |
| 任务道具 | [task-items.html](task-items.html) | `task-items` | `wiki/items?is_task_item=1` |
| 食物材料 | [food-materials.html](food-materials.html) | `food-materials` | `wiki/items?is_food_material=1` |
| 植物种子 | [plant-seeds.html](plant-seeds.html) | `plant-seeds` | `wiki/items?is_plant_seed=1` |

### 接口与目录

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| Wiki 资源目录 | [catalogs.html](catalogs.html) | `catalogs` | `wiki/catalogs` |
| 筛选字典 | [options.html](options.html) | `options` | `wiki/options` |

### 精灵详情

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 精灵基础与外观 | [pet-appearance.html](pet-appearance.html) | `pet-appearance` | `wiki/pets/{pet_id}` |
| 精灵完整档案 | [pet.html](pet.html) | `pet-detail` | `wiki/pets/{pet_id}` |
| 精灵种族值与生态 | [pet-profile.html](pet-profile.html) | `pet-profile` | `wiki/pets/{pet_id}/profile` |
| 精灵进化链 | [pet-family.html](pet-family.html) | `pet-family` | `wiki/pets/{pet_id}/family` |
| 精灵可学习技能 | [pet-skills.html](pet-skills.html) | `pet-skills` | `wiki/pets/{pet_id}/skills` |
| 精灵获取方式 | [pet-acquisition.html](pet-acquisition.html) | `pet-acquisition` | `wiki/pets/{pet_id}/acquisition` |
| 精灵孵蛋配置 | [pet-egg.html](pet-egg.html) | `pet-egg` | `wiki/pets/{pet_id}/egg` |
| 精灵特长池 | [pet-talents.html](pet-talents.html) | `pet-talents` | `wiki/pets/{pet_id}/talents` |
| 精灵特性 | [pet-features.html](pet-features.html) | `pet-features` | `wiki/pets/{pet_id}/features` |
| 精灵骑乘与同乘 | [pet-ride.html](pet-ride.html) | `pet-ride` | `wiki/pets/{pet_id}/ride` |
| 精灵吸引果实 | [pet-fruit.html](pet-fruit.html) | `pet-fruit` | `wiki/pets/{pet_id}/fruit` |
| 精灵图鉴课题 | [pet-handbook.html](pet-handbook.html) | `pet-handbook` | `wiki/pets/{pet_id}/handbook` |
| 精灵生态资料 | [pet-ecology.html](pet-ecology.html) | `pet-ecology` | `wiki/pets/{pet_id}/ecology` |
| 精灵性格配置 | [pet-natures.html](pet-natures.html) | `pet-natures` | `wiki/pets/{pet_id}/natures` |
| 精灵背景故事 | [pet-stories.html](pet-stories.html) | `pet-stories` | `wiki/pets/{pet_id}/stories` |

### 图鉴详情

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 技能详情 | [skill-detail.html](skill-detail.html) | `skill-detail` | `wiki/skills/{skill_id}` |
| 道具详情 | [item-detail.html](item-detail.html) | `item-detail` | `wiki/items/{item_kind}/{item_id}` |
| 随机蛋详情 | [random-egg-detail.html](random-egg-detail.html) | `random-egg-detail` | `wiki/random-eggs/{random_egg_id}` |
| 精灵蛋详情 | [pet-egg-detail.html](pet-egg-detail.html) | `pet-egg-detail` | `wiki/pet-eggs/{egg_conf_id}` |
| 任务详情 | [task-detail.html](task-detail.html) | `task-detail` | `wiki/tasks/{task_id}` |
| 地区详情 | [region-detail.html](region-detail.html) | `region-detail` | `wiki/regions/{region_id}` |
| 副本详情 | [dungeon-detail.html](dungeon-detail.html) | `dungeon-detail` | `wiki/dungeons/{dungeon_id}` |
| 商店详情 | [shop-detail.html](shop-detail.html) | `shop-detail` | `wiki/shops/{shop_id}` |
| 家具详情 | [furniture-detail.html](furniture-detail.html) | `furniture-detail` | `wiki/furniture/{furniture_id}` |
| 兑换详情 | [exchange-detail.html](exchange-detail.html) | `exchange-detail` | `wiki/exchanges/{exchange_id}` |
| 奖章详情 | [medal-detail.html](medal-detail.html) | `medal-detail` | `wiki/medals/{medal_id}` |
| 技能石详情 | [skill-stone-detail.html](skill-stone-detail.html) | `skill-stone-detail` | `wiki/skill-stones/{item_id}` |
| 时装套装详情 | [fashion.html](fashion.html) | `fashion-detail` | `wiki/fashion/{suit_id}` |
| 技能石配方详情 | [skill-stone-recipe-detail.html](skill-stone-recipe-detail.html) | `skill-stone-recipe-detail` | `wiki/skill-stone-recipes/{item_id}` |
| 蛋物品详情 | [egg-item-detail.html](egg-item-detail.html) | `egg-item-detail` | `wiki/egg-items/{item_id}` |
| 精灵果实详情 | [pet-fruit-detail.html](pet-fruit-detail.html) | `pet-fruit-detail` | `wiki/pet-fruits/{item_id}` |
| 精灵食物详情 | [pet-food-detail.html](pet-food-detail.html) | `pet-food-detail` | `wiki/pet-foods/{item_id}` |
| 精灵礼物详情 | [pet-gift-detail.html](pet-gift-detail.html) | `pet-gift-detail` | `wiki/pet-gifts/{item_id}` |
| 等级经验详情 | [pet-level-detail.html](pet-level-detail.html) | `pet-level-detail` | `wiki/pet-levels/{level}` |
| 食谱详情 | [recipe-detail.html](recipe-detail.html) | `recipe-detail` | `wiki/recipes/{item_id}` |
| 咕噜球详情 | [ball-detail.html](ball-detail.html) | `ball-detail` | `wiki/balls/{item_id}` |
| 种植详情 | [plant-detail.html](plant-detail.html) | `plant-detail` | `wiki/plants/{item_id}` |
| 包挂饰详情 | [fashion-bag-charm-detail.html](fashion-bag-charm-detail.html) | `fashion-bag-charm-detail` | `wiki/fashion/bag-charms/{bag_charm_id}` |
| 魔杖详情 | [fashion-wand-detail.html](fashion-wand-detail.html) | `fashion-wand-detail` | `wiki/fashion/wands/{wand_id}` |
| 服装单件详情 | [fashion-item-detail.html](fashion-item-detail.html) | `fashion-item-detail` | `wiki/fashion/items/{item_id}` |
| 精灵携带物详情 | [pet-carryon-detail.html](pet-carryon-detail.html) | `pet-carryon-detail` | `wiki/pet-carryons/{item_id}` |
| 邮件详情 | [mail-detail.html](mail-detail.html) | `mail-detail` | `wiki/mails/{mail_id}` |
| 音乐详情 | [music-detail.html](music-detail.html) | `music-detail` | `wiki/music/{music_id}` |
| 名片资产详情 | [profile-asset-detail.html](profile-asset-detail.html) | `profile-asset-detail` | `wiki/profile-assets/{asset_type}/{asset_id}` |
| 聊天表情详情 | [chat-emoji-detail.html](chat-emoji-detail.html) | `chat-emoji-detail` | `wiki/chat-emojis/{emoji_id}` |
| 拍照动作详情 | [photo-action-detail.html](photo-action-detail.html) | `photo-action-detail` | `wiki/photo-actions/{action_type}/{action_id}` |
| 剧情摘要详情 | [task-summary-detail.html](task-summary-detail.html) | `task-summary-detail` | `wiki/task-summaries/{summary_id}` |
| 果实树详情 | [fruit-tree-detail.html](fruit-tree-detail.html) | `fruit-tree-detail` | `wiki/fruit-trees/{tree_id}` |
| 技能可学习精灵 | [skill-learners.html](skill-learners.html) | `skill-learners` | `wiki/skills/{skill_id}/pets` |
| 果实刷新精灵 | [fruit-refresh.html](fruit-refresh.html) | `fruit-refresh` | `wiki/fruit-refresh/{fruit_item_id}` |

### 活动与资讯

| 功能 | 独立页面 | resource | 上游路径 |
| --- | --- | --- | --- |
| 活动日历 | [activities.html](activities.html) | `activities` | `activities/info` |
| 公告列表 | [announcement-list.html](announcement-list.html) | `announcement-list` | `announcement/list` |
| 最新公告 | [announcement-latest.html](announcement-latest.html) | `announcement-latest` | `announcement/latest` |
| 公告详情 | [announcement-detail.html](announcement-detail.html) | `announcement-detail` | `announcement/detail` |

## 未接入的接口

每条都有独立说明页，但不列入 115 个可用查询功能。没有自动提交游戏 UID、绑定账号、解析分享码、支付积分或发送游戏写入请求。

| 用途 | 方法与路径 | 原因 | 独立说明 |
| --- | --- | --- | --- |
| RoCom Ingame 商店信息 | `GET ingame/merchant/info` | 登录 / API Key 与积分 | [接入条件](access-get-ingame-merchant-info.html) |
| RoCom Ingame 商店信息 | `POST ingame/merchant/info` | 登录 / API Key 与积分 | [接入条件](access-post-ingame-merchant-info.html) |
| RoCom Ingame 精灵图鉴统计 | `GET ingame/pet/stat` | 登录 / API Key 与积分 | [接入条件](access-get-ingame-pet-stat.html) |
| RoCom Ingame 精灵图鉴统计 | `POST ingame/pet/stat` | 登录 / API Key 与积分 | [接入条件](access-post-ingame-pet-stat.html) |
| RoCom 远行商人信息 | `GET merchant/info` | 登录 / API Key 与积分 | [接入条件](access-get-merchant-info.html) |
| 按 UID 查询固定目录修订的家园场景 | `GET home-3d/scene` | 登录 / API Key 与积分 | [接入条件](access-get-home-3d-scene.html) |
| RoCom Ingame 家园信息 | `GET ingame/home/info` | 登录 / API Key 与积分 | [接入条件](access-get-ingame-home-info.html) |
| RoCom Ingame 家园信息 | `POST ingame/home/info` | 登录 / API Key 与积分 | [接入条件](access-post-ingame-home-info.html) |
| RoCom Ingame 家园场景信息 | `GET ingame/home/scene-info` | 登录 / API Key 与积分 | [接入条件](access-get-ingame-home-scene-info.html) |
| RoCom Ingame 家园场景信息 | `POST ingame/home/scene-info` | 登录 / API Key 与积分 | [接入条件](access-post-ingame-home-scene-info.html) |
| RoCom Ingame 好友家园宠物数据 | `GET ingame/pet/data` | 登录 / API Key 与积分 | [接入条件](access-get-ingame-pet-data.html) |
| RoCom Ingame 好友家园宠物数据 | `POST ingame/pet/data` | 登录 / API Key 与积分 | [接入条件](access-post-ingame-pet-data.html) |
| RoCom Ingame 玩家名片 | `GET ingame/player/card` | 登录 / API Key 与积分 | [接入条件](access-get-ingame-player-card.html) |
| RoCom Ingame 玩家名片 | `POST ingame/player/card` | 登录 / API Key 与积分 | [接入条件](access-post-ingame-player-card.html) |
| RoCom Ingame 玩家搜索 | `GET ingame/player/search` | 登录 / API Key 与积分 | [接入条件](access-get-ingame-player-search.html) |
| RoCom Ingame 玩家搜索 | `POST ingame/player/search` | 登录 / API Key 与积分 | [接入条件](access-post-ingame-player-search.html) |
| accounts | `GET accounts` | 玩家 / 账号资料，需授权 | [接入条件](access-get-accounts.html) |
| uid/list | `GET uid/list` | 玩家 / 账号资料，需授权 | [接入条件](access-get-uid-list.html) |
| ingame/tasks/{task_id} | `GET ingame/tasks/{task_id}` | 玩家 / 账号资料，需授权 | [接入条件](access-get-ingame-tasks-task-id.html) |
| profile/role | `GET profile/role` | 玩家 / 账号资料，需授权 | [接入条件](access-get-profile-role.html) |
| profile/evaluation | `GET profile/evaluation` | 玩家 / 账号资料，需授权 | [接入条件](access-get-profile-evaluation.html) |
| profile/pet-summary | `GET profile/pet-summary` | 玩家 / 账号资料，需授权 | [接入条件](access-get-profile-pet-summary.html) |
| profile/collection | `GET profile/collection` | 玩家 / 账号资料，需授权 | [接入条件](access-get-profile-collection.html) |
| profile/battle-overview | `GET profile/battle-overview` | 玩家 / 账号资料，需授权 | [接入条件](access-get-profile-battle-overview.html) |
| battle/list | `GET battle/list` | 玩家 / 账号资料，需授权 | [接入条件](access-get-battle-list.html) |
| battle/pets | `GET battle/pets` | 玩家 / 账号资料，需授权 | [接入条件](access-get-battle-pets.html) |
| lineup/list | `GET lineup/list` | 玩家 / 账号资料，需授权 | [接入条件](access-get-lineup-list.html) |
| social/friendship | `GET social/friendship` | 玩家 / 账号资料，需授权 | [接入条件](access-get-social-friendship.html) |
| activity/student-state | `GET activity/student-state` | 玩家 / 账号资料，需授权 | [接入条件](access-get-activity-student-state.html) |
| activity/perks | `GET activity/perks` | 玩家 / 账号资料，需授权 | [接入条件](access-get-activity-perks.html) |
| exchange/posters | `GET exchange/posters` | 访问条件未确认 | [接入条件](access-get-exchange-posters.html) |
| uid/bind | `POST uid/bind` | 有写入或删除操作 | [接入条件](access-post-uid-bind.html) |
| uid/{uid} | `DELETE uid/{uid}` | 有写入或删除操作 | [接入条件](access-delete-uid-uid.html) |
| tools/share-code/parse | `POST tools/share-code/parse` | 有写入或删除操作 | [接入条件](access-post-tools-share-code-parse.html) |
| pet/list | `GET pet/list` | 旧接口返回 404 | [接入条件](access-get-pet-list.html) |
| pet/detail | `GET pet/detail` | 旧接口返回 404 | [接入条件](access-get-pet-detail.html) |

另外，美容和华丽徽章的详情路由、两项未给出有效路径的亲密度效果资源尚无足够证据，不猜测路径；它们已有的列表页面保持可用。匿名令牌属于服务端基础设施，不建立公开令牌发放页。

## 使用边界

- 图鉴与公告内容均为第三方资料，不代表游戏官方。本地代理只转发白名单路径，未经声明的 URL 参数不会开放任意上游访问。
- 精灵蛋尺寸、精灵身体尺寸和随机蛋池算法分别展示，不能把不同算法的匹配权重混为实际孵化概率。
- 公告的 `page/limit` 与其他列表的 `page_no/page_size` 区分处理；数量和范围限制注明为本站限制，不推断成上游承诺。
- 分享记录只读取已收录内容。真实分享码可超过 240 字节，本站仅该参数放宽至 4096 字节，不自动执行解析或新增。
- 收集排行榜来自公开存量记录，固定 `resolve_names=0`，不转发 `uid`，不进行玩家姓名补全或私有实时查询。
- 某些图片、视频或音乐未被上游提供时会显示明确说明，不制造资源地址。

## 更新与验证

```bash
python3 tools/build-pages.py
python3 tools/build-pages.py --check
python3 tools/check-coverage.py
python3 tests/wiki_api_test.py
php tests/upstream_test.php
NODE_PATH=/path/to/jsdom/node_modules node --test --test-concurrency=1 tests/*_test.cjs
```

新增接口时更新服务端定义与来源清单，随后重新生成页面。覆盖检查保证所有有证据的公开路由均有独立页面，且不把未经证实的路由混入代理。
