MMHQuery
怪物猎人 崛起:曙光

本地资料查询
快速回答实战问题

怪物弱什么、素材哪里出、素材用在哪里、装备需要什么材料。 离线即可查询全部资料,打开即用。

为实战查阅而生

不是百科全书的堆砌,而是围绕「打猎时真正要查的问题」组织答案。

全局搜索
用中文名一键搜索怪物、素材、武器、防具、技能和任务,结果直达详情页。
怪物弱点速查
一张表看清每个部位的斩、打、弹和火水雷冰龙属性弱点,以及异常状态阈值。
武器派生树
14 种武器类型各自渲染为二维派生图,强化深度与分支关系一目了然。
素材来源与用途
每个素材都讲清楚从哪来(怪物掉落、任务报酬、采集)又能用在哪(装备、装饰品、调合)。
装备与技能
武器属性、防具技能孔位、技能等级效果,配装前先把材料需求和提供来源查明白。
任务与报酬
按主线推进筛选任务,看清目标、地点、时间和奖励素材,不再盲目接任务。

随时随地查询

移动端 App 正在路上,桌面端现在就能用。

即将上线
iOS
App Store / TestFlight
即将上线
Android
Google Play

更新日志

持续演进,每个版本都讲清楚改了什么、为什么改。

v0.20.0
2026-07-11
  • 重构 Mobile 配装第一步:核心/偏好技能进入全屏任务页,可用中文、英文或 弱特/WEX超心/CB 等审校简称搜索,在技能行直接选择等级并连续加入多项,不再每选一个技能就关闭弹层、返回长页面调等级。
  • 空查询提供最近、收藏、十类用途分组和当前武器相关入口;最近/收藏随本地配装档案 schema v2 保存,v1 档案无损迁移并保留护石、已有炼化、素材库存、草稿和收藏方案。
  • 技能列表使用 FlatList 虚拟化,已选摘要持续可见,完成区固定在底部;iOS 通过原生键盘高度把完成区完整移动到键盘上沿。390×844 Expo Web 与 iPhone 16 Plus / iOS 18.6 Maestro 连续多选路径通过,Mobile 120 项测试通过。
v0.19.1
2026-07-11
  • 为 MHR:S 配装 catalog 的 147 个技能补齐 10 类用途分组、52 个含玩家简称的技能和 34 个含明确武器适用范围的技能;支持后续移动端按 弱特 / WEX超心 / CB 等真实用语快速检索,同时明确这些字段不表示强度或推荐。
  • generated metadata 已接入正式 Supabase export/import、远端幂等同步和 API projection,dataset 指纹会随发现事实变化;严格 parity 通过 31/31 catalog counts、34/34 行级文件、18/18 列表总数和 16 个 projection 样例。
v0.19.0
2026-07-11
  • Mobile 首页新增独立“配装”工具:玩家用核心/偏好技能、具体武器或孔位、角色体型/进度、锁定/排除条件表达目标;武器、技能和防具详情可直接预填,结果实体继续回到既有资料详情核对来源。
  • 新增纯 @mhquery/loadout-solver:过滤性别/等级和 owned 护石/怪异炼化,使用状态压缩搜索、精确装饰品 placement、风雷合一规则与独立 validator,返回 exact/near-match、完整性标志和可取消批次;真实 1,331 防具/244 装饰品目录 benchmark 在三核心技能下约 450ms 搜索 92,645 个状态,并诚实标记裁剪。
  • 玩家护石、已有炼化、素材库存、草稿和收藏方案使用 versioned AsyncStorage 本地保存;分享文本/deep link 不会把接收方缺少的护石/炼化冒充 owned。结果详情提供装珠位置、额外技能、防御耐性、制作材料与库存缺口,并把理论炼化独立成带规则 cost/来源警告的结果组,不虚构概率。
查看全部 59 个历史版本
v0.18.19
2026-07-11
  • 新增 MHR:S 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 通过。
v0.18.18
2026-07-11
  • 为素材、武器、防具、技能、普通/百龙装饰品、百龙技能、随从武器、随从防具和怪异化技能池补齐玩家导向的 sticky 分类筛选;地点、调合、怪异化材料、勋章和兔团子技能保持无低价值筛选。
  • 素材支持来源/用途模式,武器和防具支持双轴组合,百龙技能只在武器载体下显示武器类型;父筛选变化会清除失效子值,中文控件文案不暴露 API slug。
  • 所有新增筛选由 Supabase 在 total 与分页前执行;筛选变化清空旧结果并替换第一页,加载更多沿用完整条件,请求序列阻止快速切换时旧响应覆盖新列表。
  • 修复 Expo Web 筛选条下滑不常驻、搜索新旧请求结果串写和首页重复进入搜索不稳定;Maestro suite 现在从正确 workspace 根读取配置并串行运行,避免同一 Simulator 上的 deep-link flow 互相覆盖。
  • 统一两份 OpenSpec 主规格的标准结构标题和 MUST(必须) 规范关键字,使仓库级 openspec-cn validate --all --strict 恢复通过。
v0.18.17
2026-07-11
  • 为素材、武器、防具、技能、普通/百龙装饰品、百龙技能、随从装备和怪异化技能池补齐资源专属 Reference API 筛选契约;筛选在 Supabase 计算 total 与分页前执行,多轴按 AND 组合,非法枚举返回 invalid_query
  • SQLite DB_WpntoRampSkl 的 7,153 条来源记录按武器—技能对去重为 7,120 条 catalog typed relation,纳入导出、导入和严格 parity;百龙技能现在可以按载体与武器类型查询,列表/详情的武器数量和武器关系不再固定为空。
  • SQLite adapter、Reference Service、Zod API contract 和 Supabase projection 使用同一组稳定英文参数;真实 oracle 测试覆盖素材来源/用途、武器类型/稀有度、防具部位/等级、技能提供方、装饰品孔位、百龙技能和随从装备组合筛选。
v0.18.16
2026-07-11
  • 收敛移动端 UI 系统与视觉(主块 apprefresh-mobile-ui-on-gluestack):完全删除 .rnstorybook、stories、/storybook 路由、Metro wrapper、环境开关、脚本和专属依赖;真实 Expo Router 页面成为唯一运行态与视觉验收表面。
  • gluestack UI v5 Stable 成为唯一基础组件系统:业务代码统一经 src/ui/gluestack.ts facade 使用官方生成的 Card、Button、Input、Badge、Progress、Accordion、Actionsheet 等组件;删除通用薄包装、死组件和 gallery-only UI,并新增 facade、React Native runtime allowlist、自研基础组件名和 Storybook 零恢复静态门禁。
  • 以 AppLighter Real Estate Listing App 的公开预览作为视觉完成度参考,统一首页、搜索、列表和详情的标题/搜索/筛选节奏、圆角、媒体焦点、属性对齐和按压反馈;保持 MHQuery 冷中性 palette、深钢蓝品牌色、单首页 Stack、纯分割线列表和线性证据详情,不复制付费源码或素材。
  • Expo Web 402 × 874 与 iPhone 16 Pro iOS 18.6 Simulator 完成首页、搜索、怪物列表、怪物/素材/武器详情、Accordion 和 Actionsheet 成对证据;4/4 Maestro flows、Supabase API check、全量设计/ownership audit、typecheck 和 87 个移动端测试通过。平台不可控的系统栏、字体栅格和滚动物理单独标记,Android 留待发布前验证。
