ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Lanhu MCP v1.8.6 需求精确取证指南:用 `lanhu_inspect_requirement_region` 定位模糊指代

Lanhu MCP v1.8.6 需求精确取证指南:用 `lanhu_inspect_requirement_region` 定位模糊指代 MCP 服务人工智能AI 应用【免费下载链接】lanhu-mcp⚡ 需求分析效率提升 200%全球首个为 AI 编程时代设计的团队协作 MCP 服务器自动分析需求自动编写前后端代码下载切图项目地址https://gitcode.com/gh_mirrors/la/lanhu-mcp点击查看免费下载当 Axure 需求文本出现这两个字段如下红框处这类依赖上下文才能理解的指代时lanhu_get_pages与lanhu_get_ai_analyze_page_result返回的全页截图往往过大、过远视觉模型难以聚焦。Lanhu MCP v1.8.6 引入的lanhu_inspect_requirement_region工具为这类歧义需求提供了一条聚焦的视觉取证路径按可见文本、稳定文本块 ID、长页分块 ID 或源页坐标返回紧凑、可读的局部视觉证据同时完整保留既有的全页分析能力。读完本文你将掌握该工具的参数语义、四类锚点的选择时机、长页横向完整分片的原理以及升级到 v1.8.6 的注意事项。一、为什么需要聚焦取证模糊指代的痛点Axure 需求文档中产品描述常常依赖上文语境一段说明文字的字段规则可能出现在表格的十几行之外一句移除这两个字段同步移除列表内字段可能对应远处表格中的具体列。全页截图在分辨率和 token 预算上都是昂贵的——超长页面的完整截图动辄 1 MiB 以上模型难以在小字号下精确辨认字段名。v1.8.6 的解决思路是以文本坐标为锚、以局部裁图为证工具在渲染后的 Axure 页面上定位可见文字块再围绕锚点裁出紧凑图tight与上下文图context把这句话指向哪里转化为裁哪一块给你看。这一路径的关键设计决策在 lanhu_mcp_server.py 的 docstring 中明确写出The tool never runs OCR and never guesses field semantics.也就是说它不运行 OCR、不依据图层命名推断语义只依据渲染出的 Axure 文本坐标与分块 ID 给出视觉证据语义判断完全交给视觉模型结合画面完成。二、工具签名与四种锚点lanhu_inspect_requirement_region的完整签名定义在 lanhu_mcp_server.py一次调用必须且只能提供一种锚点。源码中的anchor_methods校验lanhu_mcp_server.py会在锚点缺失或冲突时直接抛出ValueError: Provide exactly one anchor。锚点参数匹配对象返回结果典型场景query渲染后的 Axure 文本唯一命中返回tightcontext裁图重复命中返回候选预览这两个字段如下红框处附近的文字block_id页面内稳定的Bxxxx文本块 ID该文本块为中心的裁图重复文字场景下从候选预览中选定具体一处tile_id长页分块如T002命名的长页横条图目标文字被烘焙进内嵌截图图片中的文字x/y/width/height源页矩形坐标围绕显式矩形的裁图视觉模型已看到坐标需要放大该区域其余参数levels逗号分隔的裁图级别默认tight,context可选section。各级别尺寸定义于 lanhu_mcp_server.pytight 960×640、context 1600×1100、section 视口宽 × 1800。max_candidates重复文本的候选预览最大数量1–8默认 5上限由AXURE_FOCUS_MAX_CANDIDATES 8约束源码会做max(1, min(...))收拢lanhu_mcp_server.py。page_namelanhu_get_pages返回的精确页面名或 HTML 文件名。文本匹配如何工作文本匹配由_match_axure_text_blocks实现lanhu_mcp_server.py先将查询与文本块做去空白、小写化归一_normalize_axure_anchor_text先精确等值匹配无精确命中再退化为子串包含匹配。测试 test_axure_focus.py 验证了精确匹配优先于子串匹配的顺序。稳定块 ID 从何而来可见文本块的BxxxxID 由_assign_axure_block_ids按渲染顺序确定性生成lanhu_mcp_server.py即B0001、B0002……不依赖 Axure 元素名是否规范因此即使图层命名混乱也能稳定引用。同一 ID 也会出现在lanhu_get_ai_analyze_page_result的文本输出中方便跨调用衔接。三、四步实战流程从页面列表到局部证据第 1 步先获取页面列表与所有需求分析流程一致必须先调用lanhu_get_pages拿到精确的页面名lanhu_mcp_server.py 明确要求 CALL THIS FIRST。它会返回页面列表与文档元数据并给出doc_url便于后续调用。第 2 步按文字锚定query当需求中出现这两个字段这类指代时用附近可见文字作为锚点lanhu_inspect_requirement_region( urlhttps://lanhuapp.com/web/#/item/project/product?tidxxxpidxxxdocIdxxx, page_name列表页, query移除这两个字段同步移除列表内字段, levelstight,context )唯一命中返回 JSON 元数据status: ok、锚点 bbox、每张图对应的裁图级别与源坐标tight与context两张裁图。上下文图围绕锚点居中裁取_center_axure_focus_regionlanhu_mcp_server.py会保证裁图不越出文档边界测试 test_axure_focus.py 覆盖了锚点靠近页面上/下边缘时的边界钳制。无文本命中返回no_text_match状态提示文字可能被烘焙进图片请改用tile_id或源坐标。重复命中进入候选模式见下节。第 3 步重复文字时用 block_id 精确定位若文档里联运渠道出现多次直接query不会替模型猜答案。工具改为返回候选预览每个匹配文本块生成一张 720×420 的候选预览图AXURE_FOCUS_PREVIEW_SIZElanhu_mcp_server.py并附带 JSON 列表给出每个候选的block_id、文本与 bbox。视觉模型对比候选后用block_id二次调用即可拿到该处的 tight/context 裁图lanhu_inspect_requirement_region( url..., page_name列表页, block_idB0009 )release notes 记录的实测中联运渠道重复文本返回了五张候选预览随后通过block_id成功下钻。若block_id不存在工具会返回该页可见文本块总数并抛出Unknown block_idlanhu_mcp_server.py。第 4 步图片内文字用 tile_id 或源坐标Axure 页面常以整张截图承载表格或示意图文字被烘焙进图片渲染层无文本可匹配。此时两条路tile_idT002直接返回对应命名长页横条该横条已包含所需图片内容提供x/y/width/height显式矩形源码要求四者必须同时提供lanhu_mcp_server.py适合模型已从截图读出坐标、需要放大核对的场景。四、长页横向完整分片保持表格不断列v1.8.6 之前的长页分片可能同时沿横向和纵向切开导致表格的字段名—值跨图断裂。本版本改为只沿纵向切分、保持完整内容宽度默认单片不高于 960 源像素高、相邻片重叠 96 像素参数见 lanhu_mcp_server.py 的AXURE_TILE_HEIGHT与AXURE_TILE_OVERLAP。这样标签、值、表头与行单元格始终在同一张图内。渲染测试 test_axure_rendering.py 严格验证了该约束_plan_axure_screenshot_tiles生成的切片region[x]全部为 0、宽度全部等于页面宽 1920、高度均 ≤ 960且相邻片存在重叠before[region][y] height after[region][y]。普通页面不会创建分块test_axure_rendering.py完整截图始终可用。分页读取沿用tile_offset/tile_limit参数tile_limit默认 4、每页最多 12AXURE_DEFAULT_TILE_LIMIT/AXURE_MAX_TILE_LIMITlanhu_mcp_server.py分析响应中会返回tile_next_offset提示继续读取。分块元数据缓存升级为screenshot cache schema 4升级后会自动重建一次分块元数据lanhu_mcp_server.py无需手动清理。五、边界情况与已知取舍远距画布原点部分 Axure 页面的有效内容远离画布坐标原点左上角大量留白。v1.8.6 修复了该问题——区域与稀疏画布截图改用 Chrome DevTools 的captureBeyondViewport且最终长页分块会配平而不是并入超大的尾巴CHANGELOG.md。隐藏文本只对可见文本块分配 ID 并参与匹配隐藏文本不构成候选。分块失败降级若某长页分块生成失败响应会标记tile_errors并提示完整截图仍可用保证证据不因分块故障而缺失。不承诺通用性能release notes 中的尺寸、体积数字描述的是验证样本而非通用性能保证。六、验证结果与数据样本release notes 与 CHANGELOG.md 记录的验证覆盖216 个离线测试全部通过从配置的国内镜像安装的全新 wheel 通过pip check并通过真实 FastMCP stdio 握手暴露全部 17 个工具。聚焦与 Axure 渲染回归套件覆盖唯一文本、重复文本、稳定 ID、分块 ID、显式区域、远距非零画布原点、隐藏文本与分块失败降级。授权结构审计6 份文档、9 个渲染页面、632 个文本锚点、448 个视觉元素1600×1100 上下文裁图与 632/632 个锚点附近的可见证据相交。1920×4402 验证样本用于核对移除这两个字段同步移除列表内字段query返回 960×640 紧凑图 1600×1100 上下文图合计约 208 KiB同一基准中完整截图加前四张细节图约 1.3 MiB——聚焦取证将单次证据体量压缩约 84%。新的横向完整T002分块为 1920×960指令与两个目标字段同时出现在一张图中。七、升级到 v1.8.6常规源码安装拉取 tag → 升级依赖 → 重新安装包 → 重启 MCP 客户端Docker 用户需重新构建镜像。单文件部署若依赖已兼容直接替换 lanhu_mcp_server.py 即可——该文件内嵌匹配的lanhu_design包lanhu_design无需再复制该目录源码、wheel 与发布资产中均不存储账号 Cookie。升级后首次分析长页时screenshot cache schema 4 会自动重建分块元数据。八、小结lanhu_inspect_requirement_region的价值在于把模糊指代变成精确裁图以渲染文本坐标代替 OCR 与图层名猜测用稳定BxxxxID 消解重复文本歧义用tile_id与源坐标覆盖图片内文字再配合纵向切分、横向完整的T002类分片让视觉模型始终拿到足够小、足够准的证据。配合 lanhu_get_pages 与 lanhu_get_ai_analyze_page_result 的既有全页分析链路v1.8.6 在需求分析工作流参见 README.md 的四阶段流程与分块分页约定中补上了最后一公里的定位能力。赞分享MCP 服务人工智能AI 应用【免费下载链接】lanhu-mcp⚡ 需求分析效率提升 200%全球首个为 AI 编程时代设计的团队协作 MCP 服务器自动分析需求自动编写前后端代码下载切图项目地址https://gitcode.com/gh_mirrors/la/lanhu-mcp点击查看免费下载相关推荐用lanhu-mcp让AI读懂Axure需求开发、测试、探索3种分析模式完全指南用lanhu mcp让AI读懂Axure需求开发、测试、探索3种分析模式完全指南 lanhu mcp 是一款面向蓝湖平台的 MCP 服务器它能让 AI 助手MCP 服务人工智能AI 应用GitHub_Trending/fron/frontend地理位置服务精确定位救援需求GitHub_Trending/fron/frontend地理位置服务精确定位救援需求 在救援和救助工作中准确的地理位置信息是确保资源有效分配和快速响应的关lanhu-mcp完整指南MCP服务器如何让蓝湖需求文档直接喂给Cursor和Claude Codelanhu mcp完整指南MCP服务器如何让蓝湖需求文档直接喂给Cursor和Claude Code lanhu mcp蓝湖MCP服务器 是一个开源的 MMCP 服务人工智能AI 应用上一篇5分钟拯救损坏视频untrunc视频修复工具终极指南下一篇RenderDoc 缓冲区格式Buffer Format自定义指南从反射失败到精确字节级布局控制创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进