2.5.6 Onyx
企业资料来源不止 SVN,后续还会接邮件、网盘、飞书、OA;每个来源都有同步、凭证、权限和失败处理。
业务需求企业搜索与连接器
架构位置提供连接器生命周期、权限同步、文档集合、搜索与对话双入口的架构参照
落地阶段一期连接器借鉴
相关来源文件
ai_agent_huge_data_report/docs/13-reference-projects-deepwiki-granularity.mdai_agent_huge_data_report/docs/11-reference-platforms-agentic-knowledge-base.md
DeepWiki 中文译文子页
Onyx 的 DeepWiki 中文译文入口
为 SVN 之外的邮件、网盘、飞书、OA 等来源保留同步、凭证、权限和失败处理模型。
73/73 页中文译文
译文覆盖完整
测试、发布与运维、文档对象与元数据、界面与交互
业务问题与适用场景
企业资料来源不止 SVN,后续还会接邮件、网盘、飞书、OA;每个来源都有同步、凭证、权限和失败处理。
本页从 Onyx 中拆出问题解决方式、对象边界、关键机制和可迁移设计,避免“看过一个开源项目”停留在名词层面。
架构位置与边界
提供连接器生命周期、权限同步、文档集合、搜索与对话双入口的架构参照。
落地判断
如果该项目能力进入本项目,必须先回答三件事:是否保留现有事实源,是否能继承权限,是否能把每个结论回到来源证据。核心对象与数据模型
| 对象 | 作用 | 本项目映射 |
|---|---|---|
连接器Connector | 负责从某类数据源拉取文档、元数据和变化。 | source_connectors |
凭证Credential | 保存只读账号、令牌和可访问范围。 | connector_credentials |
同步任务Sync Job | 记录全量、增量、失败、重试和水位。 | sync_jobs |
文档集合Document Set | 可复用的资料范围,如部门、项目、资料域。 | document_sets |
权限同步Permission Sync | 把源系统权限转成检索过滤条件。 | permission_snapshots |
搜索与对话Search / Chat | 列表检索与自然语言问答共享同一权限边界。 | search_sessions |
主流程与数据流
图 2.5.6 · Onyx 主流程与数据流。
关键实现机制
| 机制 | 拆解说明 |
|---|---|
| 连接器生命周期 | 每个来源有配置、凭证、同步状态、错误、增量水位和重建索引能力。 |
| 权限作为查询条件 | 权限过滤必须进入检索服务,不依赖前端隐藏。 |
| 文档集合抽象 | 把资料范围从物理目录中抽出来,供搜索、问答和应用复用。 |
| 双入口一致 | 列表检索和对话问答应共享同一索引、权限和引用逻辑。 |
技术亮点
- 企业搜索的来源接入思路完整。
- 连接器、凭证、同步任务的边界清晰。
- 权限同步思想对 SVN authz 改造很关键。
不适合照搬的部分
- 现成连接器未必覆盖本地 SVN 权限细节。
- 需要自研 SVN 连接器和权限解释器。
映射到本项目
| 本项目设计点 | 落地说明 |
|---|---|
| SVN 连接器 | 解析路径、修订号、作者、提交信息、文件变化和授权规则。 |
| 权限快照 | 把源系统权限保存为可审计版本,供检索过滤使用。 |
| 同步运营面板 | 展示上次同步、失败文件、重试和索引状态。 |
验证清单
- 用不同权限用户检索同一关键词,确认结果集合差异正确。
- 模拟 SVN authz 变更,验证权限快照和索引过滤及时更新。
依据
术语显示规则
- 正文
- 优先使用中文术语;项目名、接口名和代码字段保留原名。
- 原名
- 原英文名以灰色代码标识显示,便于索引和核对定义,不打断常规阅读。