docs:fix search problem

Change-Id: I13992bfa82acaeafb4e5fce460ae47ec8c6ad3af
This commit is contained in:
yanghao.1600
2026-06-16 19:55:48 +08:00
parent 926e24f4ce
commit 5dde10f027
5 changed files with 55 additions and 23 deletions

View File

@@ -41,6 +41,8 @@
```text
请确认是否执行以下写操作:
本次搜索范围:<当前用户 owner / 负责的资源 | 所有当前身份可见资源>
将创建:
- 目标名称|父级位置|目标类型
@@ -58,6 +60,7 @@
风险提示:
- 不可自动恢复N 项
- 如果搜索范围是所有当前身份可见资源,移动权限未知项不会移动。
确认后才会创建目标和移动资源。

View File

@@ -15,15 +15,15 @@
## 搜索原则
1. 默认使用 `drive +search` Workspace 全量召回
1. 默认使用 `drive +search --mine` 召回当前用户 owner / 负责的 Workspace 资源
2. 除非用户本来就要求限定范围,否则不要要求用户指定文件夹或 Wiki 范围。
3. `SEARCH_RECALL``RECALL_ENHANCE` 必须保持为独立状态。
4. `SEARCH_RECALL` 使用用户原始关键词和显式限制。
5. `RECALL_ENHANCE` 可以基于基础召回证据增加扩展 query。
4. `SEARCH_RECALL` 使用用户原始关键词`owner_scope` 和显式限制。
5. `RECALL_ENHANCE` 可以基于基础召回证据增加扩展 query,且必须继承同一个 `owner_scope`
6. 每个候选项必须保留 query 证据,方便后续解释来源。
7. 单页或单个 query 批次不代表完整覆盖;必须继续分页直到 `has_more=false` 或出现阻塞。
8. 召回和增强召回可能耗时较长,执行超过 60 秒时必须输出进度提示,之后约每 60 秒提示一次。
9. 不默认使用 `--mine` 做 owner 过滤;只有用户明确要求“只整理我 owner / 我负责 / 我可管理的文档”时,才把 `--mine` 作为显式限制
9. 只有用户在 `CONFIRM_CONTEXT` 明确确认 `owner_scope=all_visible` 时,才允许移除 `--mine`
## 状态:`SEARCH_RECALL`
@@ -32,13 +32,14 @@
必须:
1. 基于已确认的 `topic` 构造基础 query。
2. 应用 `constraints` 中的显式限制。
2. 应用默认 `owner_scope=mine` `constraints` 中的显式限制。
3. 不隐式添加 `--folder-tokens``--space-ids`
4. 不隐式添加 `--mine`;只有用户在 `CONFIRM_CONTEXT` 确认 owner / 可管理范围限制时才使用
5. 除非命令限制要求更低值,否则使用 `--page-size 20`
6. 继续分页并合并所有基础召回页面
7. 记录基础统计query、页数、收集数量、重复数量、阻塞项
8. 除非出现阻塞,否则不询问用户,直接进入 `RECALL_ENHANCE`
4. `owner_scope=mine` 时,所有基础 query 必须带 `--mine`
5. `owner_scope=all_visible` 时,不带 `--mine`,并记录扩展召回风险
6. 除非命令限制要求更低值,否则使用 `--page-size 20`
7. 继续分页并合并所有基础召回页面
8. 记录基础统计query、搜索范围、页数、收集数量、重复数量、阻塞项
9. 除非出现阻塞,否则不询问用户,直接进入 `RECALL_ENHANCE`
### 召回进度 UI
@@ -71,6 +72,7 @@
```text
基础召回完成:
- 使用 query
- 搜索范围:
- 应用限制:
- 收集候选:
- 去重后候选:
@@ -87,10 +89,11 @@
1. 基于已确认主题和基础召回证据生成增强 query。
2. 确保增强 query 可解释且不引入明显污染。
3. 每个 query 都必须处理分页
4. 有稳定去重键时,按稳定去重键合并候选项
5. 为每个候选项保留 `source_queries` 和命中证据
6. 当 query 不再产生新候选,或出现工具预算 / API 阻塞时,停止增强
3. 每个增强 query 都必须继承 `owner_scope``owner_scope=mine` 时必须带 `--mine`
4. 每个 query 都必须处理分页
5. 有稳定去重键时,按稳定去重键合并候选项
6. 为每个候选项保留 `source_queries` 和命中证据
7. 当 query 不再产生新候选,或出现工具预算 / API 阻塞时,停止增强。
### 召回阶段退出门禁

