Skip to content
devcodex-labsPublic

About

Unified knowledge management and retrieval runtime for Node.js, combining vector, keyword, graph, and hybrid retrieval.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Knowkit

Unified Knowledge Management & Retrieval Runtime
统一知识管理与检索运行时

Knowkit 是面向 Node.js 生态的独立知识基础设施,规划通过融合向量检索、关键词与全文检索、知识图谱和混合检索,提供可关联、可追溯、可扩展的知识管理与检索能力,并支持 GraphRAG。

当前项目处于初始化阶段。0.0.1 为初始文档包,仅包含项目定位、许可证和 npm 包元数据,尚不提供运行时实现或可调用 API。下述能力属于项目规划,具体实现与 API 将在后续开发中确定。

项目 内容
名称 Knowkit
仓库 devcodex-labs/knowkit
npm 包名 @devcodex/knowkit
技术语言 Node.js / TypeScript(规划)
类型 独立知识基础设施
许可证 AGPL-3.0-or-later

项目定位

Knowkit 独立于特定 AI 模型、Agent 框架和宿主环境。它既可以作为 Node.js 模块使用,也可以成为 AI Agent、RAG 应用、企业知识库、代码分析和其他应用的底层知识基础设施。

项目将语义召回与显式关系检索结合:向量检索发现语义相关内容,关键词检索定位精确术语,图关系检索沿知识之间的关联补充相关内容,混合检索统一融合与排序。

GraphRAG 是项目支持的检索方向。运行时不绑定单一 GraphRAG 算法或知识图谱实现,调用方可以根据场景组合检索能力。

核心能力规划

统一知识管理

支持文档与文本、Markdown、技术规范、API 文档、代码、结构化数据、外部知识源,以及应用提供的自定义知识。

知识管理覆盖导入、解析、切片、索引、更新、删除,以及来源、版本和内容身份管理。数据格式与外部来源可通过适配器逐步扩展。

多种检索方式

检索方式 作用
Vector Retrieval 向量检索 通过 Embedding 和向量相似度发现语义相关知识,服务自然语言查询与知识发现。
Keyword Retrieval 关键词与全文检索 通过精确词项与全文索引定位 API 名称、技术术语、配置字段及具体内容。
Graph Retrieval 图关系检索 沿显式关联检索知识,支持关系类型过滤、邻居查询、关系路径与多跳遍历。
Hybrid Retrieval 混合检索 组合检索候选,进行融合、去重、排序以及来源与版本校验。

各种检索机制可以独立使用,也可以按调用方需求组合。

知识关联管理

知识图谱用于表示以下关联:

  • 知识与知识之间的关联。
  • 文档与文档片段之间的关联。
  • 知识实体与知识内容之间的关联。
  • 实体与实体之间的语义关系。

关系保留来源、类型和版本,支持显式建立,并为自动关联扩展提供接口。知识图谱是可选索引结构,未建立关系的内容仍可参与其他检索。

GraphRAG 检索

基础方向是先根据查询定位知识,再沿已建立的关系扩展检索范围,返回相关知识与来源证据。

实体关系提取、社区检测、社区摘要和全局检索属于可扩展方向。并非每次检索都需要访问图谱,也不要求所有知识预先完成实体关系抽取。

按需加载

遵循渐进式知识加载原则:首先返回必要的摘要与元数据,再根据需要读取知识片段和原文。

规划支持分段、分页、大文档读取,以及依据上下文预算控制返回内容,使调用方能够按实际需要获取知识。

可追溯与增量更新

知识和检索结果保留来源、版本与内容身份。知识变化后刷新受影响索引,处理失效关系,并校验结果版本,避免过期内容与当前内容混用。

检索证据能够定位原始知识,并说明内容所属版本及关系来源。

核心设计原则

  1. 知识与检索解耦:知识独立于单一索引方式,可同时参与向量、关键词和关系检索。
  2. 检索与生成解耦:返回知识和证据,由调用方决定后续回答生成方式。
  3. 语义与关系互补:语义召回与显式关系扩展共同提高知识覆盖。
  4. 模型无关:通过适配器接入 LLM 或 Embedding Provider。
  5. 存储可扩展:不强制绑定特定向量数据库、图数据库或存储产品。
  6. 按需加载:根据检索需求渐进式返回相关内容。
  7. 来源可追溯:结果能够定位原始内容并识别版本。
  8. 独立运行:不依赖 Agent、会话、记忆生命周期或特定宿主。

职责边界

Knowkit 负责知识导入、组织、解析、切片和索引;向量、关键词、图关系与混合检索;关系、来源和版本管理;内容按需读取;以及结构化检索结果和来源证据。

以下职责由调用方或其他模块承担:

  • 用户自然语言意图解析。
  • Agent 会话管理与长期会话记忆生命周期。
  • Task 状态管理与任务调度。
  • Skill 激活和执行。
  • Tool 调用与执行。
  • Agent 工作流编排。
  • 最终自然语言回答生成。

部分索引和检索任务可以使用 LLM 或 Embedding 模型,但不要求所有调用都经过 LLM。

应用场景

  • AI Agent 外部知识检索。
  • 技术文档与 API 知识查询。
  • 企业内部知识库。
  • 代码知识与模块关系检索。
  • 跨文档知识关联分析。
  • GraphRAG 应用。
  • 独立知识搜索服务。
  • 需要混合检索的 Node.js 应用。

与 DevCodex 其他模块的关系

Knowkit 是独立基础模块,各运行时通过公开 API 组合使用。

模块 职责
Intent Runtime 解析当前用户意图。
Knowkit 根据查询条件检索知识与关联内容。
Memory Runtime 管理历史记忆及其生命周期,可以复用知识检索基础能力。
Skill Runtime 提供技能指导,并按需获取知识。
Context Runtime 组织知识、记忆和其他上下文,供模型使用。
Execution Runtime 执行任务并协调实际工作。

Knowkit 不依赖这些运行时,也不承担它们的职责。

使用与分发规划

项目计划提供统一的 Node.js / TypeScript API,允许调用方选择独立或混合检索,并按需读取知识。具体 API 与技术选型在后续开发中确定。

npm 包名为 @devcodex/knowkit,初始版本为 0.0.1,用于分发项目定位和许可证。当前版本不包含运行时功能。

后续发布方向为版本 tag 推送后经验证自动发布 npm,正式版与预发布版使用独立通道。当前尚未配置自动发布工作流。

许可证

Knowkit 采用 GNU Affero General Public License v3.0 or later,SPDX 标识为 AGPL-3.0-or-later,与 DevCodex 项目保持一致。完整许可证正文见 LICENSE。

About

Unified knowledge management and retrieval runtime for Node.js, combining vector, keyword, graph, and hybrid retrieval.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors