Files
pj0235-eai_agentplatform/test/general_assistant/README.md
T
eaiadminandClaude Code c1af86c934 feat(asr): 本地语音转写接入为一级路由 + 并行工作流合并提交
按用户指示做**一包提交**,不按工作流拆分。本提交刻意混合了多条并行线:

  · 本地 ASR 接管:audio 成为与 chat/embed/image/video 同等的路由类别
    (IsLocalRoute 单一判据、audio 健康探测、default_audio_route、
    auto 占位、GET /api/ai/routes/audio、回退云端时界面明示「音频已出网」)
  · LLM 调用层:ctx 贯穿、ToolCall/ToolSchema、EmptyCompletionError /
    TransientUpstreamError(按错误类型而非文案判重试)
  · 编排 Agent:general_assistant orchestrate/persistence/spec_driver
  · 联网搜索:internal/search(playwright)
  · 网盘:backend + 前端
  · 前端 UI:导航/路由/工作台若干页
  · 交付文档:DELIVERY.md / AR04 / 部署文档的「无 Python」表述据实改写,
    新增 eai_agentplatform-asr.service、asr.env、clonezilla-cleanup 清 ~/asr-poc

不分拆的原因:dev 早期,粒度不该打断工作节奏。且实测过——这些改动
**在编译上是同一个单元**(llm.go 的 ctx 签名变更牵动 12 个调用点,
chat_message.go 的 ctx 改动又与编排重写同处一个 hunk),拆出来的中间态编不过。
详见 TOP_CODING_RULES.md G14.5 与 bugs_and_errors.md E09。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-26 22:21:39 +08:00

3.2 KiB
Raw Blame History

通用专员测试归集

按轮次组织,每次运行一个独立子目录 run_<序号>。 每个子目录包含:

文件 内容
request.json 发送的请求体
response.json 后端完整响应(含正文与产物)
summary.md 单次结论(意图类别/耗时/字数/是否编排/落库数)

覆盖的三类路径:direct_answer(直答) / single_search(单问联网) / orchestrated(多 Agent 编排)。

本轮测试记录(2026-09-25)

run 场景 意图 结果 备注
run_01 人形机器人行业报告(挂载 task 94) orchestrated ✅ 21 子任务/19547字 + details,落库 11 条 编排+落库共生验证
run_02 具身智能行业事件/融资搜索 single_search ⚠️ 搜索空,诚实降级 SearXNG 上游无结果
run_03 周末放松闲聊 direct_answer ✅ 302字,无联网 快答
run_04 宇树/优必选/智元对比 orchestrated ✅ 16 子任务/12593字 + details 公司对比
run_05 Tesla Optimus 定价(英文) single_search ⚠️ 搜索空,诚实降级 SearXNG 上游无结果

⚠️ 阻塞发现:SearXNG 上游引擎失效

编排/直答路径正常;但单问联网搜索几乎必然"无结果"。根因不在本项目代码,而在 SearXNG 服务器自身:

  • baidu / sogou:Suspended: CAPTCHA(被中文搜索引擎验证码封锁)
  • wikipedia:ConnectTimeout(外网超时)
  • bing:返回 200 但解析 0 条(疑似 CDN/区域校验页)
  • google / duckduckgo:宿主机不可达(000 连接超时,已被墙)
  • bilibili:✅ 唯一可用,20 条结果

→ 可用引擎仅剩 1 个,实时资讯类查询(汇率/行业融资/新闻)在百度/搜狐被封后落到空结果。

修复尝试与最终结论(2026-09-25)

按用户方向「接入可用的第三方搜索源」,新建 search/sogou.go 搜狗兜底源 + client.Search 多源回退(SearXNG 空/失败 → 搜狗),并加了验证码页识别与一次退避重试。解析器针对真实搜狗页面结构(<a href><h3 class="vr-title"><span>标题</span>)适配,TestParseSogouFixture 用真实抓取页断言 6 条干净结果、通过。

但最终验证发现:所有免费、墙内可访问的搜索源均对「无头 HTTP 抓取」启用反爬,无法稳定作为生产上游:

源 反爬机制
baidu / sogou JS/SNUID/CAPTCHA 人机校验(需执行 JS 或真实浏览器)
bing (cn) 非浏览器 UA 返回无关缓存页,不按关键词匹配
google / duckduckgo 宿主机不可达(网络阻断)
360 so.com 302 反爬重定向
bilibili(经 SearXNG) ✅ 唯一可用,但结果是视频类内容,非通用网页

结论:SearXNG 空结果并非 SearXNG 自身故障,而是其所有上游引擎均对当前数据中心 IP 的 HTTP 抓取封禁。搜狗兜底代码架构就绪、解析可用,但源在持续探触后升级为 checkSNUID JS 校验页,无法由纯 Go HTTP 客户端通过。要恢复通用联网闭环,需在「付费搜索 API / 真实浏览器(Playwright) / 代理池」三选一投入(属部署/预算决策,见对话)。