Knowledge 知识库系统
wesgine Knowledge 子系统:语义搜索、文件管理、数据源、威胁扫描与 Agent 绑定。
核心 API
语义搜索
POST /cells/{id}/knowledge/search
注意:是 POST 不是 GET(请求体携带查询参数)。
文件导入
| 方法 | 路径 | 说明 |
|---|
| POST | /knowledge/ingest | 上传文件(raw body) |
| POST | /knowledge/ingest-local | 导入本地路径 |
数据源管理
| 方法 | 路径 | 说明 |
|---|
| GET | /knowledge/sources | 数据源列表 |
| POST | /knowledge/sources | 添加数据源 |
| GET | /knowledge/sources/{id} | 获取数据源 |
| PATCH | /knowledge/sources/{id} | 更新数据源 |
| DELETE | /knowledge/sources/{id} | 删除数据源 |
| GET | /knowledge/sources/{id}/stats | 数据源统计 |
| POST | /knowledge/sources/{id}/reindex | 重建索引 |
文件管理
| 方法 | 路径 | 说明 |
|---|
| GET | /knowledge/files | 文件列表 |
| GET | /knowledge/files/{id} | 文件详情 |
| DELETE | /knowledge/files/{id} | 删除文件 |
| GET | /knowledge/files/{id}/content | 原始内容 |
| POST | /knowledge/files/{id}/reindex | 重建索引 |
| POST | /knowledge/files/{id}/unquarantine | 解除隔离并重建 |
| GET | /knowledge/files/{id}/read | 分段读取 |
| POST | /knowledge/files/{id}/find | 文件内搜索 |
文件列表过滤
GET /knowledge/files?source_id=&agent_id=&category=&status=&limit=&offset=
Agent 绑定
| 方法 | 路径 | 说明 |
|---|
| POST | /knowledge/files/{id}/agents | 绑定 Agent |
| DELETE | /knowledge/files/{id}/agents/{agent_id} | 解绑 Agent |
| GET | /knowledge/agents/{agent_id}/files | Agent 绑定文件列表 |
全局操作
| 方法 | 路径 | 说明 |
|---|
| GET | /knowledge/stats | 全局统计 |
| POST | /knowledge/reindex-quarantined | 批量重建隔离文件索引 |
威胁扫描(INV-KB-SCAN-02)
KB 使用独立扫描器 ScanKBChunk(),不复用 Memory 的 ScanThreats()。
KB vs Memory 扫描差异
| 维度 | Memory(INV-MEM-24) | KB(INV-KB-SCAN-02) |
|---|
| 检测项 | 5 条凭据正则 + invisible unicode | 仅 private_key(PEM 头) |
| 粒度 | 条目级 | Chunk 级 |
| 隔离 | 拒绝写入 | 跳过含私钥的 chunk,其余正常索引 |
为什么不复用 Memory 扫描
Memory 的 hardcoded_secret / connection_string_password / aws_access_key / bearer_token 对文档内容系统性误报:
- 设计文档 DSN 示例
- IM 配置模板
- AWS 示例 key
实测:12/1020 文件被隔离,100% 误报。
解除隔离
历史误报文件通过 Unquarantine(fileID) 释放:
POST /knowledge/files/{id}/unquarantine
POST /knowledge/reindex-quarantined
文件状态
| 状态 | 说明 |
|---|
StatusPending | 等待索引 |
StatusIndexing | 索引中 |
StatusReady | 可搜索 |
StatusQuarantined | 已隔离 |
StatusError | 索引失败 |
相关文档
- Memory 层模型 →
memory-layer-model.md
- 显式搜索 →
memory-explicit-search.md
- CellSpec 总览 →
cellspec-overview.md