)
llm-wiki-compiler SDK开发指南用createWiki把知识编译器嵌入TypeScript项目完整API示例【免费下载链接】llm-wiki-compilerThe knowledge compiler. Raw sources in, interlinked wiki out. Inspired by Karpathys LLM Wiki pattern.项目地址: https://gitcode.com/gh_mirrors/ll/llm-wiki-compilerllm-wiki-compiler是一款把原始资料编译成带引用、可交叉链接 Markdown 知识库的知识编译器灵感来自 Karpathy 的 LLM Wiki 模式。它的 SDK 通过一个createWiki函数让你直接在 TypeScript 项目中以进程内方式完成知识编译、检索问答、质量检查和多格式导出——无需再启动子进程、解析命令行输出。本指南带你从零搭建 SDK 集成并给出一份完整的 API 用法参考。为什么用 SDK而不是 CLIllm-wiki-compiler 提供三种驱动方式选对入口能少走很多弯路使用场景推荐入口说明终端里交互式工作llmwikiCLI人类友好直接出结果嵌入自己的构建脚本 / CI / APISDKcreateWiki()进程内调用返回类型化结果让 AI Agent 驱动流水线MCP 服务器llmwiki serve面向 Agent 的工具接口选择 SDK 的核心理由类型化结果每个方法返回IngestResult、QueryResult、WikiStatus等导出类型可无缝接入你自己的代码安静运行所有方法静默执行无控制台输出、无全局状态并发调用通过AsyncLocalStorage完全隔离零额外安装SDK 与 CLI 在同一个 npm 包llm-wiki-compiler中装一次全都有。SDK 的核心实现位于 src/sdk/wiki.tscreateWiki在 src/index.ts 中作为包的公共入口导出。安装 llm-wiki-compiler 并创建第一个 Wiki 实例环境要求最低Node.js 24。npm install llm-wiki-compiler一行代码创建实例import { createWiki } from llm-wiki-compiler; const wiki createWiki({ root: ./my-wiki });几个新手容易踩的点root可以是绝对或相对路径构造时经path.resolve一次性归一化之后切换进程cwd不影响它目录不存在也没关系——root指向空路径完全合法首次ingest时会自动递归创建sources/若路径已存在但不是目录createWiki会立即抛出清晰报错不会写到一半才失败。完整 API 示例从原始文本到可查询知识库下面这段代码覆盖最常见的四步流水线摄取 → 编译 → 提问 → 查状态。import { createWiki } from llm-wiki-compiler; const wiki createWiki({ root: ./my-wiki }); // 1. 安全地摄取原始文本不联网、不读文件 await wiki.ingestText({ title: Notes, text: Raw text to compile... }); // 2. 把待处理源编译成 wiki 页面需要 LLM 凭据 await wiki.compile(); // 3. 基于编译后的知识库提问得到带引用的答案 const { answer } await wiki.query(What did I note about X?); console.log(answer); // 4. 只读状态快照无需任何凭据 const status await wiki.status(); console.log(${status.pages.total} pages, ${status.sources} sources);想先看看效果长什么样仓库里预生成了一份小 Wikiexamples/basic/ 目录可以直接检查无需 API Key。createWiki API 参考清单以下就是日常开发最常用的方法按功能分组数据摄取方法作用需要 LLM 凭据wiki.ingest({ source })抓取 URL 或读取本地文件到sources/❌wiki.ingestText({ title, text })直接摄取原始文本是不受信内容的安全入口❌⚠️ingest会执行服务端抓取和本地文件读取属于 SSRF / 路径穿越原语——只传你自己可控的 URL 和路径用户提供的内容一律走ingestText。编译与检索方法作用关键选项wiki.compile()增量编译抽取概念、生成类型化页面、解析[[wikilinks]]、重建索引review: true进入人工审核队列embeddings: false跳过向量生成wiki.query(question, opts?)生成带引用的答案save发布到wiki/queries/review存为待审候选debug附带检索详情wiki.search(question, opts?)选出并返回最相关页面完整记录语义向量优先无向量时回退 LLM 索引选择页面与状态方法作用wiki.getPage(ref)/wiki.listPages()读取单个页面 / 分页列出页面wiki.listSources()/wiki.getSource(id)源文件管理wiki.status()只读快照页面数、源数、过期与孤立页面、待审候选wiki.lint()/wiki.lintByTier()全量 lint / 按断言类型分层的 lint 报告wiki.runEval({ mode: fast \| full })质量评估健康分、引用覆盖率、回归 deltafast无需凭据上下文与交换方法作用wiki.getContextPack(options)构建引用感知的上下文包——给下游 Agent 的稳定证据集wiki.exportJson()/wiki.exportOkf()导出为结构化 JSON / Open Knowledge Format 包wiki.importOkf(dir)导入 OKF 包默认先进审核队列trusted: true才直写编译产出的目录结构无论用 CLI 还是 SDK项目最终都长成这样sources/ 原始输入文件 wiki/ concepts/ 编译生成的概念页 queries/ 保存的问答 index.md 自动生成的目录 .llmwiki/ profile、schema、state、candidates 等编译器状态 log.md 活动日志编译结果是带 YAML frontmatter 的纯 Markdown附引用、新鲜度、置信度等元数据。编译完成后可用 SDK 的startViewer或直接llmwiki view --open打开本地只读查看器浏览——左侧导航、页面元数据、引用片段一应俱全查看器支持多主题切换Minimal 主题可跟随系统明暗设置处理没有 LLM 凭据的错误compile、query等依赖模型的方法在凭据缺失时会抛出可捕获的类型化错误包入口直接导出import { createWiki, ProviderUnavailableError } from llm-wiki-compiler; try { await wiki.compile(); } catch (err) { if (err instanceof ProviderUnavailableError) { console.error(未配置 LLM 提供商——请设置 ANTHROPIC_API_KEY 或等价环境变量); } else { throw err; } }提供商通过环境变量选择Anthropic 为默认也支持 OpenAI 兼容、Ollama、Copilot 等详见 docs/configuration/providers.mdx。性能避坑3 个新手最容易踩的坑status()/lint()/exportJson()不要放进热循环——每次调用都会对全量源语料做哈希无跨调用缓存服务端场景下按请求调用会拖垮接口compile()没有进度回调——大语料下该调用可能静默运行数分钟v1 阶段请耐心等待前端可自行加超时与提示源内容会被发给 LLM——编译含机密数据前先确认所配提供商的数据处理政策可以接受。延伸阅读官方 SDK 完整文档docs/guides/sdk.mdxSDK 包选择与依赖边界docs/guides/sdk-packages.mdx版本升级注意事项docs/guides/sdk-upgrade.mdx项目总览与快速上手README.md、docs/quickstart.mdx全部 CLI 命令参考docs/cli/把createWiki嵌进你的 TypeScript 项目等于给构建流水线、CI 校验或内部 API 装了一台知识编译器——原始资料进去结构化、可引用、可查询的知识出去而且全程类型安全、干净可控。【免费下载链接】llm-wiki-compilerThe knowledge compiler. Raw sources in, interlinked wiki out. Inspired by Karpathys LLM Wiki pattern.项目地址: https://gitcode.com/gh_mirrors/ll/llm-wiki-compiler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考