全局检索
怪物、任务、素材、武器和技能从同一个入口开始,中文关键词直达详情。
01 / 资料索引
MHQuery 把怪物、素材、武器与配装按实战问题重新组织。你看到的是当前需要的证据,不是堆满屏幕的字段。


Web App 现已可用。首页、搜索、配装和资料目录共享同一套 Field Guide 视觉。
怪物、任务、素材、武器和技能从同一个入口开始,中文关键词直达详情。
斩、打、弹与五属性弱点按部位展开,实战前先看真正影响打法的证据。
14 种武器的前置、分支和强化方向保持连续,不必在多张表之间反复寻找。
同一处看清掉落、任务报酬、采集来源,以及装备、装饰品和调合用途。
用自己的护石、炼化与库存寻找可用方案,个人数据只留在本机实例。
浏览器直接使用
App Store / TestFlight
官网签名 APK · v0.20.20 · 59.0 MiB
下载后打开 APK,按 Android 系统提示允许本次来源并安装;已安装旧版可直接覆盖更新。
77e1aaa2189dc43f1597f5b7b14d47866b8e8f8f692fa64251e5a3a9c1f305cd03 / 调查记录
每个版本记录真实变化。最新内容直接展开,历史记录按需查看。
g_swd001 依据本地武器表与 Kiranico 同轮廓参考确认是钢冰大剑Ⅰ(Icesteel Edge I)/钢龙系共用外观,不再错误显示为“破坏者大刀”。releases/android/latest.json 为准。models.demo.mhquery.site:首版展示 MHR:S 破坏者大刀的 60 帧水平转台,默认正面可立即显示,完整载入后自动回环,并支持暂停、左右拖动、方向键与回到正面;实验不进入当前 App、Supabase 或 TOS 媒体链路。master 生产 CI 新增独立 Cloudflare Pages mhquery-models-demo 的构建与部署,并把 HTML、JS/CSS、manifest、robots.txt 和全部 60 帧纳入 no-cache smoke;源码版本提升为 0.20.31 / 20031,未生成 Android APK,公开 APK 仍以 releases/android/latest.json 为准。quests/filters 与结构化 quest summary,简中、英语、日语只显示当前语言的等级、类型和真实关键/紧急标签,不再显示内部 source code,也不复用 MHR:S 的盟友、怪异或斗技大会选项。0.20.30 / 20030 只是源码候选,公开 APK 仍以 releases/android/latest.json 为准。0.20.29 / 20029 只是源码候选,公开 APK 仍以 releases/android/latest.json 为准。shape=forest,Android 0.20.28 / 20028 只是源码候选,公开 APK 仍以 releases/android/latest.json 为准。api.mhrs_reference 迁移到生产 api.reference(game_id, path, query);客户端按作品校验 gameId、固定 releaseId、locale 与 Zod payload,并用封闭 App profile 与服务 capability 的交集收窄入口。MHP2G/MHFU 仍未开放。mhrs 命名空间并保留旧 key 作为回滚副本;本版本不新增原生能力或 Android APK,0.20.26 / 20026 只是源码候选,公开 APK 仍以 releases/android/latest.json 为准。immutable,HTML 保持重新验证;新增确定性体积门禁和 CI/发布检查,拒绝曾导致空白页的 Expo 实验性 tree shaking。本版本不修改 Supabase/API、产品交互、品牌构图或 CDN/DNS;Android 0.20.25 / 20025 只是源码候选,公开 APK 仍以 releases/android/latest.json 为准。api.mhrs_reference。0.20.24 / 20024 只是源码候选,公开 APK 仍以 releases/android/latest.json 为准。api.mhrs_reference 完成简中、英语、日语三语言链路:28,092 条实体名称与 14,784 条本地化消息进入 typed facts,搜索可用三种语言命中并按请求 locale 单语展示;36 项日语缺失按已登记契约回退英语,missing 为 0。/settings 页面和首页低频设置入口,提供跟随系统、简体中文、English、日本語四种互斥偏好;显式选择立即生效并持久化,不支持的系统语言回退英语,关于分组只显示 App 与版本。TASK-* 事项连接和 schema version 2 的 notion.yaml,以“是否改变项目状态”取代“非平凡”准入;删除 5 个只服务首次七库迁移的一次性脚本及命令,保留 project:status/check/test 三个日常入口,现有每日计划任务同步为只读事项巡检;通用 build 不再把仍真实公开的旧 Android manifest 误判为源码版本错误,Android 发布专用命令继续要求候选版本严格一致。0.20.20 仍是当前已公开 Android 制品。docs/current-focus.md、docs/backlog.md 和 docs/backlog-archive.md,活动 OpenSpec 通过 notion.yaml 连接权威任务与需求,project:status/check 只做无网络的 Git、OpenSpec、任务和连接元数据检查。0.20.20 仍是当前已发布 Android 制品。this 的 React Native Linking.openURL 当作裸函数传递,改为保留 Linking receiver 的 URL opener,并增加真实 receiver 回归测试。0.20.19 的版本化 APK 已公开且不可覆盖,因此本修复按既有发布契约递增到 0.20.20 / 20020,重新执行正式签名、R2 版本对象、生产 Landing、latest.json 与 OPPO 真机升级门禁。site.mhquery.mobile 包名、SemVer 到 versionCode 的机械映射、仓库外 keystore/Keychain 边界、一次性 Expo CNG/Gradle 构建、签名/权限/ABI/SHA-256 复验和 OPPO PFUM10 真机安装查询证据。latest.json 由独立 download.mhquery.site 发布,并按“APK → Landing → manifest”顺序激活,iOS 继续保持未发布状态。Linking.openURL receiver 丢失而未产生 VIEW intent,修复进入不可变的更高 patch 0.20.20。本版本不包含 Google Play/AAB、iOS/TestFlight、应用内安装或强制更新。app.mhquery.site 的 393×852 真实运行态截图证明产品;favicon、apple-touch-icon、OG image、metadata 与来源 / 提示词 / hash / 衍生风险证据同步完成。品牌长期面向《怪物猎人》全系列,但页面诚实标明当前可查 Monster Hunter Rise: Sunbreak。#e8e7e5 原生背景,并接入 Expo 56 推荐的 expo-splash-screen config plugin;iPhone 16 Plus / iOS 18.6 clean build、卸载重装、主屏图标、冷启动帧和 App 浅色 canvas 已取证通过,不再出现深色闪断或纸张方块。ALL SERIES · ONE HUNTER INDEX,明确 MHQuery 面向怪物猎人全系列资料索引,而不是把品牌绑定到单一作品。apps/mobile/assets/brand/ 并由 Expo config 显式引用;24/48px、iOS 圆角和 Android adaptive 安全区都保留猫耳、侧脸与笔记本识别点。Expo Web 393×852 页面矩阵和 iPhone 16 Plus / iOS 18.6 重新构建安装图标均已取证通过,Mobile 31 个 suite、186 项测试通过。app 主块;Landing、OG 与 favicon 暂时保留旧视觉并继续停车到独立 WEB-002。艾露猫衍生身份仍存在角色、商标混淆和商店审核风险,当前不使用官方字标、不声称官方关系,但公开商用前仍需最终品牌/授权判断。agent 推荐 与 负责人最小行动,pnpm project:status 直接显示两者;治理测试从 7 项扩展到 13 项,阻止缺字段、假等待和判断点/行动不一致。MHQuery 每日审批台 保持本地只读和单一任务,只把真实范围、产品或风险判断做成带推荐、影响、直接批准语句和确认后动作的决策卡,不自动修改仓库或推进产品方向。docs/current-focus.md 和 pnpm project:status/project:check/project:test:分支、焦点、活跃 OpenSpec、下一个最小动作、Ready 与待审批可以一条命令恢复,字段、状态、数量和错误主块由无依赖 Node checker 机械校验。package.json 与 CHANGELOG.md;当前产品范围补回已经实现的本机配装工具,并明确玩家护石、怪异炼化防具、素材库存、草稿和收藏方案不写入公共 catalog。FilterSheetTrigger / FilterActionsheet / FilterSection 业务 pattern,把复杂筛选统一为标题、可滚动选项和固定操作三段结构;重置与应用按钮在 Web 保留至少 20pt 底部间距,在 iOS 服从更大的系统安全区。来源 -> 当前 与 当前 -> 后置 表达直属派生方向,视觉节奏与材料、百龙技能等证据卡保持一致。当前 -> 后置 关系行明确共同来源;根节点“初始武器”、叶节点“最终派生”和邻接点击连续浏览能力保持不变。AGENTS.md、Mobile E2E runbook、相关 UX override、媒体 runbook 和 OpenSpec 主规格,要求证据包说明 Web 覆盖范围、选择依据和未覆盖原生风险。v<A.B.C> · YYYYMMDD HH:mm:ss,方便确认当前运行包、线上 Mobile Web 刷新状态和本地/模拟器构建时间。+N 提高识别速度;缺图使用怪物首字、无目标使用任务首字,保持固定行高且不猜测媒体。media.mhquery.site 的 GameCat PNG 原图并保持完整比例;单层地点直接展示,多层地点提供“上层 / 下层”切换,同时具备加载中与失败降级状态。switch-actions projection;缺失/无效武器参数稳定回退大剑,快速切换不会被旧请求覆盖,失败状态可对当前武器重试。icon 媒体绑定;无目标任务返回空数组,缺少图标绑定时保持 null,不以立绘或猜测资源兜底。key=mainline 服务端筛选,在分页前返回关键与紧急任务的并集,并可继续与任务族、等级组合。campCount 与 camps 契约。default/upper/lower 返回 canonical CDN 媒体。严格 parity 通过 32/32 catalog counts、35/35 行级文件、18/18 列表总数和 16 个 projection 样例。default | known | unknown 判别语义,并区分剧情、同类武器累计制作/强化、武器任务、Sunbreak 教学与 MR 剧情;动作 ID、多语言名称和来源指纹来自 MHRice,客观效果与解锁通过 Kiranico、Capcom 手册和社区资料交叉策展。catalog.switch_actions、switchActions.guide、/switch-actions?weaponTypeSlug=<slug> 与 Zod 运行时契约。专项真实 parity 已验证 generated metadata、154 条 NDJSON、154 条远端 typed facts 行级一致,14 个武器 projection 全部返回 11 条并通过结构指纹校验。AGENTS.md、README、当前 runbook、live 主规格和开放 backlog 只保留仍可执行的正向路径;一次性迁移、资源清理和退场实现细节进入归档 change、dated research 或 changelog。www.mhquery.site 由 Cloudflare Pages mhquery-site 承载独立 Landing,app.mhquery.site 由 mhquery-app 承载 Expo Mobile Web;根域 mhquery.site 永久 308 到 www,保留 path 与 query,media.mhquery.site 继续由 TOS 提供媒体。api.mhrs_reference RPC 与媒体样例。master 的完整 verify 门禁通过后才自动发布两个 Pages 项目;发布只使用 Cloudflare Pages 凭据与客户端 Supabase anon key,不恢复旧 VPS、GHCR、Docker、Compose 或 Caddy 发布链路。弱特/WEX、超心/CB 等审校简称搜索,在技能行直接选择等级并连续加入多项,不再每选一个技能就关闭弹层、返回长页面调等级。FlatList 虚拟化,已选摘要持续可见,完成区固定在底部;iOS 通过原生键盘高度把完成区完整移动到键盘上沿。390×844 Expo Web 与 iPhone 16 Plus / iOS 18.6 Maestro 连续多选路径通过,Mobile 120 项测试通过。弱特 / WEX、超心 / CB 等真实用语快速检索,同时明确这些字段不表示强度或推荐。@mhquery/loadout-solver:过滤性别/等级和 owned 护石/怪异炼化,使用状态压缩搜索、精确装饰品 placement、风雷合一规则与独立 validator,返回 exact/near-match、完整性标志和可取消批次;真实 1,331 防具/244 装饰品目录 benchmark 在三核心技能下约 450ms 搜索 92,645 个状态,并诚实标记裁剪。loadout-catalog Supabase projection:一次返回版本化武器孔位、防具五部位/性别/等级/防御/耐性/孔位/技能、技能上限、普通/百龙装饰品、材料引用、特殊技能规则和怪异炼化摘要,Mobile 不再需要分页拼接页面 DTO 才能求解配装。DB_Amr.MorF 提升为 male|female|all typed fact;244 件普通装饰品从 MHRice decorations_product + progress 生成可追溯解锁证据,未确认的关键怪物身份保持空值,不从名称、稀有度或素材制造推断。@mhquery/domain、ReferenceOperationMap 与 Zod API contract 新增玩家护石、怪异炼化防具、目标技能和配装 catalog 契约;远端真实验证覆盖 3,925 武器、1,331 防具、147 技能、244 普通装饰品、34 百龙装饰品和 121 怪异炼化技能规则,严格 Supabase parity 通过。total 与分页前执行;筛选变化清空旧结果并替换第一页,加载更多沿用完整条件,请求序列阻止快速切换时旧响应覆盖新列表。MUST(必须) 规范关键字,使仓库级 openspec-cn validate --all --strict 恢复通过。invalid_query。DB_WpntoRampSkl 的 7,153 条来源记录按武器—技能对去重为 7,120 条 catalog typed relation,纳入导出、导入和严格 parity;百龙技能现在可以按载体与武器类型查询,列表/详情的武器数量和武器关系不再固定为空。app,refresh-mobile-ui-on-gluestack):完全删除 .rnstorybook、stories、/storybook 路由、Metro wrapper、环境开关、脚本和专属依赖;真实 Expo Router 页面成为唯一运行态与视觉验收表面。src/ui/gluestack.ts facade 使用官方生成的 Card、Button、Input、Badge、Progress、Accordion、Actionsheet 等组件;删除通用薄包装、死组件和 gallery-only UI,并新增 facade、React Native runtime allowlist、自研基础组件名和 Storybook 零恢复静态门禁。Real Estate Listing App 的公开预览作为视觉完成度参考,统一首页、搜索、列表和详情的标题/搜索/筛选节奏、圆角、媒体焦点、属性对齐和按压反馈;保持 MHQuery 冷中性 palette、深钢蓝品牌色、单首页 Stack、纯分割线列表和线性证据详情,不复制付费源码或素材。402 × 874 与 iPhone 16 Pro iOS 18.6 Simulator 完成首页、搜索、怪物列表、怪物/素材/武器详情、Accordion 和 Actionsheet 成对证据;4/4 Maestro flows、Supabase API check、全量设计/ownership audit、typecheck 和 87 个移动端测试通过。平台不可控的系统栏、字体栅格和滚动物理单独标记,Android 留待发布前验证。app,upgrade-mobile-gluestack-v5):从 gluestack UI v2 的分散 primitive 包、NativeWind v4 和 Tailwind CSS v3,迁移到 gluestack UI v5 Stable 的 @gluestack-ui/core@5.0.15 / @gluestack-ui/utils@5.0.6、NativeWind v5、react-native-css 和 Tailwind CSS v4 CSS-first 主题;旧 v2 provider、legacy imports 和 tailwind.config.js 已移除。src/ui/gluestack.ts 业务 facade、MHQuery 品牌 token、pnpm monorepo resolver 与 Storybook Metro wrapper。新增窄范围 Web props 适配,避免 React Native accessibility、numberOfLines、onLayout 和数值 lineHeight 直接透传 React 19 DOM 导致错误或布局拉伸。workflow,prefer-mobile-web-validation):普通 JS/TS、Expo Router 页面、组件、样式、文案、状态和数据展示默认使用 pnpm mobile:web 快速预览,不再仅因为改动位于 Mobile 交付面就强制启动模拟器或运行 Maestro。app,improve-app-quest-list-filters):任务列表筛选从“关键/紧急/普通 + 任务类型”改为“任务族 + 任务等级”,支持村庄、集会所、盟友、怪异、活动和斗技大会任务,其中斗技大会按 斗技场 地点集合实现,避免伪造不存在的任务等级前缀;常规任务族的等级 chip 显示为 1★ / 2★ / G1★ 等短标签,不直接暴露 怪 1★ 这类数据前缀。api.mhrs_reference('quests', query)、移动端 client、共享契约、Reference Service、SQLite 查询和 Supabase projection 同步支持 questGroup + level;旧 key/type 参数保留为兼容诊断入口。data + app,add-monster-render-presentation-metadata / tune-mobile-monster-render-focus):怪物 render 新增 presentation.focalPoint 与 cropZoom 展示元数据,App 详情身份面板改为右侧半透明放大裁切背景,让头部或关键识别点可辨认,同时保持标题和标签优先。catalog.media_assets.metadata 现在承载 manifest 展示建议,api.mhrs_reference 会将稳定子集投影为 detailEnhancement.render.presentation;缺少元数据、缺 render 或加载失败时移动端按默认焦点降级并不保留空白大槽。data/manifests/mhrs/media.json 的 metadata.presentation、重新生成 media.sqlite 并导入 Supabase,不在 App 中按怪物名硬编码,也不修改 localmedia/mhrs/** 或媒体图片字节。workflow,clarify-data-media-runtime-boundaries):回答当前 App/API 数据事实时默认查 Supabase api.mhrs_reference、api schema 或 catalog 只读审计,不再用本地 SQLite 查询结果单独代表当前运行态。media.mhquery.site 承载生产媒体字节,Supabase catalog.media_assets 承载运行态实体媒体绑定,media manifest 是仓库内可审计导入产物,localmedia/mhrs/ 只作为本地同步缓存、采集 staging 和诊断输入。data,finalize-supabase-audit-evidence):新增 dated 证据文档,覆盖远端 migration 对齐、Data API 仅暴露 api schema、catalog/ingest 内部表无客户端直接 grant、RLS 状态、移动端真实 RPC 健康检查、strict parity 和剩余风险。workflow,refresh-readme-current-platform):README 不再描述已删除的 legacy Web、Web wrapper、Web deploy、VPS/Compose Web 容器、默认 HTTP /api/mhrs/* 或 R2 生产媒体主线。api.mhrs_reference(path, query)、localdb/mhrs.sqlite parity oracle 和火山引擎 TOS media.mhquery.site 为入口,明确当前常用命令、环境变量和数据正确性门禁。web,delete-legacy-web-surface):移除 legacy Web tracked 源码、Web-only tests、Storybook、Playwright、Dockerfile、Compose/Caddy、Web .env.production.example 和 Web deploy workflow。@mhquery/web 或 web:* 入口;默认开发、验证和构建路径只覆盖移动端 App、Landing、packages 和 Supabase 数据正确性主线。api.mhrs_reference(path, query),localdb/mhrs.sqlite 继续作为 SQLite-sourced facts 的导入输入和严格 parity oracle。web,retire-web-production-defaults):根 pnpm dev/start/test/typecheck/build 不再默认运行 @mhquery/web,默认入口改为移动端 App、官网和数据主线;Web 查询应用保留为显式 legacy 面,只能通过 web:* 命令运行、测试或构建。--runInBand --no-watchman,减少 Codex/CI 环境受本机 watchman 状态影响。Deploy workflow 不再由 master CI 自动发布 Web/SQLite 容器,只有手动 dispatch 且 deploy_web=true 才构建/部署 ghcr.io/patricksr/mhquery-web;Compose 中 Web/Caddy 服务进入 legacy-web profile。api.mhrs_reference(path, query) + App,localdb/mhrs.sqlite 只作为导入输入、legacy Web 运行时和严格 parity oracle。web,retire-web-mhrs-reference-api):删除 apps/web/src/app/api/mhrs/** Next.js route handler 和 route-level 测试,当前 Web 不再提供 /api/mhrs/* HTTP Reference API。/api/mhrs/* JSON envelope 当作 Web 容器部署门禁,只验证 /api/health;App 当前必需在线数据入口收敛到 Supabase api.mhrs_reference(path, query) projection。@mhquery/api-contract 继续保留为 Supabase projection、mobile client、mock fixtures 和未来显式 HTTP compatibility gateway 的共享 envelope/path 契约;数据正确性仍以 localdb/mhrs.sqlite 严格 parity 为第一目标。app,require-explicit-mobile-http-fallback-base):移动端默认仍通过 Supabase api.mhrs_reference(path, query) 取数;只有显式设置 EXPO_PUBLIC_REFERENCE_API_MODE=http 且同时提供 EXPO_PUBLIC_API_BASE_URL 时才走 HTTP fallback。https://mhquery.site/api/mhrs,缺少 base URL 时移动端 client 抛出 missing_http_fallback_config 且不发起请求,pnpm mobile:api:check 也会直接失败并提示配置。AGENTS.md 和 backlog;Web Reference API 冻结或删除的下一步不再被移动端默认 fallback URL 阻塞。data,relocate-mhrs-generated-metadata):monsters.generated.json、monster-details.generated.json、alchemy.generated.json、qurious.generated.json 从 apps/web/src/data/metadata/mhrs/ 移到中立的 data/metadata/mhrs/,Web 只保留 TypeScript wrapper 消费,不再拥有这些补充事实文件。data/metadata/mhrs/*.generated.json,远端 catalog 已用新 sourceName 重新 --reset-release 导入;严格 parity 继续通过:catalog counts 30/30、catalog row parity 33/33 files、list totals 18/18、projection samples 13、result: ok。5432;导入脚本额外 reset role,避免 transaction pooler 6543 把当前角色设为 anon 导致 catalog 写入失败。AGENTS.md、架构文档、Supabase runbook、OpenSpec 主规格和 backlog 都明确 generated metadata 属于数据事实层;Web Reference API 冻结/删除的下一步不再被 App 或 metadata ownership 阻塞。app,switch-mobile-to-supabase-reference-api):apps/mobile 现在默认通过云端 Supabase api.mhrs_reference(path, query) projection 取数,列表、详情、搜索、武器树、炼金和怪异化等现有请求继续复用 @mhquery/api-contract 解析成功/错误 envelope。fetch,显式带上 Accept-Profile: api 和 Content-Profile: api,避免 custom schema 误落到 public;客户端只需要 publishable/anon key,不包含 service role、数据库密码或服务端密钥。/api/mhrs/* 保留为显式 fallback:只有设置 EXPO_PUBLIC_REFERENCE_API_MODE=http 时才走 EXPO_PUBLIC_API_BASE_URL,用于本地 API、过渡期兼容或诊断,不再是默认生产数据底座。AGENTS.md:App 运行时以 Supabase projection 为默认入口,数据正确性仍以 localdb/mhrs.sqlite 严格 parity 为第一门禁,不用移动端 E2E 代替数据迁移校验。data,harden-mhrs-supabase-parity-gate):corepack pnpm data:supabase:verify-parity 从数量/样例级校验升级为严格 catalog row-level parity。现在会把远端 catalog rows 还原为本地 .cache/supabase/mhrs/*.ndjson 导出事实形状,并比较稳定 JSON hash,任一字段、关系、数组、jsonb metadata、数量或 hash 不一致都会失败。catalog counts 30/30、catalog row parity 33/33 files、list totals 18/18、projection samples 13、failures 0。来源覆盖包括 SQLite-derived facts(23 文件 / 83324 行)、MHRice JSON 派生数据(5 文件 / 4650 行)、media manifest(7644 行)、monster generated metadata 和 foundation records。RampSkl_ID=88,但 localdb/mhrs.sqlite 中该百龙技能 Valid=0 且名称/描述均为 .。导出脚本现在保留 metadata.source_skill_id=88 与 source_skill_mapped=false,但不再伪造不存在的 rampage-skill:88 实体引用;远端 Supabase 已用修正后的导出重新 --reset-release 导入。import-catalog --reset-release 先清 typed facts 再删除 release entities,避免被 monster_drops_item_entity_id_fkey 等 restrict 外键阻断。docs/research/supabase-mhrs-parity-2026-07-08.md、supabase/README.md、架构文档、OpenSpec 主规格和 AGENTS.md 都明确 App 切换、发布和后续数据扩展不得用旧样例级 parity 作为完成证据。workflow,redesign-docs-and-openspec-closeout):AGENTS.md 收敛为仓库路由、硬规则和高频边界,新增 docs/index.md 作为 docs 总入口,明确 OpenSpec 主规格、活跃 change、docs、backlog 和历史 research 的职责边界。docs/、AGENTS.md 和 docs/backlog.md;无需同步时也要写明理由,避免实现完成但文档/指南漂移。openspec/config.yaml:先通过项目配置约束中文材料、主块声明、proposal/design/tasks/spec 结构和归档格式,不立即 fork mhquery-change schema;schema fork 观察项已停车到 Workflow 待办。openspec/specs/mhquery-reference-app/spec.md,避免活跃 change 长期滞留。alchemy 与 4 个 qurious* 端点,仓库组织补上 apps/landing 与 localmedia/mhrs/,部署文档修正 CI 分支说明,协作护栏补充 workflow 主块。app,add-mobile-qurious-reference):前置两个 data 块变更(0.16.0 / 0.17.0)已把怪异化装备强化建模为 4 个 Reference Platform list 端点,但移动端至今没有任何怪异化查阅入口。本次把 4 簇接入移动端首页与列表页,玩家能在移动端查询「强化要什么材料」「某武器类型能装哪些百龙技能」「某强化类型/等级的概率分布」「某技能在怪异强化中的成本」。/catalog/qurious,121 技能)、怪异化材料(/catalog/qurious-materials,42 条)、百龙武器强化(/catalog/qurious-hyakuryu-weapons,294 条按本地武器类型过滤)、怪异化概率表(/catalog/qurious-base,1815 条按强化类型/等级过滤)。4 簇均为纯列表资源(无详情页),与 alchemy/awards/dango-skills 同构。value×概率% 形式,如 9/30% · 10/50%)。数据探查确认 90% 的行只有 1 个非零档、最多 3 档,移动端一行可容纳。摘要逻辑放在可测试的纯函数 quriousProbabilitySummary。/api/mhrs/* 由服务端过滤。pnpm mobile:design:check(OK)/ pnpm typecheck(web+mobile+landing 全绿)/ pnpm lint(0 errors)/ 移动端测试(59 通过,含新增 4 簇 list-display + 概率摘要纯函数测试)/ 本地 API 端到端(4 端点验证)/ iOS 模拟器可视化(4 簇列表 + 概率表/百龙武器筛选截图)全部通过。docs/backlog.md:Web 端 Qurious UI 展示(web 块,UI 落点是后续产品判断点)、怪异化进全局搜索(保留给专门搜索优化变更)、抽签/槽位配置簇(armorLot/wepTable/slotBonus)暴露。data,add-qurious-multi-cluster-api):前置 0.16.0 只暴露了技能池簇(121 技能,本质是技能索引),玩家真正想问的「强化要什么材料」「某武器类型能装哪些百龙技能」「某强化类型/等级的概率分布」全部回答不了。本次把材料簇、百龙武器簇、概率表簇暴露为 Reference Platform 平铺资源端点,为后续移动端查阅(Change 2)铺好数据底座。/api/mhrs/qurious-materials(42 条武器材料,物品已本地化,回答「强化要什么材料」)、/api/mhrs/qurious-hyakuryu-weapons(294 条百龙武器强化,按本地武器类型查能装的百龙技能)、/api/mhrs/qurious-base(1815 条概率表,按强化类型/等级查概率分布)。保留原有 /api/mhrs/qurious 技能池端点。Web 端不做 UI(明确非目标),只接 API 端点。equip_skill.category_id_1/2/3 字段的技能聚类推断 14 个中文标签(斩味强化/弹药射击/攻击输出/会心相关/属性强化/异常状态/耐力相关/武器动作/防御受击/属性耐性/回复辅助/综合强化/基础强化/孔位强化),1815 条概率表全部覆盖。generated.json 同时保留原始 categoryId 数值与推断 categoryLabel,标签来源标注为应用自有推断(探针脚本 scripts/probe-qurious-category-id.js 可复现校正)。apiAnyEntitySchema(要求 id: number)校验失败、端点返回 500。alchemy 端点 /api/mhrs/alchemy 一直存在这个 bug 但无测试覆盖。本次 loader 用 skillId / weaponTypeId*10000+weaponSourceId 合成稳定列表主键,alchemy 与 qurious 端点均修复。pnpm lint(0 errors)/ typecheck(web+mobile+landing 全绿)/ test(165 通过,含新增多簇端点 route 测试 + 百龙武器 14 武器类型覆盖率 + 概率表标签全覆盖 + 解析器金样本)/ 真实 API 端到端验证(4 端点 + categoryLabel 中文反查 + alchemy 修复)/ openspec-cn validate 全部通过。docs/backlog.md:移动端怪异化查阅展示(Change 2,app 块,依赖本次契约)、Web 端 Qurious UI、抽签/槽位配置簇(armorLot/wepTable/slotBonus)暴露、概率表 value_table 全零行精确语义确认。data,add-qurious-buildup-data):MHQuery 此前完全没有怪异化装备强化数据,用户无法查询「某装备怪异强化能抽到哪些词条」「某个强化等级的概率分布」「某技能在怪异强化中的成本」。本次把 MHRice mhrice.json 12 张表(custom_buildup_* / armor_buildup / hyakuryu_weapon_buildup,共 3615 行)建模为 Reference Platform 资源,为后续 Web/App 展示铺好数据底座。probe-qurious-custom-buildup)确认 equip_skill.worth_point_list 全为 null(技能本身没有 Qrious 点数),真实数据是装备强化系统,共 **12 张表 3615 行**,按 4 簇组织:概率表(custom_buildup_base 的 value_table/lot_table 20 档分布)、抽签/槽位配置、技能池(custom_buildup_equip_skill_detail)、材料/解锁。scripts/sync-mhrs-qurious-from-json.js 只读 .cache/mhrice/mhrice.json 产出 apps/web/src/data/metadata/mhrs/qurious.generated.json(顶层记录 sha 溯源与各表原始行数 _sourceCounts);packages/domain 新增 4 簇 DTO + 金样本 fixture;packages/reference-service 新增 qurious.pool 操作(技能池列表,支持 q/skillId 过滤分页,不经 SQLite);packages/api-contract 新增 /api/mhrs/qurious 端点契约(mobileConsumable: true);Web 接线(loader + 包装层 + catch-all 路由)。SklTree_ID(基础 Skill:N + Master Rank MrSkill:N 两套表,121/121 全命中)、物品 Normal:N 直接映射本地 Itm_ID(材料 42/42 全命中);武器/防具分类(categoryId/tableNo/武器类型 tag)保留 MHRice 来源标签,不强行映射本地 Wpn_Type_ID/Amr——语义未确认,留给后续 UI change 决定(避免硬编码未验证分类)。pnpm lint(0 errors)/ typecheck(web+mobile+landing 全绿)/ test(161 通过,含新增解析器金样本 + 引用自洽性 + 覆盖率 + 服务操作测试)/ openspec-cn validate --strict 全部通过。docs/backlog.md:Web/App UI 展示(装备详情页 Qurious 区块 vs 独立页面是后续产品判断点)、武器/防具分类到本地实体的映射验证、value_table 全零行的精确语义确认。apps/landing(主块 web,landing-site):MHQuery 此前只有查询应用和移动端两个交付面,缺少面向公众的门面。官网承担三项职责——展示核心功能、提供移动端 App 下载入口、展示项目更新日志。@mhquery/landing),与查询应用 apps/web 解耦,各自的路由、构建、部署互不污染。完整复用 web 技术形态:Next 15 + React 19 + output: "standalone" + Tailwind v3 + shadcn/ui (new-york) + 同一套品牌设计 token(--primary: 203 45% 34% 等价 #2f5f7c 深钢蓝、Inter 字体)。它不消费任何 @mhquery/* workspace 包,保持 Reference Platform 边界干净。SiteHeader(sticky 顶栏 + 锚点 + 进入应用 CTA)、Hero(品牌色背景 + 一句话定位 + 双 CTA + 设备预览占位)、FeatureSection(6 个功能卡片:全局搜索、怪物弱点、武器派生树、素材来源用途、装备技能、任务报酬)、DownloadSection(iOS + Android 双平台下载卡,App 未上架以「即将上线」占位,预留 TestFlight / App Store / Play Store 链接位)、ChangelogSection(更新日志时间线,最新 3 版展开、历史版本原生折叠)、SiteFooter。CHANGELOG.md 解析为结构化数据并渲染成对外更新日志。不引入 markdown 解析依赖,手写轻量解析器覆盖固定格式(## 版本 - 日期 + bullet),反引号代码段渲染为 <code>,异常标题(0.1.0 - 补记)降级处理。11 个单测覆盖解析、inline 渲染与真实仓库文件读取。package.json 加 landing:dev / landing:build 等 filter 脚本,typecheck 扩展为 web + mobile + landing 串联;CI verify job 在查询应用验证后追加 landing 独立的 lint / test / build 步骤。apps/web 与 5 个 packages/* 停在 0.11.0、README 写死 0.9.0。本次把全部 workspace 包统一推进到 0.15.0 并修正 README 陈旧版本号。pnpm --filter @mhquery/landing lint(0 问题)/ typecheck(通过)/ test(11 通过)/ build(首页 3.43 kB 全静态)全绿;桌面端全页截图自审 Hero / 功能 / 下载 / 更新日志四区布局完整、品牌色协调、无错位溢出。docs/backlog.md:部署链路接入(Dockerfile / compose / Caddy / CI-deploy / VPS)、官网真实界面截图替换占位、移动端 App 上架后填真实下载链接、品牌图标与 OG image 资产、官网 SEO。app,mobile-home-catalog-entries):把首页图鉴目录从 6 条扩展到 15 条,覆盖全部可查阅资料族,使移动端首页与 Web 侧边栏入口对等。ReferenceOperationMap 与 /api/mhrs/* 已覆盖、列表页已就绪,却只能靠详情关系链或搜索结果偶然触达,移动端用户无从知道可从首页直达。CatalogRow + SectionHeading 组合,路线 A 单列纯分割线列表,与原有 6 条行高 / 图标框 / 分割线 / 箭头节奏完全一致;图标统一品牌蓝,不为资源族分配主题色;前 6 条保持原序,新增 9 条按真实查阅价值排序(配装战斗类在前、附录型在后)。/dashboard 返回计数的 12 个资源显示真实数量;调合 / 勋章 / 兔团子技能 3 个无计数的附录型资源降级为只显示内容样例;examples 文案从生产 /api/mhrs/* 取真实代表对象名。docs/ux/mobile-home-design-system.md:图鉴目录从「六条 / 固定入口」改为「覆盖全部可查阅资料族的统一目录」,验收门措辞适配滚动长列表但「搜索卡仍是首屏第一焦点」约束不变。pnpm mobile:design:check / mobile typecheck / mobile test(48 通过)全绿;iPhone 16 Plus 模拟器(iOS 18.6)Maestro 逐一点击 9 个新增入口,确认每个直达对应 /catalog/<resource> 列表页且有数据,首页首屏 / 中段 / 底段截图自审行高一致、无错位。docs/backlog.md:炼金(alchemy)路由缺失、移动端武器派生树视图、随从武器 / 百龙技能 / 随从防具详情页信息密度打磨。app):把 0.13.0 怪物列表 / 详情页建立的「纯分割线列表 + Hero 融合」语言推广到这 5 个实体,消除移动端列表页 override 与详情页 override 中明确列为技术债的白卡堆叠、横向 tab 与割裂 Hero。SurfaceCard 白卡堆叠改为 ResourceListRow 纯分割线连续行(图标槽首字占位 + 名称 + 一行高信号 meta + 右侧 Badge + 轻量箭头);任务列表裸药丸筛选收编进 StickyFilterBar,关键性用 SegmentedControl、类型用横滑药丸组并下滑常驻;移除冗余「N 条」计数行。variant="hero" AppHeader + 蓝色 EntityHero 融合概览 + 线性滚动 + SectionHeading + InfoGroup/InfoRow/CollapsibleSection 扁平证据区,与怪物详情页视觉统一;物品 / 技能移除横向 SectionNav tab,武器 / 任务脱离 GenericDetailScreen 通用模板改为自定义 Hero 详情页。ResourceListRow(参数化纯分割线列表行)和 EntityHero(通用蓝色 Hero 概览面板,导出 HeroStatRow/HeroStatValue);MonsterHero 保持怪物专属逻辑不动,怪物详情页本地重复的 SectionHeading 改用 patterns.tsx 导出。effect 改为正确的 description(DTO 字段名)。pnpm mobile:design:check / mobile typecheck / mobile test(48 通过)全绿;iPhone 16 Plus 模拟器 Maestro 验证 5 个列表页 + 5 个详情页关键区块均正常渲染,任务 sticky 筛选点击生效。app):把 0.13.0 怪物列表页建立的「纯分割线列表」语言推广到首页图鉴入口,解决首页入口行仍是独立白底圆角卡片(圆角 control=18 + 阴影 card)与移动端列表规范直接冲突的问题。CatalogRow 业务 pattern 从独立白卡重做为纯分割线列表行:行直接铺页面灰底,行间靠 divider 细分割线分隔,组内末行不渲染分割线;去掉圆角/白底/阴影,右侧圆角灰盒箭头换成轻量 ChevronRight,新增 divider prop(默认 true)。首页入口行组去掉 rowGap 改用分割线,末行传 divider=false。docs/ux/mobile-home-design-system.md:图鉴入口行改为纯分割线列表(不再使用圆角),整体阴影只保留在主搜索面,验收门同步收紧。消除首页 override 与移动端列表规范在入口行视觉上的直接对立。pnpm mobile:design:check / mobile typecheck / mobile test(48 通过)全绿;iPhone 16 Plus 模拟器 Metro bundle 确认新代码已加载(borderBottomWidth: divider ×4,CatalogRow 不再引用 shadow.card)。redesign-mobile-monster-list,主块 app):解决「用卡片承载 item + 筛选项简陋」两个问题,并沉淀移动端列表页设计规范。StickyFilterBar(SegmentedControl 尺寸分段控件,选中态白底蓝字),下滑列表时常驻可见;并去掉与导航栏重复的「怪物 N 条」标题行。SegmentedControl、StickyFilterBar 业务 pattern,供怪物列表和未来任务列表筛选复用。docs/ux/mobile-list-design-system.md 列表页 override(仿 mobile-detail-design-system.md 结构),固化纯分割线列表、sticky 筛选、分段控件 vs 药丸使用时机、列表行信息密度、列表页验收门。主规范、list-page-guidelines.md、AGENTS.md 同步指向该 override。此前移动端列表页规范是真空地带(桌面指南明确「桌面优先」),现在成为可被其它列表页和未来迭代复用的持久规范。redesign-mobile-monster-pages v5,主块 app):解决 v4 验收后的四个问题——概览白卡漂浮割裂、导航栏与蓝色 Hero 割裂、tab 无意义、肉质区折叠后看不到任何弱点。AppHeader 新增 hero variant(蓝色背景+白字图标),详情页导航栏与 Hero 视觉融合为同一单色面板,消除白条+蓝块割裂。MonsterDetailTabs 和滚动锚点逻辑(registerSection/jumpTo/handleScroll),页面改为线性滚动。docs/ux/mobile-detail-design-system.md 详情页 override(仿 mobile-home-design-system.md 结构),固化 Hero 融合、去卡片化、线性滚动、双轨弱点渐进披露、InfoRow/InfoGroup/ThresholdChip 使用时机、折叠策略、详情页验收门。主规范和 AGENTS.md 详情页段落收敛并指向该 override。此前详情页决策只散落在代码里,现在成为可被其它详情页和未来迭代检索的持久规范。redesign-mobile-monster-pages v4,主块 app):解决 v3 上线后的三个视觉问题——Hero 区层层套边距、肉质矩阵死板不聚焦、掉落/任务密密麻麻。InfoRow / InfoGroup 扁平化业务 pattern:用单 panel + 连续行 + 细分割线替代堆叠小卡,让代码回到既有设计系统规范「不允许卡片套卡片」。MonsterHero 嵌套层从 4 层(外卡→蓝头→灰卡 HeroBand→图标白圆)压到 2 层(蓝色身份条 + 扁平行序列)。ThresholdChip 共享阈值药丸 pattern 和 design-tokens 的 radius.pill,满足页面禁写 borderRadius 的设计检查门禁。redesign-mobile-monster-pages,主块 app):基于对真实玩家行为的调研,把两个页面从"Web 表格的移动端压缩版"重做成移动端原生资料终端。MonsterListRow 业务 pattern,每行只承载图标槽(首字占位)、名字、种类和弱点元素 Badge,刻意去掉危险度/攻击/异常等对比维度——这些是详情页职责,列表只负责最快识别并点进对的怪。MonsterBattleBrief 区块顶到首屏。基于"物理弱点与属性弱点经常不在同一部位、玩家按武器类型走两条独立轨道"的研究事实,弱点呈现分物理轨道(肉质≥45)和属性轨道(吸收≥20)双轨独立,标注达标/未达标,不合并为单一"最优组合"。computeDualTrackWeakness 双轨弱点纯函数和 isTrackWeakness 矩阵高亮判定,阈值常量 45/20 来自社区共识(物理触发弱点特效、属性武器值得用)。B3Matrix 弱点矩阵改用双阈值高亮,解决单一阈值下属性列(普遍≤30)永不亮的问题。index*360,改用 onLayout 测量后精确滚动。docs/ux/mobile-design-system.md 新增"移动端使用事实"小节,沉淀六条调研结论(分心短脉冲、单手拇指热区、狩猎前查询、部位弱点优先、双轨弱点心智、数值门槛决策锚点)作为所有移动端设计决策的上游理由。add-alchemy-skill-pool-data):把 MHRice mhrice.json 的 alchemy_pl_skill.param 派生数据建模为 Reference Platform 列表资源,可通过 /api/mhrs/alchemy 端点查询「某技能在某炼金模式/档位下的抽取概率」。scripts/sync-mhrs-alchemy-from-json.js 只读 .cache/mhrice/mhrice.json,过滤 1040 条有效行(skill_id > 0),用已验证的英文名称桥梁(MHRice player_skill_name_msg ↔ 本地 ID_SklTree_Name.SklTree_Name_0)把 104 个唯一技能 100% 映射到本地 SklTree_ID。AlchemySkillPoolEntry:含 grade(S/A/B/C)、pattern(10 种炼金模式)、7 档 skill1Rates/skill2Rates(技能等级 1-7 抽取概率,已用 max_level 交叉验证)、7 档 skill1Mystery/skill2Mystery(怪异化加成),并保留 sourceMode: "mhrice-json" 与 sha 来源溯源。packages/domain DTO → packages/reference-service alchemy.pool 操作(服务层做 q/grade/pattern/skillId 过滤与分页,不引入 SQL)→ packages/api-contract /api/mhrs/alchemy 端点契约 → Web 查询包装层与统一 catch-all 路由接线。data 主块;Web/App 展示页面(技能详情页炼金区块或独立 /alchemy 页面)拆为后续单块 change。web、app 或 data 中一个主块;跨块机会必须拆分,并把后续块停车到 backlog。docs/backlog.md 为 App / Web / Data 三块,并为每条开放待办补齐优先级、新建时间、创建原因及收益、重开条件和关联信息。AGENTS.md 和 OpenSpec solo-owner-harness 规格,把 v0.3 的证据、范围和 backlog 回看规则沉淀为后续 agent 默认责任。monster-status-supplement):用 MHRice mhrice.json 的 condition_damage_data 权威数值替换原 HTML 解析的 preset 异常状态数据,覆盖麻痹、睡眠、昏厥、疲劳、毒、爆破、闪光、各属性异常、陷阱、捕获等 20 类。mhrice-json 来源(2 个天彗龙变体因 JSON 缺数据保留 preset),解析器用 sourceAssetId 的 em 编号 + sub_id 桥梁精确映射到 JSON em_type.Em,区分普通/亚种/怪异克服变体。use_* 标志区分异常状态适用性:不适用状态标记 applicable: false 并展示为空状态,MonsterStatusDetail DTO 新增 applicable 字段,UI 加「不适用」Badge 视觉区分。monster-details.generated.json 记录 mhrice.json 的 sha 哈希作为来源溯源,sourceMode 从 preset 升级为 mhrice-json。scripts/sync-mhrs-monster-status-from-json.js 解析器(只读 .cache/,输出覆盖率报告)和 15 个聚焦测试覆盖 parseAssetId/formatStatus/STATUS_MAP/火龙金样本。mhrice.json 数据源证据型探针(probe-mhrice-json-data-source),产出 docs/research/mhrice-json-data-source-probe.md 调研报告和 3 个可复现探针脚本,验证了来源元数据、顶层 schema、实体身份映射覆盖和三个候选补强方向的就绪度。content[1] ↔ 本地 *_Name_0),基础与 MR 命名均接近 100% 命中。原始 123MB JSON 仅存于 .gitignore 覆盖的 .cache/,不进入仓库。monster-details.generated.json 的 statuses 来源全为 unknown(1872 条无标记),而 MHRice 提供 condition_preset(19 类×6 档)+ 每怪物 condition_damage_data(含 use_* 启用标志),可补全场景化异常状态。equip_skill.worth_point_list 全为 null,实际是 custom_buildup_* 13 张表的 Qrious 装备强化系统。docs/backlog.md「参考数据补强」从 3 条「等 probe」升级为 5 条「可立项」候选,按就绪度排序并注明映射桥梁与复杂度:炼金技能池(高)、Qrious 装备强化(高)、怪物异常状态补全(高)、装饰品解锁(中)、地图采集点掉落(中)。docs/solo-owner-harness.md 固化 intake、Focus Card、backlog 分流、验收分级、evidence package 和 pause/resume note,降低 solo owner 在需求管理、验收和中断恢复上的心智负担。AGENTS.md 增加 Solo Owner Harness 入口规则,让后续 agent 在模糊、非平凡或容易分叉的工作中先帮助 owner 分流、聚焦、保留证据和记录旁支,而不是直接扩大实现范围。docs/backlog.md 新增 Harness Backlog,把 repo-local skill、多 agent 协议、周期 review、dashboard、优先级模型和度量体系等后续流程建设明确停车,避免 v0.1 变成新的管理负担。packages/reference-service 新增 ReferenceOperationMap / operation keys,公开声明每个业务 operation 的 input/output,让“当前有什么数据”可从业务层直接查到。packages/api-contract 新增 apiEndpointContracts endpoint registry,集中声明 /api/mhrs/* 的 endpoint path/resource、query/id schema、response envelope、错误 envelope、对应 Reference Service operation key 和 Mobile 可消费性。fetchList / fetchDetail 改用 contract 导出的 resource 类型,减少 UI 或 client 随手编 resource/字段的空间。icon,让 adapter 输出与 domain/Reference Service contract 对齐。AGENTS.md、README、Reference API、仓库组织和 MHR:S API 文档,把“丰富数据”和“开发 Web/Mobile 数据功能”必须按 domain -> adapter -> service operation map -> api contract -> consumer -> tests/docs 的 contract-first 路径写成后续 agent 约束。/api/mhrs/* 通过同一套 packages/reference-service operation surface,MHR:S SQL 与源数据怪癖迁入 packages/mhrs-sqlite,apps/web/src/lib/queries/** 收口为兼容 wrapper 和 Web href 注入层。packages/api-contract,用 Zod 维护私有 /api/mhrs/* 的查询参数、resource path、成功 envelope、错误 envelope 和搜索分组 contract;Web API route、Mobile API client 和 mock fixtures 复用同一 schema。AGENTS.md、README、Reference API 架构文档、仓库组织文档、MHR:S API 文档和 Mobile runbook,把包职责、禁止事项和独立验证命令写成后续 agent 必须遵守的强约束。pnpm storybook:web,16 个业务复合组件的 story),Mobile 在设备端运行(pnpm storybook:mobile,以 Expo Router 共存路由 /storybook 进入,13 个业务复合组件的 story),两端侧边栏分组镜像统一三层心智模型,让全部业务复合组件可被浏览、对比、验证,避免重复造轮子和命名漂移。packages/domain/src/fixtures/**,把金样本(火龙、火龙的红玉、弱点特效等)集中为 Web Storybook、Mobile Storybook 与所有测试共用的单一数据源;媒体字段用占位图,不耦合本地媒体库或生产 CDN,消除两端各自硬编码必然漂移的债务。next lint 迁移到 ESLint CLI 以支持 flat config。AGENTS.md 沉淀三层组件模型(primitives/composites/pages)、Storybook 分组约定、fixtures 约定与 import 边界规则要点。v0.6.2),版本来源直接读取 apps/web/package.json,bump 版本后自动跟上,无需额外维护;纯展示、低调灰色、不附加链接或日期。ReferenceTable 业务封装并删除旧 DataTable / SortableDataTable,避免 Web 资料页继续分裂出多套 shadcn ui/table 封装。AGENTS.md 和列表页 UX 规范中沉淀 Web 表格唯一封装和素材表格基准规则。DB_ItmtoCbo 调合配方提升为一等资料:新增 Web /combinations、侧边栏入口和 /api/mhrs/combinations 分页端点,配方行可搜索产物或素材并跳回素材详情。key=key|urgent|normal、任务类型和等级过滤;Web /quests 新增关键/紧急与任务类型筛选,并在列表里展示关键/紧急标记。DB_ItmtoPaliTeam.Icon 误翻译成未确认类别。127.0.0.1 以适配没有 localhost hosts 映射的沙箱环境。master 上的 GitHub-hosted CI 成功后自动部署 Web 容器到 VPS,关闭“代码已合入但生产 API 还停在旧版本”的发布缺口。.env.production、运行时 SQLite、localmedia 和 Compose 配置预检,让线上环境缺项在构建前清楚失败。ops/** 视为机器本地反向代理配置并在 rsync 时保留,同时不复制本机 owner/group 元数据,避免常规 Web 发布覆盖或卡在 Caddy 目录权限上。/api/health 扩展到代表性的 /api/mhrs/* JSON envelope 探针,确保移动端默认生产 API 真实可用。apps/web 必须直接基于 shadcn/ui,apps/mobile 必须直接基于 gluestack-ui。apps/mobile 从本地 src/ui/primitives/** 迁移到真实 gluestack-ui 生成组件,根布局接入 GluestackUIProvider,业务 UI 改为组合 components/ui/** 基础入口。src/ui/** 中的业务复合组件,如资料卡、详情段落、关系行、矩阵和移动端导航。apps/web/src/app/loading.tsx 中本地 skeleton helper 的非主线问题记录到 backlog。GroupedList / GroupedListRow,让同类分组列表使用一致的紧凑行高、分隔线和文字层级。首页 / 图鉴 / 搜索 根入口,避免被上一次保留的嵌套路由状态影响。pnpm mobile:ios 只负责启动 Metro 并打开 iOS 模拟器,pnpm mobile:ios:build 才用于 native build/install。pnpm mobile:api:check、pnpm mobile:e2e、pnpm mobile:e2e:tabs。https://mhquery.site/api/mhrs,只有 API/DTO、本地未部署数据或生产 API 不可用时才显式设置 EXPO_PUBLIC_API_BASE_URL 指向本地 API。apps/mobile 和 Maestro fixture 不得直接查询 localdb/mhrs.sqlite、Web 查询层或 in-process Reference Service,测试数据必须来自 App UI 或 /api/mhrs/* HTTP API。首页 / 图鉴 / 搜索 Tab smoke flow,并同步搜索、怪物、素材、技能三条 Maestro 路径到当前 Expo Router 结构。docs/mobile-dev-e2e-workflow.md,沉淀 Expo 启动、Maestro 验收、截图证据、clearState 禁用原因和 native fallback 诊断路径。AGENTS.md、README 和 OpenSpec,记录移动端 UI/导航变更必须通过模拟器与 Maestro 验证后再收口。首页 / 图鉴 / 搜索:首页负责搜索、最近查看、常用入口和资料状态,图鉴负责完整分类目录,搜索保持轻量可用。AGENTS.md 和 OpenSpec change,沉淀移动端资料终端、单语言显示、列表克制和详情信息架构规则。0.4.0,标记移动端资料终端设计落地。火龙 -> 怪物详情 -> 掉落素材、素材来源/用途、弱点特效 -> 技能详情 -> 来源 这三条路径。fetchSearch(),并让 API client 对非 JSON/HTML 错误体给出可读错误。AGENTS.md 和主 OpenSpec spec,记录移动端先做核心路径、后续实体必须先定义真实查询任务的规则。0.3.1,标记移动端方向修正。apps/mobile 移动端 app,作为 monorepo 第二个交付面,在 iOS 模拟器运行并覆盖与 Web 相同的全量 15 类《怪物猎人崛起:曙光》资料。@mhquery/domain 纯类型契约,通过 HTTP 消费生产 /api/mhrs/*,不依赖 Web、Reference Service 或本地数据库。AGENTS.md 沉淀移动端交付面边界和移动端表格翻译规则,README 补充移动端运行入口。0.3.0,标记移动端交付面进入项目路线。@mhquery/domain 的 DTO 里彻底拿掉,让 domain 只描述资料数据本身,为后续移动端复用同一套类型契约铺平道路。apps/web/src/lib/domain.ts 和 query 层)补回 href,定义 Web* 路由化类型,Next.js <Link> 和 /api/mhrs/* JSON 的行为完全不变。AGENTS.md 沉淀“路由是交付端关注点、domain 不描述路由”的边界规则。0.2.2,标记这次跨包类型边界的整理。/locations 切换时的查询放大。/api/mhrs/* Reference API,让未来移动端可以直接读取当前 MHR:S 资料数据。0.2.0,标记 API 能力进入项目路线。AGENTS.md 和 README.md。0.1.4,让这条协作规则也有明确版本记录。A.B.C 语义化版本规则,明确主版本、次版本、修订版本分别对应什么类型的变化。0.x.y 阶段仍按同一套规则推进。0.1.3,让版本规则沉淀本身也有明确记录。0.1.2,让这次 README 整理也有明确版本锚点。README.md,集中说明 MHQuery 是什么、当前架构、数据流、常用命令、本地运行要点和线上部署环境。CHANGELOG.md,并要求变更说明写成具体、自然的人话。0.1.1,让文档初始化有明确版本锚点。localdb/mhrs.sqlite 作为只读数据源。packages/。