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}/filesAgent 绑定文件列表

全局操作

方法路径说明
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 对文档内容系统性误报:

实测:12/1020 文件被隔离,100% 误报。

解除隔离

历史误报文件通过 Unquarantine(fileID) 释放:

POST /knowledge/files/{id}/unquarantine
POST /knowledge/reindex-quarantined

文件状态

状态说明
StatusPending等待索引
StatusIndexing索引中
StatusReady可搜索
StatusQuarantined已隔离
StatusError索引失败

相关文档