WeKnora 二次开发与集成指南
目标是把 WeKnora 用作可升级的知识内核,同时让行业助手和客户差异保持在自有产品层。此文基于 v0.8.2 的官方扩展点指南及本地源码静态核查;命令是将来实施参考,本轮未执行服务启动。
研究归档:本篇保留2026年9月30日前后的本地公开资料研究。开源版本、功能、许可和星数属于当时快照;技术决策应复核所列官方来源。架构与交付计划为参考设计。
目标是把 WeKnora 用作可升级的知识内核,同时让行业助手和客户差异保持在自有产品层。此文基于 v0.8.2 的官方扩展点指南及本地源码静态核查;命令是将来实施参考,本轮未执行服务启动。
1. 先选最小改动路径
| 客户需求 | 首选做法 | 何时进入 WeKnora 源码 |
|---|---|---|
| 独立品牌、移动/门店界面、业务看板 | 自有前端 + 自有 BFF 调用 REST/API Key | 不需改内核 |
| 给 Cursor、其他 Agent 提供知识 | 每空间内置 MCP 端点,限定库与工具 | 内置工具类型不足时 |
| CRM、POS、ERP 查询与写入 | 自有业务服务暴露受控 API/MCP 工具 | 原生工具调用有明确性能/交互瓶颈时 |
| 特殊数据源同步 | 自有 ETL → 上传/入库 API | 需要 WeKnora 原生增量游标、源端删除对账时 |
| 专有文件格式或检索算法 | 先在外部预处理或做索引 A/B | 评估证明外部处理不足时才加解析器/引擎 |
| 原管理控制台的深度交互 | 自有控制台 | 必须复用原控制台页面且 API 无法实现时 |
这样安排的依据是官方已提供 REST、Go SDK、内置 MCP Server 和多种可注册扩展点。API 总览、MCP 集成、Go SDK。
2. 自有服务对接顺序
- 版本:按发布 tag 固定源码和镜像;记录 WeKnora 版本、迁移版本、模型/向量库版本。不要用
latest作为客户环境的长期升级策略。 - 身份:每客户映射一个工作空间;每个用途发独立 API Key。只读问答用
retrieve/chat,内容导入用ingest,管理能力单独发放。受限 Key 加knowledge_base_ids白名单。平台 Key 只留在控制面,不给助手前端。API 认证和能力。 - 知识生命周期:自有
source_record保存源系统 ID、版本、校验和、权限标签和最后同步时间;通过 WeKnora API 建库、导入、查询解析状态;删除/撤权要有对账任务。不要把“上传成功”当作“可检索”。知识 API。 - 问答:自有 BFF 接收用户身份与场景参数,确定允许的 KB 列表,再调用
knowledge-search或会话问答;向前端返回答案、引用、版本、延迟和请求 ID。所有工具调用在 BFF 再鉴权。聊天 API。 - 发布:网站嵌入与 IM 渠道可用于内部试点;对客户可见的统一品牌、多租户菜单、计费和交付门户由自有层负责。嵌入渠道。
3. 九类源码扩展点
表中“入口”与注册机制来自官方扩展点速查表。加一类实现时,同时核对 API、配置、UI、权限、迁移及回归路径。
| 扩展 | 接口/位置 | 注册位置 | 行业例子 |
|---|---|---|---|
| 文档解析器 | docreader/parser/base_parser.py 的 parse_into_text | docreader/parser/registry.py | 特殊合同、工程图附件、旧系统导出格式 |
| 分块策略 | internal/infrastructure/chunker/strategy.go | runTier() 与策略常量 | 按 SOP 步骤、商品条目、问答对分块 |
| 检索引擎 | RetrieveEngineRepository | internal/container/container.go:initRetrieveEngineRegistry() | 客户指定向量/全文数据库 |
| 模型厂商 | internal/models/providers/definition.go | providers/builtin.go 和目录数据 | 私有模型网关 |
| 联网搜索 | WebSearchProvider | registerWebSearchProviders() | 行业资讯源 |
| 数据源连接器 | Connector / StreamingConnector | initConnectorRegistry() + 元数据注册 | 自建 CRM 文档、OA、商品主数据 |
| IM 适配器 | internal/im/adapter.go | registerIMAdapterFactories() | 客户自有协同平台 |
| Agent 工具 | internal/types/agent.go:Tool | 定义表 + 运行时 ToolRegistry | 查库存、查商机、建任务 |
| 对象存储 | FileService | internal/application/service/file/factory.go | 客户指定对象存储 |
两个最可能的源码二开
数据源连接器。 实现 Validate、ListResources、FetchAll、FetchIncremental;大数据量额外实现 StreamingConnector 与 checkpoint。保存源端 ID 和游标,区分源端删除、暂时无权限、请求失败;URL 必须经过项目的 SSRF 校验,凭据按原项目加密约定存储。注册 ConnectorMetadataRegistry 后再补 UI 元数据和同步测试。详见连接器实现指南。
Agent 工具。 types.Tool 要提供名称、描述、JSON Schema 参数和 Execute;还需更新可选工具定义,并在 Agent 初始化时注册。对“写 CRM、改价格、发消息”先做外部工具,经自有策略网关校验用户、资源、参数及审批;只有确有必要才内置到 WeKnora。官方实现说明和源码定义可作为起点。
4. 分支与升级纪律
- 保留
upstream指向Tencent/WeKnora,客户差异用自有仓库和配置管理;若必须 fork,按feature/connector-*、feature/parser-*划小改动,不在同一提交重写 API 和数据库。 - 每次升级先读目标版本
CHANGELOG,再检查数据库迁移、API 字段、Agent 工具名、嵌入 token 与镜像标签。v0.8.2的对话/嵌入和工具改动提示了这一必要性。更新记录。 - 对外保持自有
KnowledgeAdapter接口,隔离 WeKnora API 变更。记录上游 SHA、内部补丁、对应客户、合并状态和回退方案。 - 不把测试密钥、客户文档、
.env和导出的会话数据提交到 fork;生产前复核 LICENSE 与第三方通知。
5. 最小回归集
| 类别 | 必须证明 |
|---|---|
| 权限 | A 客户用户/API Key 不能列出、检索、读取 B 客户的知识和引用资源 |
| 入库 | 更新、删除、权限撤回后索引与原文同步;失败可重试且不重复入库 |
| 检索 | 标准问、错别字问、无答案问、过期政策问的引用与拒答符合预期 |
| 工具 | 只读查询与写动作分权;写入需要幂等键和审批记录 |
| 升级 | 旧会话/文档能读取,迁移可观察,回滚边界明确 |
| 运维 | 队列堆积、解析失败、模型超时、外部连接器失效能定位 |
官方开发指南描述构建和测试命令;本轮没有执行它们。
研究资料
研究团队:FDE前线 · 研究文章
当前提供在线正文,尚无可下载的公开报告。
继续阅读
制造业数字化转型报告导读:35个企业案例的场景与技术路径
本篇将《2025年度制造业数字化转型典型案例集》中已整理的35篇案例组织为阅读路径。案例提供业务问题、方案选择和交付过程的参考;来源披露的结果不构成对其他企业的效果承诺。
Datawhale FDE访谈案例导读:24个业务现场与交付问题
本篇将《Datawhale《FDE案例100》》中已整理的24篇案例组织为阅读路径。案例提供业务问题、方案选择和交付过程的参考;来源披露的结果不构成对其他企业的效果承诺。
企业 AI 工程蓝图:七层架构、四个运行平面与交付门禁
本文件是 35 页授课 PPT 的工程细节补充。研究核验日为 2026-10-18,不声称覆盖 10 月尚未发生的变化。所有目标架构、门槛、周期与算例均为参考设计。没有调用客户云账户或联通生产系统,没有验证商业 SLA,也没有虚构联通落地效果。