v0.18.15
2026-07-10
  • 升级移动端 UI 基础层(主块 appupgrade-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 已移除。
  • 当前基础组件已按官方 v5 Stable tag 的 Expo starter 模板重建,并保留 src/ui/gluestack.ts 业务 facade、MHQuery 品牌 token、pnpm monorepo resolver 与 Storybook Metro wrapper。新增窄范围 Web props 适配,避免 React Native accessibility、numberOfLinesonLayout 和数值 lineHeight 直接透传 React 19 DOM 导致错误或布局拉伸。
  • Expo Web 在 390×844 viewport 完成首页→怪物列表→火龙详情真实路径、Accordion 展开和 Actionsheet 打开/选择/关闭验收,修复后无控制台 error、无页面级横向溢出;静态检查与 87 个移动端测试通过。按负责人要求,本 change 未运行 iOS/Android,原生运行态仍标记为未验证。
v0.18.14
2026-07-10
  • 调整移动端开发与验收分流(主块 workflowprefer-mobile-web-validation):普通 JS/TS、Expo Router 页面、组件、样式、文案、状态和数据展示默认使用 pnpm mobile:web 快速预览,不再仅因为改动位于 Mobile 交付面就强制启动模拟器或运行 Maestro。
  • 原生工程、依赖、config plugin、权限、设备/系统能力、平台专属实现和原生运行时问题仍必须在受影响的 iOS/Android 模拟器或真机验证,流程级原生 E2E 继续使用 Maestro;无法判断 Web 是否足够时,必须先向负责人说明覆盖范围和风险并确认验证目标。
  • Web 或原生运行态证据都不能替代相关 typecheck、Jest、设计检查、API 契约或数据 parity;协作协议和移动端 runbook 现在要求证据包记录验证分类、选择依据、实际环境和未覆盖平台风险。
v0.18.13
2026-07-10
  • 修复移动端任务列表筛选与分页(主块 appimprove-app-quest-list-filters):任务列表筛选从“关键/紧急/普通 + 任务类型”改为“任务族 + 任务等级”,支持村庄、集会所、盟友、怪异、活动和斗技大会任务,其中斗技大会按 斗技场 地点集合实现,避免伪造不存在的任务等级前缀;常规任务族的等级 chip 显示为 1★ / 2★ / G1★ 等短标签,不直接暴露 怪 1★ 这类数据前缀。
  • api.mhrs_reference('quests', query)、移动端 client、共享契约、Reference Service、SQLite 查询和 Supabase projection 同步支持 questGroup + level;旧 key/type 参数保留为兼容诊断入口。
  • 任务列表上拉加载更多改为按页追加,筛选变化会重置分页并重新加载首屏;同时加固怪物列表筛选对临时异常行的容错,避免模拟器热重载或错误点按时因缺字段崩溃。
v0.18.12
2026-07-09
  • 优化移动端怪物详情立绘轻主视觉(主块 data + appadd-monster-render-presentation-metadata / tune-mobile-monster-render-focus):怪物 render 新增 presentation.focalPointcropZoom 展示元数据,App 详情身份面板改为右侧半透明放大裁切背景,让头部或关键识别点可辨认,同时保持标题和标签优先。
  • Supabase catalog.media_assets.metadata 现在承载 manifest 展示建议,api.mhrs_reference 会将稳定子集投影为 detailEnhancement.render.presentation;缺少元数据、缺 render 或加载失败时移动端按默认焦点降级并不保留空白大槽。
  • 补充媒体 runbook:后续校准怪物 render 只改 data/manifests/mhrs/media.jsonmetadata.presentation、重新生成 media.sqlite 并导入 Supabase,不在 App 中按怪物名硬编码,也不修改 localmedia/mhrs/** 或媒体图片字节。
v0.18.11
2026-07-08
  • 澄清数据与媒体运行态边界(主块 workflowclarify-data-media-runtime-boundaries):回答当前 App/API 数据事实时默认查 Supabase api.mhrs_referenceapi schema 或 catalog 只读审计,不再用本地 SQLite 查询结果单独代表当前运行态。
  • 媒体职责分层写入 AGENTS、README、架构、媒体、Supabase 和部署文档:TOS / media.mhquery.site 承载生产媒体字节,Supabase catalog.media_assets 承载运行态实体媒体绑定,media manifest 是仓库内可审计导入产物,localmedia/mhrs/ 只作为本地同步缓存、采集 staging 和诊断输入。
v0.18.10
2026-07-08
  • 补齐 Supabase MHR:S 迁移收尾审计证据(主块 datafinalize-supabase-audit-evidence):新增 dated 证据文档,覆盖远端 migration 对齐、Data API 仅暴露 api schema、catalog/ingest 内部表无客户端直接 grant、RLS 状态、移动端真实 RPC 健康检查、strict parity 和剩余风险。
  • OpenSpec 新增持久要求:声明某个 release 已迁入 Supabase 前,必须同时具备 parity、App projection、远端 migration/权限审计和证据文档;不得只用导入成功、migration 成功、列表数量或少量样例作为完成依据。
v0.18.9
2026-07-08
  • 刷新根 README 当前平台事实(主块 workflowrefresh-readme-current-platform):README 不再描述已删除的 legacy Web、Web wrapper、Web deploy、VPS/Compose Web 容器、默认 HTTP /api/mhrs/* 或 R2 生产媒体主线。
  • README 现在以移动端 App、Landing、云端 Supabase api.mhrs_reference(path, query)localdb/mhrs.sqlite parity oracle 和火山引擎 TOS media.mhquery.site 为入口,明确当前常用命令、环境变量和数据正确性门禁。
v0.18.8
2026-07-08
  • 完整删除 legacy Web 交付面(主块 webdelete-legacy-web-surface):移除 legacy Web tracked 源码、Web-only tests、Storybook、Playwright、Dockerfile、Compose/Caddy、Web .env.production.example 和 Web deploy workflow。
  • 根脚本和 workspace lockfile 不再声明 @mhquery/webweb:* 入口;默认开发、验证和构建路径只覆盖移动端 App、Landing、packages 和 Supabase 数据正确性主线。
  • 同步 AGENTS、架构文档、Reference API 边界、部署 runbook、OpenSpec config 和 backlog:当前资料数据/API 入口继续是云端 Supabase api.mhrs_reference(path, query)localdb/mhrs.sqlite 继续作为 SQLite-sourced facts 的导入输入和严格 parity oracle。
v0.18.7
2026-07-08
  • Web 默认维护路径退场(主块 webretire-web-production-defaults):根 pnpm dev/start/test/typecheck/build 不再默认运行 @mhquery/web,默认入口改为移动端 App、官网和数据主线;Web 查询应用保留为显式 legacy 面,只能通过 web:* 命令运行、测试或构建。
  • CI 不再默认维护 Web:默认 lint/typecheck/test/build 覆盖当前维护 App/官网入口,移动端 Jest 固定 --runInBand --no-watchman,减少 Codex/CI 环境受本机 watchman 状态影响。
  • 生产 Web 部署降级为手动 legacy 路径:Deploy workflow 不再由 master CI 自动发布 Web/SQLite 容器,只有手动 dispatch 且 deploy_web=true 才构建/部署 ghcr.io/patricksr/mhquery-web;Compose 中 Web/Caddy 服务进入 legacy-web profile。
  • 同步 AGENTS、部署 runbook、仓库组织、OpenSpec config 和 backlog:当前数据/API 主线继续是云端 Supabase api.mhrs_reference(path, query) + App,localdb/mhrs.sqlite 只作为导入输入、legacy Web 运行时和严格 parity oracle。
v0.18.6
2026-07-08
  • 退场 Web Reference API 宿主职责(主块 webretire-web-mhrs-reference-api):删除 apps/web/src/app/api/mhrs/** Next.js route handler 和 route-level 测试,当前 Web 不再提供 /api/mhrs/* HTTP Reference API。
  • 部署 workflow 不再把 /api/mhrs/* JSON envelope 当作 Web 容器部署门禁,只验证 /api/health;App 当前必需在线数据入口收敛到 Supabase api.mhrs_reference(path, query) projection。
  • 同步 API、架构、部署、移动端 runbook、OpenSpec 和 backlog:@mhquery/api-contract 继续保留为 Supabase projection、mobile client、mock fixtures 和未来显式 HTTP compatibility gateway 的共享 envelope/path 契约;数据正确性仍以 localdb/mhrs.sqlite 严格 parity 为第一目标。
v0.18.5
2026-07-08
  • 收紧移动端 HTTP fallback 配置(主块 apprequire-explicit-mobile-http-fallback-base):移动端默认仍通过 Supabase api.mhrs_reference(path, query) 取数;只有显式设置 EXPO_PUBLIC_REFERENCE_API_MODE=http 且同时提供 EXPO_PUBLIC_API_BASE_URL 时才走 HTTP fallback。
  • 移除 App 对生产 Web Reference API 的隐藏默认依赖:HTTP fallback 不再默认请求 https://mhquery.site/api/mhrs,缺少 base URL 时移动端 client 抛出 missing_http_fallback_config 且不发起请求,pnpm mobile:api:check 也会直接失败并提示配置。
  • 同步移动端 runbook、API 文档、OpenSpec 主规格、AGENTS.md 和 backlog;Web Reference API 冻结或删除的下一步不再被移动端默认 fallback URL 阻塞。
v0.18.4
2026-07-08
  • 迁移 MHR:S generated metadata 事实目录(主块 datarelocate-mhrs-generated-metadata):monsters.generated.jsonmonster-details.generated.jsonalchemy.generated.jsonqurious.generated.jsonapps/web/src/data/metadata/mhrs/ 移到中立的 data/metadata/mhrs/,Web 只保留 TypeScript wrapper 消费,不再拥有这些补充事实文件。
  • Supabase export/parity 改为读取 data/metadata/mhrs/*.generated.json,远端 catalog 已用新 sourceName 重新 --reset-release 导入;严格 parity 继续通过:catalog counts 30/30catalog row parity 33/33 fileslist totals 18/18projection samples 13result: ok
  • 修正 Supabase 导入连接默认端口:导入和 parity 脚本改用 session pooler 5432;导入脚本额外 reset role,避免 transaction pooler 6543 把当前角色设为 anon 导致 catalog 写入失败。
  • 同步持久规则和后续队列:AGENTS.md、架构文档、Supabase runbook、OpenSpec 主规格和 backlog 都明确 generated metadata 属于数据事实层;Web Reference API 冻结/删除的下一步不再被 App 或 metadata ownership 阻塞。
v0.18.3
2026-07-08
  • 切换移动端默认数据入口(主块 appswitch-mobile-to-supabase-reference-api):apps/mobile 现在默认通过云端 Supabase api.mhrs_reference(path, query) projection 取数,列表、详情、搜索、武器树、炼金和怪异化等现有请求继续复用 @mhquery/api-contract 解析成功/错误 envelope。
  • 移动端 Supabase 调用使用直接 PostgREST RPC fetch,显式带上 Accept-Profile: apiContent-Profile: api,避免 custom schema 误落到 public;客户端只需要 publishable/anon key,不包含 service role、数据库密码或服务端密钥。
  • HTTP /api/mhrs/* 保留为显式 fallback:只有设置 EXPO_PUBLIC_REFERENCE_API_MODE=http 时才走 EXPO_PUBLIC_API_BASE_URL,用于本地 API、过渡期兼容或诊断,不再是默认生产数据底座。
  • 同步移动端 runbook、API 文档、OpenSpec 主规格和 AGENTS.md:App 运行时以 Supabase projection 为默认入口,数据正确性仍以 localdb/mhrs.sqlite 严格 parity 为第一门禁,不用移动端 E2E 代替数据迁移校验。
v0.18.2
2026-07-08
  • 强化 Supabase 数据迁移正确性门禁(主块 dataharden-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 不一致都会失败。
  • 严格 parity 当前覆盖 33 个导出文件:catalog counts 30/30catalog row parity 33/33 fileslist totals 18/18projection samples 13failures 0。来源覆盖包括 SQLite-derived facts(23 文件 / 83324 行)、MHRice JSON 派生数据(5 文件 / 4650 行)、media manifest(7644 行)、monster generated metadata 和 foundation records。
  • 修复 Qurious 百龙武器强化来源映射:MHRice 来源引用了 RampSkl_ID=88,但 localdb/mhrs.sqlite 中该百龙技能 Valid=0 且名称/描述均为 .。导出脚本现在保留 metadata.source_skill_id=88source_skill_mapped=false,但不再伪造不存在的 rampage-skill:88 实体引用;远端 Supabase 已用修正后的导出重新 --reset-release 导入。
  • 修复 Supabase catalog 重置导入顺序:import-catalog --reset-release 先清 typed facts 再删除 release entities,避免被 monster_drops_item_entity_id_fkey 等 restrict 外键阻断。
  • 同步数据证据和持久规则:docs/research/supabase-mhrs-parity-2026-07-08.mdsupabase/README.md、架构文档、OpenSpec 主规格和 AGENTS.md 都明确 App 切换、发布和后续数据扩展不得用旧样例级 parity 作为完成证据。
v0.18.1
2026-07-07
  • 重构仓库指导材料关系(主块 workflowredesign-docs-and-openspec-closeout):AGENTS.md 收敛为仓库路由、硬规则和高频边界,新增 docs/index.md 作为 docs 总入口,明确 OpenSpec 主规格、活跃 change、docs、backlog 和历史 research 的职责边界。
  • 把文档影响审查纳入 change 收口:非平凡工作完成前必须判断并同步 OpenSpec 主规格或 change spec delta、docs/AGENTS.mddocs/backlog.md;无需同步时也要写明理由,避免实现完成但文档/指南漂移。
  • 定制 openspec/config.yaml:先通过项目配置约束中文材料、主块声明、proposal/design/tasks/spec 结构和归档格式,不立即 fork mhquery-change schema;schema fork 观察项已停车到 Workflow 待办。
  • 归档三个已完成的 mobile OpenSpec change,并把已验收的移动端首页、列表和详情规则同步回 openspec/specs/mhquery-reference-app/spec.md,避免活跃 change 长期滞留。
  • 同步当前入口文档事实:API 文档补齐 alchemy 与 4 个 qurious* 端点,仓库组织补上 apps/landinglocalmedia/mhrs/,部署文档修正 CI 分支说明,协作护栏补充 workflow 主块。
v0.18.0
2026-06-29
  • 新增移动端 Qurious(怪异化)装备强化查阅(主块 appadd-mobile-qurious-reference):前置两个 data 块变更(0.16.0 / 0.17.0)已把怪异化装备强化建模为 4 个 Reference Platform list 端点,但移动端至今没有任何怪异化查阅入口。本次把 4 簇接入移动端首页与列表页,玩家能在移动端查询「强化要什么材料」「某武器类型能装哪些百龙技能」「某强化类型/等级的概率分布」「某技能在怪异强化中的成本」。
  • 首页图鉴目录从 15 行扩到 19 行,新增 4 个独立入口:怪异化技能池(/catalog/qurious,121 技能)、怪异化材料(/catalog/qurious-materials,42 条)、百龙武器强化(/catalog/qurious-hyakuryu-weapons,294 条按本地武器类型过滤)、怪异化概率表(/catalog/qurious-base,1815 条按强化类型/等级过滤)。4 簇均为纯列表资源(无详情页),与 alchemy/awards/dango-skills 同构。
  • 概率表 base 簇可视化方案:每条 entry 有 20 档 valueTable/lotTable 原始概率数组,列表行不铺平数组,改为在 meta 行用非零档摘要(value×概率% 形式,如 9/30% · 10/50%)。数据探查确认 90% 的行只有 1 个非零档、最多 3 档,移动端一行可容纳。摘要逻辑放在可测试的纯函数 quriousProbabilitySummary
  • 概率表簇与百龙武器簇接入 sticky 筛选条:概率表用 SegmentedControl 切换等级 + 横向 ToneBadge chip 行切换 14 个强化类型标签;百龙武器用横向 ToneBadge chip 行切换 14 种本地武器类型。筛选经查询参数透传到 /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)暴露。
v0.17.0
2026-06-29
  • 新增 Qurious(怪异化)装备强化多簇 API 资源(主块 dataadd-qurious-multi-cluster-api):前置 0.16.0 只暴露了技能池簇(121 技能,本质是技能索引),玩家真正想问的「强化要什么材料」「某武器类型能装哪些百龙技能」「某强化类型/等级的概率分布」全部回答不了。本次把材料簇、百龙武器簇、概率表簇暴露为 Reference Platform 平铺资源端点,为后续移动端查阅(Change 2)铺好数据底座。
  • 新增三个 list 端点:/api/mhrs/qurious-materials(42 条武器材料,物品已本地化,回答「强化要什么材料」)、/api/mhrs/qurious-hyakuryu-weapons(294 条百龙武器强化,按本地武器类型查能装的百龙技能)、/api/mhrs/qurious-base(1815 条概率表,按强化类型/等级查概率分布)。保留原有 /api/mhrs/qurious 技能池端点。Web 端不做 UI(明确非目标),只接 API 端点。
  • 强化类型 categoryId 推断中文标签:MHRice 无官方 categoryId→名称表,本次用 equip_skill.category_id_1/2/3 字段的技能聚类推断 14 个中文标签(斩味强化/弹药射击/攻击输出/会心相关/属性强化/异常状态/耐力相关/武器动作/防御受击/属性耐性/回复辅助/综合强化/基础强化/孔位强化),1815 条概率表全部覆盖。generated.json 同时保留原始 categoryId 数值与推断 categoryLabel,标签来源标注为应用自有推断(探针脚本 scripts/probe-qurious-category-id.js 可复现校正)。
  • 百龙武器 weaponTypeTag 映射本地武器类型(294/294,14 种武器类型全覆盖):归一 MHRice 的 4 个简写标签(ShortSword→单手剑、Horn→狩猎笛、SlashAxe→斩击斧、ChargeAxe→盾斧),让百龙武器簇可按武器类型查阅。
  • 修复共享 list 契约 id 必填 bug:技能池类派生资源(alchemy/qurious 技能池、百龙武器簇)的条目原本无数字主键,导致 list 响应封套 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 全零行精确语义确认。
v0.16.0
2026-06-29
  • 新增 Qurious(怪异化)装备强化数据契约(主块 dataadd-qurious-buildup-data):MHQuery 此前完全没有怪异化装备强化数据,用户无法查询「某装备怪异强化能抽到哪些词条」「某个强化等级的概率分布」「某技能在怪异强化中的成本」。本次把 MHRice mhrice.json 12 张表(custom_buildup_* / armor_buildup / hyakuryu_weapon_buildup,共 3615 行)建模为 Reference Platform 资源,为后续 Web/App 展示铺好数据底座。
  • 纠正历史用词与数字误差:backlog 与早期探针报告称「技能 Qrious 点数」「13 张表约 5000 行」,细颗粒探针(probe-qurious-custom-buildup)确认 equip_skill.worth_point_list 全为 null(技能本身没有 Qrious 点数),真实数据是装备强化系统,共 **12 张表 3615 行**,按 4 簇组织:概率表(custom_buildup_basevalue_table/lot_table 20 档分布)、抽签/槽位配置、技能池(custom_buildup_equip_skill_detail)、材料/解锁。
  • contract-first 落地链路:解析器 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 全零行的精确语义确认。
v0.15.0
2026-06-29
  • 新增独立官网交付面 apps/landing(主块 weblanding-site):MHQuery 此前只有查询应用和移动端两个交付面,缺少面向公众的门面。官网承担三项职责——展示核心功能、提供移动端 App 下载入口、展示项目更新日志。
  • 官网是独立的 Next.js 应用(@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 边界干净。
  • 官网单页由 6 个业务复合组件构成:SiteHeader(sticky 顶栏 + 锚点 + 进入应用 CTA)、Hero(品牌色背景 + 一句话定位 + 双 CTA + 设备预览占位)、FeatureSection(6 个功能卡片:全局搜索、怪物弱点、武器派生树、素材来源用途、装备技能、任务报酬)、DownloadSection(iOS + Android 双平台下载卡,App 未上架以「即将上线」占位,预留 TestFlight / App Store / Play Store 链接位)、ChangelogSection(更新日志时间线,最新 3 版展开、历史版本原生折叠)、SiteFooter
  • 新增 CHANGELOG 解析层:build-time 读取根 CHANGELOG.md 解析为结构化数据并渲染成对外更新日志。不引入 markdown 解析依赖,手写轻量解析器覆盖固定格式(## 版本 - 日期 + bullet),反引号代码段渲染为 <code>,异常标题(0.1.0 - 补记)降级处理。11 个单测覆盖解析、inline 渲染与真实仓库文件读取。
  • 接入根脚本与 CI:根 package.jsonlanding:dev / landing:build 等 filter 脚本,typecheck 扩展为 web + mobile + landing 串联;CI verify job 在查询应用验证后追加 landing 独立的 lint / test / build 步骤。
  • 修复版本不同步:此前根与 mobile 在 0.14.0,但 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。
v0.14.0
2026-06-29
  • 移动端首页图鉴目录入口补齐(主块 appmobile-home-catalog-entries):把首页图鉴目录从 6 条扩展到 15 条,覆盖全部可查阅资料族,使移动端首页与 Web 侧边栏入口对等。
  • 新增 9 条首页入口行:装饰品、百龙装饰品、百龙技能、地点、随从武器、随从防具、调合、勋章、兔团子技能。这 9 个资源族此前数据层 ReferenceOperationMap/api/mhrs/* 已覆盖、列表页已就绪,却只能靠详情关系链或搜索结果偶然触达,移动端用户无从知道可从首页直达。
  • 入口行复用现有 CatalogRow + SectionHeading 组合,路线 A 单列纯分割线列表,与原有 6 条行高 / 图标框 / 分割线 / 箭头节奏完全一致;图标统一品牌蓝,不为资源族分配主题色;前 6 条保持原序,新增 9 条按真实查阅价值排序(配装战斗类在前、附录型在后)。
  • /dashboard 返回计数的 12 个资源显示真实数量;调合 / 勋章 / 兔团子技能 3 个无计数的附录型资源降级为只显示内容样例;examples 文案从生产 /api/mhrs/* 取真实代表对象名。
  • 同步更新首页 override 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)路由缺失、移动端武器派生树视图、随从武器 / 百龙技能 / 随从防具详情页信息密度打磨。
v0.13.2
2026-06-29
  • 移动端素材 / 武器 / 防具 / 技能 / 任务 列表页与详情页控制台扁平化(主块 app):把 0.13.0 怪物列表 / 详情页建立的「纯分割线列表 + Hero 融合」语言推广到这 5 个实体,消除移动端列表页 override 与详情页 override 中明确列为技术债的白卡堆叠、横向 tab 与割裂 Hero。
  • 列表页:非怪物列表项从 SurfaceCard 白卡堆叠改为 ResourceListRow 纯分割线连续行(图标槽首字占位 + 名称 + 一行高信号 meta + 右侧 Badge + 轻量箭头);任务列表裸药丸筛选收编进 StickyFilterBar,关键性用 SegmentedControl、类型用横滑药丸组并下滑常驻;移除冗余「N 条」计数行。
  • 详情页:5 个实体全部迁到 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 筛选点击生效。
v0.13.1
2026-06-29
  • 移动端首页图鉴目录控制台扁平化(主块 app):把 0.13.0 怪物列表页建立的「纯分割线列表」语言推广到首页图鉴入口,解决首页入口行仍是独立白底圆角卡片(圆角 control=18 + 阴影 card)与移动端列表规范直接冲突的问题。
  • CatalogRow 业务 pattern 从独立白卡重做为纯分割线列表行:行直接铺页面灰底,行间靠 divider 细分割线分隔,组内末行不渲染分割线;去掉圆角/白底/阴影,右侧圆角灰盒箭头换成轻量 ChevronRight,新增 divider prop(默认 true)。首页入口行组去掉 rowGap 改用分割线,末行传 divider=false
  • 同步更新首页 override 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)。
v0.13.0
2026-06-28
  • 移动端怪物列表页控制台扁平化(redesign-mobile-monster-list,主块 app):解决「用卡片承载 item + 筛选项简陋」两个问题,并沉淀移动端列表页设计规范。
  • 列表项从「每行一张白卡」改为**纯分割线列表**:怪物行直接铺页面灰底,行间靠细分割线分隔,无圆角/白底/阴影,与详情页、首页的「去卡片化」语言一致。
  • 筛选项从裸药丸横滑改为**sticky 固定筛选条**:StickyFilterBarSegmentedControl 尺寸分段控件,选中态白底蓝字),下滑列表时常驻可见;并去掉与导航栏重复的「怪物 N 条」标题行。
  • 新增 SegmentedControlStickyFilterBar 业务 pattern,供怪物列表和未来任务列表筛选复用。
  • **移动端列表页设计规范沉淀**:新建 docs/ux/mobile-list-design-system.md 列表页 override(仿 mobile-detail-design-system.md 结构),固化纯分割线列表、sticky 筛选、分段控件 vs 药丸使用时机、列表行信息密度、列表页验收门。主规范、list-page-guidelines.mdAGENTS.md 同步指向该 override。此前移动端列表页规范是真空地带(桌面指南明确「桌面优先」),现在成为可被其它列表页和未来迭代复用的持久规范。
v0.12.2
2026-06-28
  • 怪物详情页第二轮反馈返工(redesign-mobile-monster-pages v5,主块 app):解决 v4 验收后的四个问题——概览白卡漂浮割裂、导航栏与蓝色 Hero 割裂、tab 无意义、肉质区折叠后看不到任何弱点。
  • Hero 与导航栏融合:AppHeader 新增 hero variant(蓝色背景+白字图标),详情页导航栏与 Hero 视觉融合为同一单色面板,消除白条+蓝块割裂。
  • 概览区融入 Hero:危险度/抗性/代表掉落行从白色 InfoGroup 卡片改为直接铺在蓝色 Hero 底部,行间半透明白色细线,去掉漂浮白卡。
  • 去掉横向 tab:删除 MonsterDetailTabs 和滚动锚点逻辑(registerSection/jumpTo/handleScroll),页面改为线性滚动。
  • 肉质区恢复核心弱点:双轨弱点答案(物理/属性+阈值药丸)作为首屏可见证据回到肉质区,Hero 不重复(职责分离)。
  • **详情页设计规范沉淀**:新建 docs/ux/mobile-detail-design-system.md 详情页 override(仿 mobile-home-design-system.md 结构),固化 Hero 融合、去卡片化、线性滚动、双轨弱点渐进披露、InfoRow/InfoGroup/ThresholdChip 使用时机、折叠策略、详情页验收门。主规范和 AGENTS.md 详情页段落收敛并指向该 override。此前详情页决策只散落在代码里,现在成为可被其它详情页和未来迭代检索的持久规范。
v0.12.1
2026-06-28
  • 怪物详情页控制台扁平化返工(redesign-mobile-monster-pages v4,主块 app):解决 v3 上线后的三个视觉问题——Hero 区层层套边距、肉质矩阵死板不聚焦、掉落/任务密密麻麻。
  • 新增 InfoRow / InfoGroup 扁平化业务 pattern:用单 panel + 连续行 + 细分割线替代堆叠小卡,让代码回到既有设计系统规范「不允许卡片套卡片」。MonsterHero 嵌套层从 4 层(外卡→蓝头→灰卡 HeroBand→图标白圆)压到 2 层(蓝色身份条 + 扁平行序列)。
  • 肉质展示改为渐进披露:Hero 双轨弱点答案作首屏结论(物理≥45 / 属性≥20 阈值可见),完整 5×9 矩阵默认折叠进「查看完整肉质矩阵」入口,遵循「分心短脉冲」「答案优先」移动端使用事实。
  • 掉落/任务去卡片化:掉落改为按等级(下位/上位/大师)分组的连续行 + 细分割线 + 概率条,任务从 8 张堆叠卡片合并为单个连续列表。
  • 新增 ThresholdChip 共享阈值药丸 pattern 和 design-tokensradius.pill,满足页面禁写 borderRadius 的设计检查门禁。
  • 模拟器截图自审(iPhone 16 Plus,雌火龙金样本)发现并修复肉质区双轨答案与 Hero 概览的信息冗余,职责分离:Hero 负责战斗结论概览,肉质区负责完整部位数据。
v0.12.0
2026-06-27
  • 重做移动端怪物列表与详情页(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 新增"移动端使用事实"小节,沉淀六条调研结论(分心短脉冲、单手拇指热区、狩猎前查询、部位弱点优先、双轨弱点心智、数值门槛决策锚点)作为所有移动端设计决策的上游理由。
v0.11.0
2026-06-26
  • 新增炼金技能池数据契约(add-alchemy-skill-pool-data):把 MHRice mhrice.jsonalchemy_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
  • 新增稳定 DTO AlchemySkillPoolEntry:含 grade(S/A/B/C)、pattern(10 种炼金模式)、7 档 skill1Rates/skill2Rates(技能等级 1-7 抽取概率,已用 max_level 交叉验证)、7 档 skill1Mystery/skill2Mystery(怪异化加成),并保留 sourceMode: "mhrice-json"sha 来源溯源。
  • 按 contract-first 路径落地: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。
v0.10.1
2026-06-26
  • 将 Solo Owner Harness 升级到 v0.3:Web/App 可见改动必须提供截图、录屏、动图或连续截图等可视化证据,Data 改动必须提供样例、对比、覆盖率、契约验证、来源链路和异常清单组成的数据证据报告。
  • 新增单块 change 规则:每个非平凡 change 只能声明 webappdata 中一个主块;跨块机会必须拆分,并把后续块停车到 backlog。
  • 重构 docs/backlog.mdApp / Web / Data 三块,并为每条开放待办补齐优先级、新建时间、创建原因及收益、重开条件和关联信息。
  • 更新 AGENTS.md 和 OpenSpec solo-owner-harness 规格,把 v0.3 的证据、范围和 backlog 回看规则沉淀为后续 agent 默认责任。
v0.10.0
2026-06-26
  • 完成怪物异常状态数据补全(monster-status-supplement):用 MHRice mhrice.jsoncondition_damage_data 权威数值替换原 HTML 解析的 preset 异常状态数据,覆盖麻痹、睡眠、昏厥、疲劳、毒、爆破、闪光、各属性异常、陷阱、捕获等 20 类。
  • 76/78 个怪物升级为 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.jsonsha 哈希作为来源溯源,sourceModepreset 升级为 mhrice-json
  • 新增 scripts/sync-mhrs-monster-status-from-json.js 解析器(只读 .cache/,输出覆盖率报告)和 15 个聚焦测试覆盖 parseAssetId/formatStatus/STATUS_MAP/火龙金样本。
v0.9.2
2026-06-26
  • 完成 MHRice mhrice.json 数据源证据型探针(probe-mhrice-json-data-source),产出 docs/research/mhrice-json-data-source-probe.md 调研报告和 3 个可复现探针脚本,验证了来源元数据、顶层 schema、实体身份映射覆盖和三个候选补强方向的就绪度。
  • 确认 MHRice JSON 到本地实体的映射桥梁:物品/地点/百龙技能可 ID 直接对应,技能与装饰品(含 Master Rank 内容)须用英文名称桥梁(MHRice msg 表 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_* 启用标志),可补全场景化异常状态。
  • 更正 backlog 原文「技能 Qrious 点数」用词:探针证实 equip_skill.worth_point_list 全为 null,实际是 custom_buildup_* 13 张表的 Qrious 装备强化系统。
  • docs/backlog.md「参考数据补强」从 3 条「等 probe」升级为 5 条「可立项」候选,按就绪度排序并注明映射桥梁与复杂度:炼金技能池(高)、Qrious 装备强化(高)、怪物异常状态补全(高)、装饰品解锁(中)、地图采集点掉落(中)。
  • 修复主规格两条历史遗留需求缺少校验关键字的问题(「不得」→「禁止」、「应」→「必须」),解除后续 change 归档时主规格重建校验的阻塞。
v0.9.1
2026-06-25
  • 新增 Solo Owner Harness v0.1 工作协议,用 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 变成新的管理负担。
  • 将全仓版本同步到 0.9.1,标记 MHQuery 的 solo owner 工作方式进入可复用协议基线。
v0.9.0
2026-06-24
  • 强化 Reference Platform contract 层: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 可消费性。
  • Web API route 改为复用 endpoint registry 派生 list/detail/support endpoint;Mobile API client 的 fetchList / fetchDetail 改用 contract 导出的 resource 类型,减少 UI 或 client 随手编 resource/字段的空间。
  • 通过 typecheck 暴露并修正若干 DTO contract 漂移:素材、防具、技能详情补回列表继承字段,武器树类型补齐 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 约束。
  • 将全仓版本同步到 0.9.0,标记 Reference Platform 从边界分层进入声明式 contract 约束基线。
v0.8.0
2026-06-24
  • 一次性拉直 Reference Platform 边界:Web 页面和 /api/mhrs/* 通过同一套 packages/reference-service operation surface,MHR:S SQL 与源数据怪癖迁入 packages/mhrs-sqliteapps/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。
  • 移动端 API client 改为 contract-driven 解析,并新增不依赖生产 API 或本地 Web server 的 mock-contract 测试路径,让 Mobile UI/client 可以独立验证。
  • 补齐 Reference Platform 护栏测试:Web query 边界扫描、MHR:S adapter real-SQL tests、Reference Service fake registry tests、API contract tests 和 Mobile mock/client tests,防止后续把 SQL、路由或本地 SQLite 依赖写回错误层。
  • 更新 AGENTS.md、README、Reference API 架构文档、仓库组织文档、MHR:S API 文档和 Mobile runbook,把包职责、禁止事项和独立验证命令写成后续 agent 必须遵守的强约束。
  • 将全仓版本同步到 0.8.0,标记 Reference Platform 边界进入稳定开发基线。
v0.7.0
2026-06-24
  • 新增 Web 与 Mobile 两端 Storybook 组件工作台:Web 在浏览器运行(pnpm storybook:web,16 个业务复合组件的 story),Mobile 在设备端运行(pnpm storybook:mobile,以 Expo Router 共存路由 /storybook 进入,13 个业务复合组件的 story),两端侧边栏分组镜像统一三层心智模型,让全部业务复合组件可被浏览、对比、验证,避免重复造轮子和命名漂移。
  • 新增共享测试 fixtures 层到 packages/domain/src/fixtures/**,把金样本(火龙、火龙的红玉、弱点特效等)集中为 Web Storybook、Mobile Storybook 与所有测试共用的单一数据源;媒体字段用占位图,不耦合本地媒体库或生产 CDN,消除两端各自硬编码必然漂移的债务。
  • 新增 Web 组件 import 边界规则:页面禁止直达 shadcn 原子组件,必须通过业务复合层组合。规则目前以 warn 落地(现有 28 处历史违规待清理),清理完升为 error;让"不失控"从约定变成可执行的硬护栏。同时把已废弃的 next lint 迁移到 ESLint CLI 以支持 flat config。
  • AGENTS.md 沉淀三层组件模型(primitives/composites/pages)、Storybook 分组约定、fixtures 约定与 import 边界规则要点。
  • 将全仓版本同步到 0.7.0(此前 packages/* 与 apps/mobile 落后于根 0.6.2,顺带修正单一产品版本)。
v0.6.2
2026-06-23
  • 在 Web 侧边栏底部常驻展示当前产品版本号(如 v0.6.2),版本来源直接读取 apps/web/package.json,bump 版本后自动跟上,无需额外维护;纯展示、低调灰色、不附加链接或日期。
v0.6.1
2026-06-23
  • 以素材列表表格为 Web 表格视觉标准,统一列表页、详情页、怪物情报表和肉质表的卡片表面、细边框、表头、行高、hover 和空态。
  • 新增唯一的 ReferenceTable 业务封装并删除旧 DataTable / SortableDataTable,避免 Web 资料页继续分裂出多套 shadcn ui/table 封装。
  • 统一表格实体名称列的固定图标槽位,让缺失图标使用同尺寸占位,不再影响行高或文字对齐。
  • 在 OpenSpec、AGENTS.md 和列表页 UX 规范中沉淀 Web 表格唯一封装和素材表格基准规则。
v0.6.0
2026-06-19
  • DB_ItmtoCbo 调合配方提升为一等资料:新增 Web /combinations、侧边栏入口和 /api/mhrs/combinations 分页端点,配方行可搜索产物或素材并跳回素材详情。
  • 扩展任务列表查询和 API 参数,支持 key=key|urgent|normal、任务类型和等级过滤;Web /quests 新增关键/紧急与任务类型筛选,并在列表里展示关键/紧急标记。
  • 补齐 Mobile 图鉴资源,新增调合列表卡片,并让 Mobile 任务列表使用关键/紧急和任务类型筛选 chip。
  • 补齐 Mobile 素材详情的信息覆盖:展示随从派遣来源、调合来源和调合用途,同时不把 DB_ItmtoPaliTeam.Icon 误翻译成未确认类别。
  • 补齐 Mobile 武器详情的专属资料展示:狩猎笛旋律、弩枪偏移/装填/反动和可确认弹药装填行。
  • 更新 Reference API 文档、OpenSpec 变更、backlog、查询/API/Mobile 单元测试,并把 Web Vitest 测试 host 固定为 127.0.0.1 以适配没有 localhost hosts 映射的沙箱环境。
v0.5.0
2026-06-18
  • master 上的 GitHub-hosted CI 成功后自动部署 Web 容器到 VPS,关闭“代码已合入但生产 API 还停在旧版本”的发布缺口。
  • 保留手动 Deploy 入口用于补发 Web 部署和显式同步 R2 媒体;自动部署默认不同步媒体,避免普通代码发布牵动大批对象存储同步。
  • 在部署前增加远端 .env.production、运行时 SQLite、localmedia 和 Compose 配置预检,让线上环境缺项在构建前清楚失败。
  • 将 VPS 上的 ops/** 视为机器本地反向代理配置并在 rsync 时保留,同时不复制本机 owner/group 元数据,避免常规 Web 发布覆盖或卡在 Caddy 目录权限上。
  • 把部署后验证从单一 /api/health 扩展到代表性的 /api/mhrs/* JSON envelope 探针,确保移动端默认生产 API 真实可用。
  • 更新部署文档和 backlog,沉淀自动 CD、VPS 环境归属、手动 fallback 和 Reference API 发布验收规则。
v0.4.3
2026-06-18
  • 明确 Web 与 Mobile 的 UI 组件库边界:apps/web 必须直接基于 shadcn/ui,apps/mobile 必须直接基于 gluestack-ui。
  • apps/mobile 从本地 src/ui/primitives/** 迁移到真实 gluestack-ui 生成组件,根布局接入 GluestackUIProvider,业务 UI 改为组合 components/ui/** 基础入口。
  • 删除移动端本地基础 primitives 层,只保留 src/ui/** 中的业务复合组件,如资料卡、详情段落、关系行、矩阵和移动端导航。
  • 为 gluestack Accordion 在 pnpm/Metro 下补齐 runtime 依赖解析,确保 Expo dev-client 能真实加载迁移后的移动端页面。
  • 审查 Web 的 shadcn/ui 边界,并把 apps/web/src/app/loading.tsx 中本地 skeleton helper 的非主线问题记录到 backlog。
  • 更新移动端 Maestro flows,继续使用稳定 testID/accessibility selector 验证首页、图鉴、搜索、怪物详情、素材来源/用途和技能来源路径。
v0.4.2
2026-06-18
  • 收紧移动端分组列表的默认密度,避免首页“最近查看”和图鉴目录出现过大的卡片内边距。
  • 新增共享 GroupedList / GroupedListRow,让同类分组列表使用一致的紧凑行高、分隔线和文字层级。
  • 调整 Tab smoke flow 使用稳定 deep link 进入 首页 / 图鉴 / 搜索 根入口,避免被上一次保留的嵌套路由状态影响。
v0.4.1
2026-06-18
  • 固定移动端默认启动方式为 Expo dev-client:pnpm mobile:ios 只负责启动 Metro 并打开 iOS 模拟器,pnpm mobile:ios:build 才用于 native build/install。
  • 新增移动端 API preflight 和 Maestro 根脚本:pnpm mobile:api:checkpnpm mobile:e2epnpm mobile:e2e:tabs
  • 明确移动端默认依赖 https://mhquery.site/api/mhrs,只有 API/DTO、本地未部署数据或生产 API 不可用时才显式设置 EXPO_PUBLIC_API_BASE_URL 指向本地 API。
  • 纠正移动端 E2E 数据边界:apps/mobile 和 Maestro fixture 不得直接查询 localdb/mhrs.sqlite、Web 查询层或 in-process Reference Service,测试数据必须来自 App UI 或 /api/mhrs/* HTTP API。
  • 补齐 首页 / 图鉴 / 搜索 Tab smoke flow,并同步搜索、怪物、素材、技能三条 Maestro 路径到当前 Expo Router 结构。
  • 为搜索页补上 deep link 查询同步、清空按钮和稳定 testID/accessibility label,避免 Maestro 依赖坐标或手动状态清理。
  • 新增 docs/mobile-dev-e2e-workflow.md,沉淀 Expo 启动、Maestro 验收、截图证据、clearState 禁用原因和 native fallback 诊断路径。
  • 更新 AGENTS.md、README 和 OpenSpec,记录移动端 UI/导航变更必须通过模拟器与 Maestro 验证后再收口。
v0.4.0
2026-06-17
  • 将移动端主入口整理为 首页 / 图鉴 / 搜索:首页负责搜索、最近查看、常用入口和资料状态,图鉴负责完整分类目录,搜索保持轻量可用。
  • 新增移动端图鉴列表入口,覆盖怪物、素材、任务、地点、装备、技能、随从和附录资料;勋章和兔团子技能保持附录列表,不伪装成已定义详情页。
  • 重做移动端列表展示规则,只显示识别和比较字段,避免在列表项提前展示掉落、用途、材料、奖励等二跳关系。
  • 统一移动端详情页为“当前语言标题 + 概要 + 段落导航/证据层”的资料终端结构,并补齐武器、任务、地点、百龙、随从装备等详情入口。
  • 移除移动端实体标题里的中文名 + 英文名同屏副标题,默认全中文展示,同时保留英文列参与搜索匹配的边界。
  • 更新 AGENTS.md 和 OpenSpec change,沉淀移动端资料终端、单语言显示、列表克制和详情信息架构规则。
  • 将根 package 和 workspace package 的版本统一推进到 0.4.0,标记移动端资料终端设计落地。
v0.3.1
2026-06-17
  • 重建移动端首版范围:撤回"全量 15 类 parity"作为完成门槛,改为先做真实可用的核心查询路径。
  • 移动端首页改为搜索优先,只保留 火龙 -> 怪物详情 -> 掉落素材、素材来源/用途、弱点特效 -> 技能详情 -> 来源 这三条路径。
  • 修复移动端搜索 envelope 解析,新增 fetchSearch(),并让 API client 对非 JSON/HTML 错误体给出可读错误。
  • 新增 gluestack-ui 风格的本地 primitives 层,用于 Button、Card、Badge、Input、Accordion、Actionsheet、Skeleton 和 SectionNav;怪物、素材、技能页面改为显式领域建模。
  • 删除旧的 15 类标题级 Maestro flows,改为 3 条核心路径 smoke flows,避免只验证页面标题或输入框文本。
  • 更新 AGENTS.md 和主 OpenSpec spec,记录移动端先做核心路径、后续实体必须先定义真实查询任务的规则。
  • 将根 package 和 workspace package 的版本统一推进到 0.3.1,标记移动端方向修正。
v0.3.0
2026-06-17
  • 新增 apps/mobile 移动端 app,作为 monorepo 第二个交付面,在 iOS 模拟器运行并覆盖与 Web 相同的全量 15 类《怪物猎人崛起:曙光》资料。
  • 移动端用 React Native + Expo Router + NativeWind,只复用 @mhquery/domain 纯类型契约,通过 HTTP 消费生产 /api/mhrs/*,不依赖 Web、Reference Service 或本地数据库。
  • 把 Web 的桌面表格按移动端重译:比较表变密集卡片列表、关系表变分组折叠、单实体矩阵表变"答案优先摘要 + 横向滚动矩阵",武器派生图降级为列表加筛选;视觉语言与 Web 同源(品牌色、中性表面、Badge、刻度条)。
  • 新增 16 个 Maestro E2E 烟雾流(15 类资料 + 搜索 + 抽屉导航),在 iPhone 17 / iOS 26.5 模拟器全部通过,作为移动端变更门槛。
  • 为适配 React Native 0.85 / Hermes V1,移动端依赖升级 react-native-screens、reanimated、gesture-handler,并修复 css-interop 在 pnpm workspace 下的解析。
  • AGENTS.md 沉淀移动端交付面边界和移动端表格翻译规则,README 补充移动端运行入口。
  • 将根 package 和 workspace package 的版本统一推进到 0.3.0,标记移动端交付面进入项目路线。
v0.2.2
2026-06-17
  • 把路由字段从 @mhquery/domain 的 DTO 里彻底拿掉,让 domain 只描述资料数据本身,为后续移动端复用同一套类型契约铺平道路。
  • 在 Web 自己的边界(apps/web/src/lib/domain.ts 和 query 层)补回 href,定义 Web* 路由化类型,Next.js <Link>/api/mhrs/* JSON 的行为完全不变。
  • 把 Reference Service 改回只输出纯 domain DTO,不再注入或感知路由;路由生成责任明确归各交付端自己所有。
  • AGENTS.md 沉淀“路由是交付端关注点、domain 不描述路由”的边界规则。
  • 将根 package 和 workspace package 的版本统一推进到 0.2.2,标记这次跨包类型边界的整理。
v0.2.1
2026-06-17
  • 为 App Router 页面切换补上主内容区 loading 骨架,让点击 sidebar 后立即看到稳定的资料加载状态。
  • 将运行时动态渲染配置从根布局下沉到真正读取 SQLite 或本地媒体的页面和 route,避免全局应用壳承担不必要的动态边界。
  • 优化地点列表和详情的统计查询,改为按地点预聚合采集物、任务和怪物数量,减少 /locations 切换时的查询放大。
  • 为媒体 manifest 解析建立身份键索引,图标密集列表不再为每个实体反复线性扫描 manifest。
  • 记录 sidebar 导航体验应使用生产构建验证,并把默认 E2E 收窄为桌面 smoke,同时补充单 worker 本地 Chrome 和可选窄屏响应式验证脚本。
v0.2.0
2026-06-17
  • 新增私有在线 /api/mhrs/* Reference API,让未来移动端可以直接读取当前 MHR:S 资料数据。
  • 为列表、详情、搜索、武器类型和武器派生树 API 建立统一 JSON envelope 和错误格式。
  • 补上面向后续 Mobile agent 的 API 使用文档,说明端点、参数、响应结构和当前在线-only 边界。
  • 将根 package 和 workspace package 的版本统一推进到 0.2.0,标记 API 能力进入项目路线。
v0.1.4
2026-06-16
  • 把“会话中主动发现值得沉淀的规则,并先和用户确认再写入文档”这条协作习惯写进 AGENTS.mdREADME.md
  • 明确以后不需要你每次手动提醒,我会在对话里主动留意能沉淀的经验、规则和习惯。
  • 将根 package 和 workspace package 的版本统一推进到 0.1.4,让这条协作规则也有明确版本记录。
v0.1.3
2026-06-16
  • 沉淀 A.B.C 语义化版本规则,明确主版本、次版本、修订版本分别对应什么类型的变化。
  • 在 README 和 AGENTS 中写清楚版本递增时右侧归零,以及 0.x.y 阶段仍按同一套规则推进。
  • 将根 package 和 workspace package 的版本统一推进到 0.1.3,让版本规则沉淀本身也有明确记录。
v0.1.2
2026-06-16
  • 把 README 里的数据流改成时序图,让查询链路和媒体链路一眼能看明白。
  • 把常用数据和媒体脚本整理成表格,并补上中文备注,说明每个脚本的用途和重跑时机。
  • 把环境变量整理成表格,并用中文备注说明哪些是本地回退、哪些是线上部署必须显式配置的值。
  • 将根 package 和 workspace package 的版本统一推进到 0.1.2,让这次 README 整理也有明确版本锚点。
v0.1.1
2026-06-16
  • 补上面向自己阅读的 README.md,集中说明 MHQuery 是什么、当前架构、数据流、常用命令、本地运行要点和线上部署环境。
  • 明确后续完成 change 时必须同步更新版本号和 CHANGELOG.md,并要求变更说明写成具体、自然的人话。
  • 将根 package 和 workspace package 的版本统一推进到 0.1.1,让文档初始化有明确版本锚点。
v0.1.0
补记
  • 已具备基于 Next.js App Router 的本地资料查询 Web app,使用 localdb/mhrs.sqlite 作为只读数据源。
  • 已提供怪物、素材、武器、防具、技能、任务以及多类扩展资料的查询页面。
  • 已形成轻量 pnpm workspace 结构,并开始把领域契约、Reference Service、MHR:S SQLite 适配器和媒体解析逻辑拆到 packages/
  • 已准备公开部署路径:VPS + Docker Compose + Caddy 承载 Web 应用,Cloudflare R2 提供媒体资源域名。