开源项目

cocoindex

增量数据引擎,专为长时AI agent设计,自动保持上下文最新。核心思想类似React的数据流:声明目标状态,引擎只重算变化部分(Δ),支持源码、文档、会议记录等多数据源,输出到向量库或图数据库。亮点是亚秒级增量同步、可解释的数据血缘追踪、Rust内核保证生产可靠性。适合构建RAG pipeline、agent记忆系统或企业级实时索引。Apache 2.0开源。

README

企业语料库——代码库、Slack、会议记录和文档,通过CocoIndex增量同步引擎持续流入生产级AI agent,始终提供最新上下文。每次变更仅重新处理Δ(增量)。关键词:RAG流水线、agent记忆、企业检索、AI agent上下文、实时索引、检索增强生成、生产级LLM应用、流式ETL、增量摄入。

你的 agent 值得拥有 最新上下文。

Star 我们 ❤️ → 在GitHub上为CocoIndex加星——用于RAG、向量搜索和实时agent上下文的开源Python框架  ·  cocoindex.io——CocoIndex首页:面向AI agent的增量数据流水线  ·  CocoIndex文档——快速入门、连接器、运维、转换、目标存储、RAG和知识图谱配方  ·  加入CocoIndex Discord社区——帮助、展示、发布说明,与维护者实时聊天

CocoIndex 将代码库、会议记录、收件箱、Slack、PDF 和视频转化为实时、持续更新的上下文,让你的 AI agent 和 LLM 应用能够高效推理——仅需极少的增量处理。在 10 分钟内准备好你的生产级 AI agent,数据可靠且持续新鲜——没有陈旧的批量,没有上下文鸿沟。

增量 · 仅处理变化  ·  任意规模 · 默认并行  ·  声明式 · Python,5 分钟

stars downloads pypi python rust license discord

CI release links

cocoindex-io/cocoindex | Trendshift


Deutsch | English | Español | Français | 日本語 | 한국어 | Português | Русский | 中文



用 CocoIndex 构建 ❤️

CocoIndex-code ——面向AI编码agent的旗舰MCP server。AST感知的增量语义代码索引,每次提交保持实时调用图、符号、向量和分块新鲜。每轮减少70%的token,重新索引的缓存命中率80-90%,亚秒级新鲜度。支持Python、TypeScript、Rust和Go。特性:仅Δ增量处理、基于含义(而非grep)的语义搜索、调用图和影响范围分析、全局仓库视图(重复和架构)。构建编码agent(生成、重构)和代码审查agent(捕获、批准)。一键安装——Claude Code、Cursor及其他MCP感知agent即刻浏览你的完整仓库。关键词:MCP server、编码agent、代码智能、AST分块、语义代码搜索、调用图、向量嵌入、仓库上下文、Claude Code、Cursor、增量索引、影响范围。

查看全部 20+ 示例 · 每周更新 →


开始使用

pip install -U cocoindex

声明你期望的目标中应该包含什么——CocoIndex 会永久保持同步,仅重新计算 Δ。

import cocoindex as coco
from cocoindex.connectors import localfs, postgres
from cocoindex.ops.text import RecursiveSplitter

@coco.fn(memo=True)                          # ← 按 hash(input) + hash(code) 缓存
async def index_file(file, table):
    for chunk in RecursiveSplitter().split(await file.read_text()):
        table.declare_row(text=chunk.text, embedding=embed(chunk.text))

@coco.fn
async def main(src):
    table = await postgres.mount_table_target(PG, table_name="docs")
    table.declare_vector_index(column="embedding")
    await coco.mount_each(index_file, localfs.walk_dir(src).items(), table)

coco.App(coco.AppConfig(name="docs"), main, src="./docs").update_blocking()

运行一次完成回填。随时重新运行——仅重新嵌入已变更的文件。

正在使用AI编码agent构建项目?
引入我们的 CocoIndex skill,让你的 agent 写出正确的 v1 代码——概念、API、模式,全部在一个文件中。
安装步骤参见 与AI编码agent配合使用。

完整快速入门——打开书本图标,链接到CocoIndex文档快速入门:pip install、声明源和目标、运行增量引擎    学习概念——灯泡图标,链接到CocoIndex核心概念指南:源、目标、流、增量引擎和数据血统

为 cocoindex-io/cocoindex 仓库加星动的画 GitHub Star 按钮:光标点击星星,星星变黄,彩纸爆开,星星计数增加,下方显示'如果你喜欢,请点个星!'的 caption 和跳动的心脏



React —— 数据工程版

React —— 数据工程版。CocoIndex心智模型:Target = F(Source)。一个由持久状态驱动的数据流,你声明期望的目标状态,引擎始终将其与最新的源数据和代码保持同步,低延迟、低成本。源文件 (.py, .md, .pdf, .ts) 通过你的 Python 转换函数 F 流入实时目标点阵索引;每次变更仅重新处理 Δ;每个目标点都可追溯到其精确的源字节。四个核心属性:Python 而非 DAG(天空色)、声明目标状态(黄色靶心)、端到端血统(珊瑚色连接点)、任意规模的增量(薄荷色 Δ+1)。你的代码如同一次性版本一样简单——引擎负责其余的工作。关键词:数据工程版 React、声明式 ETL、持久状态、数据血统、数据流、仅 Δ、增量索引、CocoIndex。

