内容
# 知识中心
知识中心是基于Obsidian、论文、网络和可选项目上下文,提供LLM辅助的**本地优先、策略控制、检索助手优先**的知识运行时。
状态:**研究预览**。支持的默认路径是`discover -> index -> search/ask -> evidence review`。API、质量栏和实验界面可能会在没有通知的情况下更改。
## 产品目标
KnowledgeOS / 知识中心 的最终产物不是论文存储应用或一般聊天机器人,而是针对AI论文和技术文档的**本地优先、证据优先的研究知识运行时**。
发布物由CLI、MCP服务器、本地存储、证据报告和文档组成。GUI或Obsidian插件可以是消费者或投影,但规范的产品主体不是。
v0.1发布候选者的狭窄目标是**基于章节/段落证据的论文QA和比较运行时**。表格、方程和图形标题工作流程仍然是实验室或支持有限,直到其证据门户通过。
规范产品定义:[docs/knowledge_os_definition.md](docs/knowledge_os_definition.md)
## 支持的默认路径
知识中心的公共产品承诺故意狭窄:
`discover -> index -> search/ask -> evidence review`
当前的代表性场景如下:
- 个人研究人员或构建者将论文、网络和保险库笔记收集到规范的本地存储中。
- `khub`索引该本地语料库,并通过`search`/`ask`提供基于证据的结果。
- 用户不直接消费答案,而是重新检查证据线索并继续阅读。
该默认路径的当前成功标准如下:
- `discover`:至少一个源项注册到规范的本地存储中。
- `index`:面向检索的向量/文档表面不为空。
- `search`或`ask`:返回基于证据的结果或明确的缺乏证据的结果。
- `evidence review`:可以通过源跟踪或后续阅读表面重新检查基于证据的路径。
## 快速入门
存储库检出后的最小执行路径:
```bash
pip install -e ".[ollama]"
khub doctor
khub search "attention mechanism"
khub ask "Transformer的核心思想是什么?"
khub inspect corpus --json
khub compare "MCP tools and resources contract" --json
khub trace "Transformer的核心思想是什么?" --source paper --json
khub trace --from-json ./ask-result.json --save-registry --json
```
要实际投入使用并检查代表性结果,请在索引之前至少执行一次源摄取:
```bash
khub discover "large language model agent" -n 3
khub index
```
## 已知限制
- 该存储库是**研究预览**,而非稳定版本。
- 我们不声称整个存储库都是绿色的;当前的绿色信号仅限于狭窄的烟雾门/批准切片。
- 源质量不均衡。目前`paper`和`project`比至少一个已知的`vault`比较路径更强,但仍可能降级为`0 source`。
- Python / TypeScript边界在结构上定义,但在某些区域仍处于迁移中,因此访问较少的路径仍可能有粗糙的边缘。
- 几个表面仍然是实验性或面向操作员的:`khub labs ...`、`Agent Gateway`、答案循环评估、学习工作流程和`foundry-core`。
- 未经过内部验证,不建议用于生产环境。
## 默认 vs 实验表面
默认的公共运行时承诺故意较小,以实现以下目标:
### 核心运行时
默认表面仅限于:
- 本地摄取和索引
- 基于证据的搜索和询问
- 证据审查
- 证据基质检查、比较和跟踪门户
- 只读任务上下文组装
- 策略/批准/出处
### 实验性和附加表面
存储库还包含更广泛的功能,但它们不是默认的产品承诺:
- `khub labs ...`操作员和实验工作流程
- `Agent Gateway`上下文打包和批准门控写回通道
- 答案循环评估和后端实验
- 学习工作流程
- `foundry-core`委托运行时和面向桥接的执行
这些表面保持可见以实现透明度,但应将其视为`experimental`、`labs-first`和`subject to change without notice`。
默认的`khub --help`表面现在倾向于代表性的核心循环。面向操作员的个人或评估命令仍然存在并被记录,但它们在默认的顶级帮助中隐藏,需要时直接调用。
## 功能
- **基于证据的检索** - 从保险库、论文、网络中查找证据以回答问题
- **任务上下文组装** - 将存储库上下文以只读方式绑定以支持Codex风格的辅助
- **证据注册表** - 显式存储的packet/context/trace查找记录可通过`khub://packet/{id}`和`khub://context/{id}`重新检查
- **论文摄取** - 基于Semantic Scholar + arXiv的搜索、下载、摘要和索引
- **Obsidian连接** - 将保险库维护为规范内存并写回结果
- **实验室工作台助手** - 本地笔记本/工作台搜索/聊天助手保留在实验室MCP配置文件后面
- **MCP服务器** - 默认产品表面为检索助手优先,高级功能通过实验室配置文件公开
## 扩展设置和产品流程
```bash
# 安装(最小,PyPI)
pip install knowledge-hub-cli
# 使用OpenAI
pip install "knowledge-hub-cli[openai]"
# 使用Ollama(本地)
pip install "knowledge-hub-cli[ollama]"
# 使用crawl4ai网页爬取
pip install "knowledge-hub-cli[crawl4ai]"
# 使用vault topology(UAMP/PCA)
pip install "knowledge-hub-cli[topology]"
# 所有提供者
pip install "knowledge-hub-cli[all]"
# 在本地修改后开发/测试
pip install -e .
```
### 默认产品流程
```bash
# 1. 初始设置
khub setup --profile local # local | hybrid | custom
# 2. 用户环境诊断
khub doctor
# 3. 详细状态检查(工程师)
khub status
# 4. 论文搜索 + 采集
khub discover "large language model agent" -n 3
# 5. 查看采集结果
khub papers list
# 6. 索引
khub index
# 7. 基于证据的搜索
khub search "attention mechanism"
# 8. 基于证据的答案
khub ask "Transformer的核心思想是什么?"
# 9. 论文阅读界面
khub papers summary --paper-id 2501.06322
khub papers evidence --paper-id 2501.06322
khub papers memory --paper-id 2501.06322
khub papers related --paper-id 2501.06322
```
### 高级 / Codex 交接
`khub agent context`是一个可以直接调用的隐藏/高级CLI路径,不属于默认的顶级帮助。默认的MCP侧等效项是`build_task_context`。
```bash
khub agent context "我应该如何重构RAG流程?" --repo-path .
```
在每周稳定中使用`index -> ask/search`核心循环进行回归测试时,使用以下烟雾门:
```bash
python scripts/check_release_smoke.py --mode weekly_core_loop --json
```
### 实验室表面
非核心/实验功能在默认帮助中隐藏,通过`khub labs ...`公开:
```bash
khub labs --help
khub labs crawl --help
khub labs learn --help
khub labs ops --help
khub labs crawl youtube-ingest --url "https://youtu.be/<video-id>" --topic "agents"
```
在MCP中,实验室/构建/代理/摄取重型工具默认隐藏,需要显式配置文件。默认配置文件以检索/查找/上下文和论文查找为中心。
```bash
export KHUB_MCP_PROFILE=default # default | labs | all
```
知识中心建议在Obsidian中使用`generate -> inspect staged notes in Obsidian -> apply`工作流程。审查/修复/手动丰富作为`khub labs crawl ...`下的高级操作命令保留。
YouTube URL摄取目前是实验室优先的。实现基于`caption-first + description/chapters merge + optional local ASR fallback`,需要`yt-dlp`、`ffmpeg`、`openai-whisper`。
### 稳定性说明
- 规范的CLI/MCP入口点是`knowledge_hub.interfaces.cli.main`和`knowledge_hub.interfaces.mcp.server`。
- 旧的`knowledge_hub.cli.*`和`knowledge_hub.mcp_server`仅保留兼容性伪影。
- `khub health --check-events`仍然是本体事件漂移的硬完整性检查;使用`python scripts/repair_event_integrity.py --json`进行显式修复/回填,而不是手动SQL。
- `khub health --check-pipeline`现在将不可用的外部`storage_root`视为前提警告/跳过,而不是作为管道损坏的证明。
### 源感知询问合约
`khub ask`现在使用源感知领域包代替单个通用询问路由。
#### `--source paper`
`khub ask --source paper`将论文问题视为四个默认家族之一:
- `concept_explainer`:概念解析器 -> 别名/缩写扩展 -> 代表性论文 -> 基于证据的解释
- `paper_lookup`:精确/近似论文解析 -> 论文/文档内存 -> 论文范围的答案
- `paper_compare`:跨至少两份解析论文的主张对齐比较
- `paper_discover`:广泛的论文检索 -> 短列表 -> 轻量级组织摘要
默认`paper`询问故意保守:
- 广泛的概念问题不会缩小到一个弱的论文匹配
- 广泛的发现问题在短列表样式组织中停止
- `concept_explainer`保留旧的混合路由,但现在在论文路径上使用有界扇出:最多`base + 2 planned terms + 1 rescue query`,最多2个词汇形式,最多一个代表性论文范围的额外搜索
- `khub ask --json`保留现有的论文诊断,现在还公开`retrievalObjectsAvailable`、`retrievalObjectsUsed`和`representativeRole`
论文评估分为两个门户:
- 硬门户:`python eval/knowledgeos/scripts/collect_paper_default_eval.py --gate-mode stub_hard --out ...`
- 在线门户:`python eval/knowledgeos/scripts/collect_paper_default_eval.py --gate-mode live_smoke --out ...`
- 深入的多论文合成保留在`khub labs paper topic-synthesize`
- `khub ask ... --json`公开`paperFamily`、`queryPlan`、`representativePaper`、`plannerFallback`和`familyRouteDiagnostics`
#### `--source web`
`khub ask --source web`现在通过`knowledge_hub.domain.web_knowledge`解析,并将问题分为四个默认家族:
- `reference_explainer`:指南/参考/定义问题,应优先使用稳定的参考材料
- `temporal_update`:最新/更改/更新问题,需要明确的版本/日期/观察到的接地
- `relation_explainer`:连接/关系问题,可以使用本体或主张支持,但仍需针对网络证据进行验证
- `source_disambiguation`: “参考文章 vs 最新馈”样式的源类选择问题
默认`web`询问也保守:
- 显式URL、主机或页面标题匹配创建硬范围后检索
- `latest`、`update`、`changed`、`最近`、`更新`将路由推向时间处理而不是通用解释路径
- 弱的`observed_at`-仅信号不证明强烈的“最新”答案
- `SectionCard`和`ClaimCard`仅支持对象;当前默认保留原始/文档内存负责
Web评估目前使用路由优先分割:
- 硬门户:`python eval/knowledgeos/scripts/collect_web_default_eval.py --gate-mode stub_hard --out ...`
- 在线烟雾:`python eval/knowledgeos/scripts/collect_web_default_eval.py --gate-mode live_smoke --out ...`
- `khub ask ... --json`使用`queryFrame.family`、`evidencePolicy`和`familyRouteDiagnostics`作为规范的跨源诊断,Web诊断添加`temporalSignalsApplied`、`referenceSourceApplied`和`watchlistScopeApplied`
实现边界现在故意分割:
- `knowledge_hub.ai`保留通用检索/答案引擎
- `knowledge_hub.domain.ai_papers`拥有论文特定查询家族、查找规则、代表性论文提示和声明卡帮助程序
- `knowledge_hub.domain.web_knowledge`拥有Web特定查询家族、时间/参考/源类路由和证据策略选择
- `knowledge_hub.ai.paper_query_plan`和`knowledge_hub.ai.claim_cards`保留兼容性伪影以进行一个稳定周期
## 存储库布局
- `knowledge_hub/`:Python产品代码、CLI、MCP
- `foundry-core/`:TypeScript运行时、策略边界、桥接
- `data/`:运行时数据和精选的观察列表
- `docs/`:操作/设计文档
- `scripts/`:维护和一次性自动化
### 架构阅读顺序
建议新结构时按以下顺序:
1. [`docs/maps/README.md`](docs/maps/README.md)
2. [`docs/maps/canonical-ownership-map.md`](docs/maps/canonical-ownership-map.md)
3. [`docs/maps/agent-execution-map.md`](docs/maps/agent-execution-map.md)
4. [`docs/maps/data-policy-flow-map.md`](docs/maps/data-policy-flow-map.md)
5. [`docs/PROJECT_STATE.md`](docs/PROJECT_STATE.md)
附加结构说明:
- [`docs/repo-layout.md`](docs/repo-layout.md)
- [`docs/guides/cli-commands.md`](docs/guides/cli-commands.md)
## 安装
### 基本安装
```bash
# PyPI安装(推荐)
pip install "knowledge-hub-cli[openai]"
```
### 本地开发/测试安装
```bash
git clone https://github.com/chowonje/knowledge-hub.git
cd knowledge-hub
pip install -e .
```
### 提供者特定安装
```bash
# 仅使用OpenAI
pip install "knowledge-hub-cli[openai]"
# 使用Ollama(本地)+ OpenAI
pip install "knowledge-hub-cli[ollama,openai]"
# 全部提供者
pip install "knowledge-hub-cli[all]"
```
### 先决条件
| 组件 | 是否必需 | 说明 |
|---|---|---|
| Python >= 3.10 | 必需 | 运行时 |
| API密钥 | 可选 | 使用托管提供商(如OpenAI、Anthropic、Google)时需要 |
| [Ollama](https://ollama.ai/) | 可选 | 在本地优先/无API密钥路径中推荐 |
| [Obsidian](https://obsidian.md/) | 可选 | 用于保险库集成、笔记回写和工作台流程 |
`local`配置文件允许从Ollama-only配置开始,因此不依赖于API密钥。
## 命令
### `khub discover` - 核心管道
```bash
# 基本用法
khub discover "topic" -n 5
# 年份过滤 + 引用数过滤
khub discover "RAG retrieval augmented generation" --year 2024 --min-citations 10
# 按引用数排序
khub discover "transformer" --sort citationCount -n 10
# 包括Obsidian笔记生成
khub discover "AI agent" --obsidian
# 通过JSON合约检查inspectable结果
khub discover "AI agent" --judge --json
```
`paper judge`是可选过滤器,仅在论文发现输入端使用。官方仅支持按调用 `--judge` 和 MCP `discover_and_ingest(judge_enabled=true)`,目前没有全局配置来更改默认开启或关闭。`allow_external=false`是默认设置,如果不允许外部judge或无法使用LLM judge,则仅作为rule-only fallback。
启用judge的发现将自动将keep/skip判断记录到本地 `~/.khub/paper_judge_events.jsonl`。如果用户稍后想更改判断,可以使用隐藏的操作路径 `khub paper feedback <paper_id> --label keep|skip` 手动留下反馈,以用作未来的校准数据。
### `khub papers` - 论文阅读界面
```bash
# 面向用户的阅读界面
khub papers summary --paper-id 2401.12345
khub papers evidence --paper-id 2401.12345
khub papers memory --paper-id 2401.12345
khub papers related --paper-id 2401.12345
# 公共摄入/物化助手
khub papers list
khub papers info 2401.12345
khub papers download 2401.12345
khub papers translate 2401.12345
khub papers summarize 2401.12345
```
`summary|evidence|memory|related`是目前推广的阅读界面。`khub paper`是兼容性别名,feedback/sync/concept/repair/batch remediation命令仅限操作员直接执行。
论文源构件用于实时比较和修复源,是基于清单的本地语料库文件。PDF/全文存储在git之外,而`eval/knowledgeos/fixtures/corpus_manifest.json`记录了预期的文件名、哈希、字节长度、来源URL和语料库层。隐藏的`khub paper corpus-bootstrap`可以计划缺少的本地语料库构件,并且仅在显式 `--apply --allow-network` 时下载选定的构件;它在写入 `papers_dir` 之前验证哈希值,并且默认不附加行、不重建派生品或在评估/CI中运行。
### `khub explore` - 学术探索
```bash
khub explore author "Yoshua Bengio" # 作者搜索
khub explore author-papers <author_id> # 作者论文列表
khub explore paper 1706.03762 # 论文详细信息
khub explore citations 1706.03762 # 引用论文列表
khub explore references 1706.03762 # 参考论文列表
khub explore network 1706.03762 # 引用网络分析
khub explore batch 1706.03762 2301.10226 # 批量查询
```
### `khub search` / `khub ask` - 基于检索的搜索和答案
```bash
khub search "attention mechanism" -k 10 # 基于检索的搜索
khub ask "RAG的优缺点是什么?" # 基于检索的答案
```
`search`/`ask`在共享的检索管道上运行。目前,搜索可以使用语义/关键词/混合检索的组合。
`khub ask --source paper`的默认合约固定为4个家族:
- `concept_explainer`: 概念解释 -> 概念说明优先 -> 代表性论文示例连接 -> 有根据的解释
- `paper_lookup`: 特定论文解析 -> 论文/文档内存 -> 单论文答案
- `paper_compare`: 至少2篇论文排序 -> 声明/证据比较
- `paper_discover`: 广泛的论文检索 -> 短列表 + 轻量级摘要
默认`ask`在`paper_discover`上停止,主要关注短列表,而更深入的多论文合成留给`khub labs paper topic-synthesize ...`。 `--json`有效载荷包含`paperFamily`、`queryPlan`、`representativePaper`、`plannerFallback`、`familyRouteDiagnostics`,允许将路由和检索质量与答案生成器状态分开进行调试。
### `khub agent` - 只读任务上下文
```bash
khub agent context "我应该如何重构RAG流程?" --repo-path .
```
任务上下文将持久的vault/论文/网络证据与可选的存储库代码片段绑定在一起。存储库上下文是可检查的和短暂的,不会持久化为规范的知识存储。
### `khub index` - 向量索引
```bash
khub index # 索引未索引的论文 + 概念
khub index --all # 全部重新索引
khub index --concepts-only # 仅概念笔记
khub index --vault-all # 整个Obsidian(.md)块索引
khub index --vault-all --vault-clear # 仅删除现有的vault向量并重新索引
khub index --vault-all --vault-clear --json # 执行报告(JSON)
```
操作建议顺序:
1. `khub --verbose index --all`
2. `khub --verbose index --vault-all --vault-clear`
3. 从报告文件(`~/.khub/runs/index-<run_id>.json`)中检查失败项并重新运行
如果索引似乎卡住:
1. 观察5分钟后CPU/内存/缓存增加
2. 终止并发的`khub search/ask/index`进程
3. 将`providers.pplx-st.batch_size`从`8 -> 4 -> 2`降低后重试
### `khub graph` - 知识图谱
```bash
khub graph stats # 图谱统计
khub graph show <id> # 显示节点连接
khub graph isolated # 孤立节点
```
### `khub labs learn` - 个人学习教练(Labs)
```bash
khub labs learn map --topic "retrieval augmented generation" --source all --days 180 --top-k 12 --json --dry-run
khub labs learn assess-template --topic "retrieval augmented generation" --session-id "rag-001" --concept-count 6 --writeback
khub labs learn grade --topic "retrieval augmented generation" --session-id "rag-001" --json --writeback
khub labs learn next --topic "retrieval augmented generation" --session-id "rag-001" --json --writeback
khub labs learn run --topic "retrieval augmented generation" --session-id "rag-001" --auto-next --json --dry-run
```
核心规则:
- 默认情况下为 `--no-writeback`。仅在明确 `--writeback` 时才执行 Obsidian 反射。
- 会话评分根据 `target_trunk_ids`(frontmatter 固定值)计算。
- P0 原文不存储在结果 JSON/笔记正文中,而是仅记录 `evidence_ptrs(path/heading/block_id/snippet_hash)`。
- 学习教练不是默认的产品界面,而是 `khub labs ...` 下的实验性/高级工作流。
详细设计/模式:`docs/learning-coach-mvp-v2.md`,`docs/schemas/learning-*.v1.json`
### `khub crawl` - 网络摄入(crawl4ai)
```bash
# URL列表 -> 爬取 -> ko-note阶段/应用 一步到位
khub crawl collect --url-file ./urls.txt --topic "ai-trends" --apply
# 直接输入URL
khub crawl ingest --url "https://example.com/post/1" --url "https://example.com/post/2" --topic "rag" --index
# 文件输入 + 强迫crawl4ai
khub crawl ingest --url-file ./urls.txt --engine crawl4ai --topic "agent" --index
# 自动本体提取 + LearningHub 回写
khub crawl ingest --url-file ./urls.txt --topic "rag" --extract-concepts --writeback
# 爬取后更新trunk映射(labs)
khub crawl ingest --url-file ./urls.txt --topic "rag" --learn-map
khub labs learn map --topic "rag" --source all --days 30 --top-k 12 --json --dry-run
# 待处理队列管理(labs)
khub labs crawl pending list --topic "rag" --limit 50
khub labs crawl pending apply --id 12
khub labs crawl pending reject --id 13
```
核心规则:
- `khub crawl collect` 是 `run_pipeline -> ko-note-generate -> optional ko-note-apply` 的便捷命令集合。
- 默认 `--stage-only`,实际的 Vault 反射需要显式 `--apply`。
核心规则:
- `--engine auto` 表示优先使用 crawl4ai 安装,如果未安装则自动回退到默认爬虫。
- 爬取的原始内容存储在本地(`storage.sqlite` 邻近的 `web_docs/`),并加载为 `notes(source_type=web)`。
- 默认执行会进行网络本体提取,仅高置信度会立即反射,低置信度存储在 `pending` 队列中。
- 启用 `--writeback` 时,会幂等更新 Obsidian `LearningHub/<topic-slug>/03_Web_Sources.md` 和 `04_Web_Concepts.md`。
- 启用 `--index` 时,会立即索引到向量DB。
- `pending`、`domain-policy`、`reference-sync`、`benchmark` 等高级运维命令位于 `khub labs crawl ...` 之下。
- 结果JSON模式:`docs/schemas/crawl-ingest-result.v1.json` (`knowledge-hub.crawl.ingest.result.v1`)
后端策略(A方案):
- 目前本体使用 `SQLite` + 可选的 `RDF/Turtle` 输出(`ontologyGraph`)运行。
- Neo4j Desktop 目前不连接,未来将作为连接器扩展。
## MCP 概述(Cursor/Codex)
运行 `khub-mcp` 作为MCP服务器,Cursor/Codex可以直接调用Knowledge Hub工具。
注意:
- 默认MCP界面针对检索助手优先的产品界面公开。
- 学习/高级爬取/操作员工具不会在默认配置文件中发现或直接调用。
- 非核心工具在 `KHUB_MCP_PROFILE=labs` 或 `KHUB_MCP_PROFILE=all` 时才会被记录和调用为文档。
Cursor示例设置:
```json
{
"knowledge-hub": {
"command": "khub-mcp",
"env": {}
}
}
```
默认MCP配置文件:
- 检索/答案/上下文:`search_knowledge`、`ask_knowledge`、`build_task_context`
- 论文查找/阅读助手:`search_papers`、`get_paper_detail`、`paper_lookup_and_summarize`、引用/参考助手和论文内存读取助手
实验室/全部MCP配置文件:
- 智能体/重摄入:`run_agentic_query`、`discover_and_ingest`、`run_paper_ingest_flow`
- 爬取/学习/操作:`crawl_web_ingest`、`crawl_pending_*`、`run_learning_pipeline`、`rag_report`、`ops_action_*`
- 构建/作业/工作台助手:论文构建/索引工具、`mcp_job_*` 和本地 `notebook_workbench_*`
MCP资源:
- `khub://corpus/status`、`khub://corpus/contract`
MCP资源模板:
- `khub://source/{source_id}`、`khub://chunk/{chunk_id}`
- `khub://packet/{packet_id}`、`khub://context/{context_pack_id}` 用于显式持久化的注册表记录
异步调用规则:
- 长期作业通常会返回 `queued|running|ok|blocked|failed` 状态。
- 如果存在 `jobId`,则可以使用 `mcp_job_status`、`mcp_job_list`、`mcp_job_cancel` 跟踪。
- 在策略阻止时,首先检查 `verify.policyAllowed=false`、`artifact.classification=P0` 和 `artifact.jsonContent="[REDACTED_BY_POLICY]"` 模式。
运维参考:
- MCP负载模式:`docs/schemas/`
- CLI/MCP界面概述:`docs/guides/cli-commands.md`
## 命令的依赖项
| 命令 | 需要LLM | 需要嵌入 | 需要Obsidian | API密钥 |
|---|---|---|---|---|
| `khub discover` | 是(翻译/摘要) | 是(索引) | 可选 | 取决于提供者 |
| `khub papers list/info` | - | - | - | - |
| `khub papers translate` | 是 | - | - | 取决于提供者 |
| `khub papers summarize` | 是 | - | - | 取决于提供者 |
| `khub index` | - | 是 | 可选(概念笔记) | 取决于提供者 |
| `khub search/ask` | 是(仅ask) | 是 | - | 取决于提供者 |
| `khub explore *` | - | - | - | - (Semantic Scholar免费) |
| `khub paper sync-keywords`(隐藏操作员) | 是 | - | 是 | 取决于提供者 |
| `khub paper build-concepts`(隐藏操作员) | 是 | - | 是 | 取决于提供者 |
| `khub status` | - | - | - | - |
## 故障排除
| 症状 | 原因 | 解决方法 |
|---|---|---|
| `ModuleNotFoundError: ollama` | 未安装ollama扩展 | `pip install -e ".[ollama]"` 或切换到其他提供者 |
| `khub search` 失败 | 未配置嵌入提供者 | `khub init` → 选择嵌入提供者 |
| `OPENAI_API_KEY` 错误 | 环境变量未设置 | `export OPENAI_API_KEY=sk-...` 或创建 `.env` 文件 |
| Obsidian相关命令失败 | vault路径未设置 | `khub config set obsidian.vault_path /path/to/vault` |
| 索引0条目 | 未收集论文 | 先运行 `khub discover "topic" -n 3` |
## 运行时模式:CLI + MCP Only
本仓库现固定为仅终端/代理操作。
Web UI和UI API组件已删除。
支持的用户入口点:
- CLI:`khub`
- MCP服务器:`khub-mcp`
内部兼容性入口点在分层迁移期间保持可用:
- CLI:`python -m knowledge_hub.cli.main`
- MCP服务器:`python -m knowledge_hub.cli.main mcp`
节点帮助脚本:
- `npm run cli` -> CLI启动器
- `npm run mcp` -> MCP服务器启动器
- `npm run foundry:project` -> Foundry项目CLI(`foundry-core`)
## License
MIT
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器