View File

@@ -100,6 +100,7 @@
2. `drive permission.members auth` 不提供 `full_access``move` action不能用 `view``edit``share``manage_public` 结果推断可移动。
3. 目标位置权限单独写入 `target_write_state`;目标不可写时,不得生成可执行移动计划。
4. `move_permission_state=unknown` 的资源默认不进入内容验证、相关性高 / 中分组或移动计划。
5.`owner_scope=mine` 但解析出的 owner 不是当前用户时,将该资源视为异常候选,标记为 `move_permission_state=unknown`,不得加入移动计划。
## 状态:`CONTENT_VERIFY`
@@ -183,6 +184,8 @@
```text
筛选结果:
搜索范围:<当前用户 owner / 负责的资源 | 所有当前身份可见资源>
高相关(默认移动):
- 标题|类型|证据|当前位置
@@ -232,6 +235,8 @@
调整后分组:
搜索范围:<当前用户 owner / 负责的资源 | 所有当前身份可见资源>
高相关默认移动N 项
- 标题|类型|证据|当前位置

View File

@@ -20,12 +20,14 @@
必须:
1. 提取 `topic``target``identity``constraints`
1. 提取 `topic``target``identity``owner_scope``constraints`
2.`topic``target` 视为必填字段。
3. 除非用户明确要求 bot / app 视角,否则 `identity` 默认使用用户身份。
4. 默认 `allow_cross_container_move=true`,但必须在 `CONFIRM_CONTEXT` 展示。
5. 除非用户明确提供限制,否则 `constraints` 保持为空
6. 如果缺少 `topic``target`,只提出最小澄清问题
5. 默认 `owner_scope=mine`,表示只搜索当前用户 owner / 负责的资源
6. 只有用户明确要求“不限 owner”“包括共享给我的”“所有我能看到的文档”或“全量搜索”时才设置 `owner_scope=all_visible`
7. 除非用户明确提供限制,否则 `constraints` 保持为空。
8. 如果缺少 `topic``target`,只提出最小澄清问题。
### 输入字段
@@ -34,6 +36,7 @@
| `topic` | 用户要查找的主题、关键词、内容线索、同义词、缩写、排除词。 |
| `target` | 归档目标,可以是已有 Drive 文件夹、已有 Wiki 节点、待创建 Drive 文件夹或待创建 Wiki 节点。 |
| `identity` | 执行身份,默认 `--as user`。 |
| `owner_scope` | 搜索 owner 范围,默认 `mine``all_visible` 仅在用户明确要求扩展到所有可见资源时使用。 |
| `constraints` | 用户显式给出的类型、时间、创建人、评论、标题、范围等限制。 |
| `allow_cross_container_move` | 是否允许跨 Drive / Wiki 容器移动;默认允许,但必须确认。 |
@@ -84,11 +87,12 @@
必须:
1. 展示主题、目标、身份、限制和目标解析字段。
1. 展示主题、目标、身份、搜索 owner 范围、限制和目标解析字段。
2. 说明下一步只进行搜索 / 读取。
3. 说明是否计划创建目标,但尚未执行。
4. 展示是否允许跨容器移动。
5. 在进入 `SEARCH_RECALL` 前停止并等待用户确认。
6. 如果 `owner_scope=all_visible`,明确提示候选数量可能较多,且可能包含无法移动的资源。
### 确认 UI
@@ -99,6 +103,7 @@
目标位置:
目标解析:
执行身份:
搜索范围:
可选限制:
跨容器移动:
下一步操作:只进行搜索和读取验证,不创建目标,不移动资源。
@@ -106,7 +111,20 @@
请确认是否按以上信息开始搜索?
```
如果用户修改任一字段,更新 `topic``target_location``constraints`,然后只重新执行受影响的 setup 状态,再次展示确认信息。
默认搜索范围文案:
```text
搜索范围:当前用户 owner / 负责的资源
```
扩展搜索范围文案:
```text
搜索范围:所有当前身份可见资源
风险提示:候选数量可能较多,且部分资源可能无法移动;后续仍会经过资源解析和内容验证。
```
如果用户修改任一字段,更新 `topic``target_location``owner_scope``constraints`,然后只重新执行受影响的 setup 状态,再次展示确认信息。
## TargetLocation

View File