任一侧变化时会发生什么——CocoIndex 跟踪每行来源,因此 Δ 以最小成本传播。一个插图展示两种场景:(上方) 源变化——一个文件 (b.md) 被编辑,仅一个目标点重新同步(珊瑚色脉冲)。(下方) 代码变化——转换函数 F 从 v1 重写为 v2,仅那些输出依赖变化代码的点会重新运行(琥珀/黄色脉冲)。左侧是源,中间是 F(Python 代码块),右侧是目标点阵。关键词:增量索引、变更数据捕获、增量处理、细粒度失效、代码感知缓存、哈希校验无效化、记忆化、可重现流水线、增量重算。

查看 React ↔ CocoIndex 心智模型 →



面向长时 horizon agent 的 增量引擎

为每位工程师打造的数据转换工具,专为 AI 工作负载设计——
借助智能增量引擎,实现始终新鲜、可解释的数据。

学习概念——紫色按钮,灯泡图标,链接到CocoIndex核心概念指南:源、目标、流、增量引擎和数据血统

CocoIndex 的 Python 原生转换流连接 8 种源类别(代码库、会议记录、Web/API、文件系统/对象存储、数据库、消息队列、图像/视频、语音/转录),通过增量引擎输出到 6 种目标存储(关系数据库、数据仓库、向量数据库、图数据库、消息队列、特征存储)。一个 flow.py 代码块 (@coco.fn · def f(src): · chunks = split(src) · target.row(embed(chunks))) 展示了共享流水线;仅 Δ 被重新处理——未变的 src 命中缓存,变化的 src 重新运行 split() 和 Δ → 重新嵌入。持久数据流水线控制平面运行八个始终在线的子系统:实时缓存、流水线目录、版本跟踪、持续学习、血统、任务调度、指标收集、故障管理。关键词:数据流水线、ETL、源连接器、向量数据库、图数据库、增量引擎、流式摄入、缓存、血统、版本控制、调度、指标、重试。



为什么选择 增量?

你的 agent 的质量取决于它所见的数据。
批量流水线会逐渐过时。CocoIndex 保持实时——且仅运行 Δ。

为什么使用增量?——一幅插图展示了CocoIndex增量引擎的四个核心优势。亚秒级新鲜(薄荷色):秒表在一秒内滴答,源变化在亚秒内传播到目标,因此agent看到的是当下的世界,而非昨天的世界。大规模下10倍更便宜(黄色):一个10000行的语料库块,仅有0.1%的薄薄Δ列重新运行,99.9%保持缓存——你跳过了语料库的另外99.9%,只支付一小部分计算、嵌入和LLM费用。默认可解释(珊瑚色):一条血统线将源字节(handbook.md L42)链接到目标向量——目标中的每个向量、行或图节点都可追溯到其精确的源字节,实现可调试、可审计、监管友好的AI流水线。生产级(紫色):盾牌上印有Rust螃蟹标志,周围环绕重试循环、退避点、DLQ托盘和无数据丢失检查——Rust核心支持重试、指数退避、死信队列和无数据丢失保证,为长时horizon AI agent 的生产准备就绪。关键词:增量索引、仅Δ重新处理、亚秒级新鲜度、低延迟RAG、低成本嵌入、数据血统、检索增强生成、Rust核心、重试、退避、死信、无数据丢失、长时horizon agent。



你可以构建什么?

查看全部 20+ 示例 · 每周更新 →

来自 示例树 的即用启动模板——克隆,接入你的源,即可部署。

实时代码索引——遍历git仓库,AST分块源文件,使用sentence-transformers嵌入,upsert到pgvector / LanceDB,每次提交增量。关键词:代码搜索、代码嵌入、语义代码检索、Python。

PDF → RAG索引——从本地、S3或GDrive摄入PDF,提取并分块文本,嵌入分块,upsert到pgvector / LanceDB。经典检索增强生成堆栈,增量。关键词:RAG、文档问答、PDF搜索、向量数据库。

HN热门话题——通过Algolia拉取Hacker News帖子,递归解析评论,用Gemini 2.5 Flash LLM提取话题,按加权命中次数排名(帖子=5,评论=1),存入Postgres。增量。关键词:Hacker News、热门话题、LLM提取、Gemini、Postgres、新闻情报、话题排名。

对话 → 知识图谱——LLM从转录中提取人员、话题、决策、行动项,并upsert到Neo4j / Kuzu。实时图谱,增量。关键词:知识图谱、实体提取、会议情报、agent记忆。

多仓库摘要——遍历N个git仓库,提取结构,用LLM逐仓库总结并汇总组织级摘要,每次推送刷新。关键词:内部平台、开发者体验、monorepo、SDK文档。

结构化提取——用BAML / DSPy从表单、PDF、接收表、发票中提取类型化schema到Postgres / 数据仓库。增量。关键词:ETL、LLM提取、schema优先、患者接收、发票处理、KYC、合同。

播客 → 知识图谱——用说话人分离转录YouTube / Spotify音频,LLM提取说话人和陈述,跨集解析实体,存储在SurrealDB / Neo4j中。关键词:播客、说话人分离、YouTube、Whisper、SurrealDB、知识图谱、实体解析。

CSV → Kafka实时——监控CSV文件目录,通过CocoIndex的Kafka目标连接器将每一行作为JSON消息发布到Kafka主题。增量、亚秒级、无需生产者循环。关键词:Kafka、CDC、流式、StreamNative、Confluent、CSV摄入、事件流。


分享你的作品——横幅,文字后方有一串从底部升起的细小爱心,邀请CocoIndex社区分享使用该框架构建的项目

正在用 CocoIndex 构建项目?我们很想看看。
在 X 上标记 @cocoindex_io,或在 Discord 的 #showcase 频道中丢个链接。我们会帮你推广。 🥥



社区

<

相关内容