docs(wiki): 更新搜索功能修复记录 — hands-skills/feature-map/known-issues/log
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

- hands-skills.md: Researcher 搜索能力详细说明 + 数据流 + 修复清单
- feature-map.md: 新增 F-09.5 Agent 搜索链路 (搜索引擎/网页获取/UI处理)
- known-issues.md: 搜索 04-22 P1×3 修复记录 (SEARCH-1/2/3)
- log.md: 追加 04-22 变更日志
This commit is contained in:
iven
2026-04-22 16:33:01 +08:00
parent 81005c39f9
commit 8b3e43710b
4 changed files with 66 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
---
title: Hands + Skills + MCP
updated: 2026-04-21
updated: 2026-04-22
status: active
tags: [module, hands, skills, mcp]
---
@@ -28,7 +28,7 @@ tags: [module, hands, skills, mcp]
|------|------|------|--------|------|
| Browser | 浏览器自动化 (23 Tauri命令) | WebDriver | 8 | `hands/browser.HAND.toml` |
| Collector | 数据收集聚合 | — | 8 | `hands/collector.HAND.toml` |
| Researcher | 深度研究 | LLM | 22 | `hands/researcher.HAND.toml` |
| Researcher | 深度研究 + 网络搜索 | 网络 | 22 | `hands/researcher.HAND.toml` |
| Clip | 视频处理 | FFmpeg | 30 | `hands/clip.HAND.toml` |
| Twitter | Twitter 自动化 (12 API v2) | OAuth 1.0a | 25 | `hands/twitter.HAND.toml` |
| Quiz | 测验生成 | — | — | `hands/quiz.HAND.toml` |
@@ -36,6 +36,29 @@ tags: [module, hands, skills, mcp]
Hands 测试分布(前 5: Clip(30), Twitter(25), Researcher(22), Browser(8), Collector(8)
### Researcher 搜索能力04-22 修复)
Researcher 是 ZCLAW 的核心搜索 Hand支持从对话中直接触发网络搜索和网页获取。
**搜索引擎**: Baidu + Bing CN 并行国内用户可用DuckDuckGo 作为 fallback
**网页获取**: Jina Reader API优先返回干净 Markdown→ 直接 HTTP fetch降级
**LLM 兼容**: 扁平化 input_schemaaction/query/url/urls/engine兼容 glm-5.1 等国产模型
**空参数回退**: 当 LLM 发送空 `{}`loop_runner 自动注入用户消息作为 `_fallback_query`
```
用户消息 "搜索今天的新闻"
→ LLM 生成 ToolUse{hand_researcher, {action:"search", query:"今日新闻"}}
→ AgentLoop → ResearcherHand.execute()
→ execute_search() → search_native() → Baidu + Bing CN 并行
→ 搜索结果 (10条) → ToolResult → LLM 基于结果生成回复
→ 前端 stripToolNarration 过滤内部叙述 + ReactMarkdown 渲染排版
```
关键修复 (commit 5816f56 + 81005c3):
- **schema 简化**: `oneOf`+`const` → 扁平属性,解决 glm-5.1 不理解复杂 schema 导致空参数
- **empty-input 回退**: loop_runner 检测 `{}` → 注入 `_fallback_query` → researcher 自动搜索
- **排版修复**: stripToolNarration 从句子级拆分改为行级过滤,保留 markdown 结构
### 已删除 Hands (04-17 Phase 5 空壳清理)
| Hand | 原状态 | 删除原因 |