@@ -25,9 +25,11 @@
- "帮我找到和某主题相关的文档并放到这个文件夹"
- "把所有关于某项目的资料收集到知识库节点下"
- "找出包含某内容的资料,确认后移动到新建目录"
- "按这个关键词全量搜索云盘,把相关资料归档"
- "按这个关键词搜索我负责的资料,把相关资料归档"
默认搜索范围是 Workspace 全量召回,不要求用户先限定文件夹或知识库范围。只有用户明确指定范围时,才使用 `--folder-tokens``--space-ids` 或其他显式限制
默认搜索范围是当前用户 owner / 负责的 Workspace 资源,即 `owner_scope=mine`。只有用户明确要求“不限 owner”“包括共享给我的”“所有我能看到的文档”或“全量搜索”时才使用 `owner_scope=all_visible` 进入扩展召回模式
不要求用户先限定文件夹或知识库范围。只有用户明确指定范围时,才使用 `--folder-tokens``--space-ids` 或其他显式限制。
## 非目标
@@ -58,7 +60,7 @@
3. 执行某个状态前,先读取本文档 `## 渐进加载关系` 表格中该状态对应的文档。
4. 用户可见说明、字段说明和 UI 文案使用中文。
5. 状态名、字段名、枚举值、命令名保留英文稳定标识。
6.`CONFIRM_CONTEXT``CONFIRM_EXECUTION` 作为强用户确认门:前者确认主题、目标位置、身份、可选限制和目标解析结果后才能搜索;后者确认创建目标和移动资源后才能写入。
6.`CONFIRM_CONTEXT``CONFIRM_EXECUTION` 作为强用户确认门:前者确认主题、目标位置、身份、搜索范围、可选限制和目标解析结果后才能搜索;后者确认创建目标和移动资源后才能写入。
7. 进入 `EXECUTE` 前,不得创建目标文件夹 / 节点,也不得移动资源。
8. 必须展示每个相关性分组中的资源名称;低置信分组可以折叠,但必须可查看。
9. 默认只移动 `high` 相关资源;`medium` 资源必须由用户显式选择。
@@ -100,6 +102,7 @@ agent 在一次 workflow 运行中必须维护以下内部字段:
| `topic` | 用户确认后的主题、关键词、同义词和排除词。 |
| `target_location` | 目标位置解析结果,见 setup 文件的 `TargetLocation`。 |
| `identity` | 执行身份;默认优先 `--as user`。 |
| `owner_scope` | 搜索 owner 范围;默认 `mine`,仅搜索当前用户 owner / 负责的资源;用户明确要求扩展时才为 `all_visible`。 |
| `constraints` | 用户显式确认的类型、时间、创建人、范围等限制。 |
| `allow_cross_container_move` | 是否允许跨 Drive / Wiki 容器移动;默认允许,但必须展示给用户确认。 |
| `candidate_items` | 搜索召回结果,包含 query 证据和去重信息。 |
@@ -117,7 +120,7 @@ agent 在一次 workflow 运行中必须维护以下内部字段:
| `PARSE_INPUT` | workflow 被触发 | 加载 setup 文档;解析主题、目标、身份和限制 | 澄清问题或解析摘要 | 必填字段缺失时为 `true` | `RESOLVE_TARGET` |
| `RESOLVE_TARGET` | 主题和目标已获得 | 解析已有目标,或解析待创建目标 | 目标解析结果 | 目标有歧义时为 `true` | `CONFIRM_CONTEXT` |
| `CONFIRM_CONTEXT` | 目标解析完成 | 展示主题、目标、身份、限制和跨容器设置 | 搜索前确认 UI | `true` | `SEARCH_RECALL` |
| `SEARCH_RECALL` | 用户确认上下文 | 用原始关键词和显式限制执行基础全量召回 | 搜索进度 / 基础统计 | 阻塞时为 `true` | `RECALL_ENHANCE` |
| `SEARCH_RECALL` | 用户确认上下文 | 用原始关键词、默认 owner 范围和显式限制执行基础召回 | 搜索进度 / 基础统计 | 阻塞时为 `true` | `RECALL_ENHANCE` |
| `RECALL_ENHANCE` | 基础召回完成 | 执行覆盖增强 query 并合并结果 | 增强召回摘要 | 阻塞时为 `true` | `RESOURCE_RESOLVE` |
| `RESOURCE_RESOLVE` | 候选列表已准备 | 解析 token、类型、父级位置、owner 和移动资格 | 解析进度 / 阻塞摘要 | 阻塞时为 `true` | `CONTENT_VERIFY` |
| `CONTENT_VERIFY` | 资源列表已准备 | 对支持的资源做有界内容读取 | 验证摘要 | 阻塞时为 `true` | `RELEVANCE_CLASSIFY` |