核心优势功能

Orchidea Archive

知识库与记忆系统

企业级知识库 + 记忆系统后端服务,通过 MCP 将知识能力开放给所有 AI 客户端(Desktop / Cursor 等)。

核心能力

  • 多级知识组织:pages / spaces / tables / slides / templates / workspaces,DOCX / Confluence 导入导出
  • 协作文档:双链、评论、关注、收藏、分享,Yjs / Docuspocus 多人实时协同
  • Beam Retriever 语义检索 + Vectorless RAG(免向量库)
  • 三级检索回退:pgvector → pg_trgm → ILIKE,保证可用性
  • AIP 通用 Agentic 工具循环(provider 无关:Anthropic / OpenAI / generic,驱动 ontology / knowledge / doc 统一工具集)
  • 知识工程管线:extractor / embedder / compiler / evolver / semantic_lint / knowledge_spec,operation_log 记录演进轨迹
  • 图谱分析:Louvain 社区发现 + surprise scoring 五因子权重;知识三层注入(core / related / deep)
  • MCP Server:search_knowledge / get_knowledge_entry / query_agent 等工具
  • 企业安全:MFA、API Keys、SSO / OIDC、审计日志、多工作区;arq 队列 + 文件监听 + S3 / local 双存储

技术优势

  • 免向量库的语义检索,部署轻、成本低、效果不打折
  • 知识自动编译与演进,越用越懂企业业务
  • 标准 MCP 接口,主流 AI 客户端即插即用
  • 企业级安全(MFA / SSO / 审计)开箱具备
应用场景 AI 客户端(Desktop / Cursor 等)的知识检索底座;企业知识库问答、ISA-95 合规文档查询;「离线优先 + 登录增强」的企业知识沉淀
知识流转 文档网页 → 知识抽取 → 语义编译 → 语义检索 → 智能问答
数据存储 知识库 · 向量索引

Orchidea Archive

企业知识库与记忆系统后端(Backend Service)

Orchidea Archive 是 Orchidea 产品线的企业知识库 + 记忆系统后端服务,基于 FastAPI 构建,提供知识管理、语义检索、知识演进、实时协同与 AI 问答能力,并通过 MCP Server 将知识库能力开放给 AI 客户端(如 Orchidea Desktop、Cursor 等)。

2026-11 能力更新(v0.3.0)

  • 分片上传与断点续传:S3 Multipart + upload_sessions 会话表(迁移 0033),提供创建 / 查询进度 / 完成 / 中止端点
  • 文档路由:document_router.py 按 52 类扩展名分流 direct / vision / know,PDF 依文本密度动态判定
  • 向量去重:Milvus 写入新增 source_channel 标量字段,区分 archive 与 vision 来源,避免双写重复命中
  • 图片管线:图片文本绑定与嵌入管线补齐

2026-10 能力更新(v0.2.0)

  • 标准情报巡检(Standard Patrol):搜索 → 抓取 → 候选池 → 人工审核 → 入知识条目,绝不直接写入;来源限定 ISA-95 / IEC 62443 / ISO 22400 / B2MML / AAS / OPC UA / ISA-88
  • 候选治理与证据链:差异对比、批量审核、审批撤销/恢复/置顶、SLA 升级、拒绝洞察、订阅矩阵、巡检运行报告与进度;候选证据、影响分析、审核链校验、标准盘点导入/查询、抽样审计
  • 冲突管理:知识冲突检测与治理(app/knowledge/conflict.py)
  • MCP Server:统一 registry 扩展至 101 个工具(知识 82 / 文档 13 / 本体 3 / 运行 3),工具带 read/write/admin 权限与 readOnlyHint / idempotentHint 注解
  • 知识规范:21 个知识分类、10 种关系类型,支持校验/建议/Turtle/JSON/Markdown 编译与 owl:inverseOf 推断

功能特性

知识管理

  • 页面与空间:pages / spaces / tables / slides / templates / workspaces 多级内容组织
  • 协作文档:双链(backlinks)、评论(comments)、关注(watchers)、收藏(favorites)、页面分享(share)、页面校验(verifications)
  • 导入导出:DOCX 导入、Confluence ZIP 导入、导出任务(export_jobs)
  • 附件索引:上传附件并索引,内容参与全文搜索

知识工程与语义能力(app/knowledge)

  • 知识提取与编译:extractor / embedder / compiler / converter / blocks,从文档编译为结构化知识条目
  • 语义检索:Beam Retriever(beam_retriever)与 Vectorless RAG(vectorless_rag,无需向量库的检索增强生成)
  • Q&A 查询智能体:query_agent 基于工具调用循环(search/read/traverse relations)回答知识库问题
  • 通用 AI 工具闭环(AIP):app/ai/agent.py 提供 provider 无关(Anthropic/OpenAI/generic)的通用 agentic 工具调用循环,可驱动统一 registry(app/ai/registry)注册的任意工具集(ontology / knowledge / doc 工具),将工具结果回填给模型直至产出最终答案或轮次耗尽
  • 知识演进:evolver 持续改进知识条目,operation_log 记录演进轨迹
  • 语义校验:semantic_lint / lint 对知识条目做语义与质量检查;knowledge_spec 定义知识规范
  • 本体桥接:ontology_bridge 将 Archive 知识分类映射为 Plex 本体概念(IRI),打通知识库与语义平台

MCP Server

app/knowledge/mcp_server.py 提供 stdio 协议的 MCP Server(JSON-RPC),向 AI 客户端暴露 search_knowledge、get_knowledge_entry 等工具,可直接查询与检索知识库。

实时协同(app/realtime)

  • collab:Yjs 驱动的多人协同编辑(WebSocket)
  • doc_sync / history_writer:文档同步与编辑历史
  • present:演示/共享会话

安全与企业能力

  • 认证:账号密码 + MFA(TOTP)、API Keys、会话管理(sessions)
  • SSO / OIDC:auth_providers / sso 路由支持第三方身份源
  • 审计与限流:audit 审计日志、rate_limit 限流、权限模型(permissions)
  • 多工作区:workspaces / spaces / enterprise(权益 entitlements)

基础设施

  • 存储抽象:local 与 S3 双驱动(app/storage)
  • 搜索驱动:database(默认)与 Typesense
  • 异步任务:arq 队列 + 文件监听(watcher)
  • 国际化:en / zh 双语
  • 数据模型:SQLAlchemy(async)+ Alembic 迁移(alembic/versions)

架构简述

app/
├── main.py          # FastAPI 应用入口(/api 前缀、WebSocket、中间件)
├── api/routes/      # REST 路由(auth/sso/pages/spaces/tables/slides/knowledge/search 等)
├── core/            # 配置、安全、审计、权限、队列、限流、错误处理
├── db/              # SQLAlchemy 模型、Alembic 迁移、初始化
├── knowledge/       # 知识引擎(提取/检索/RAG/演进/语义校验/MCP/本体桥接)
├── ai/              # 通用 agentic 工具调用闭环(registry / agent)
├── realtime/        # Yjs 协同、文档同步、演示
├── storage/         # local / S3 存储驱动
└── i18n/            # 国际化(en/zh)

快速开始

环境要求

  • Python >= 3.11
  • PostgreSQL(含 pgvector 扩展);Redis 可选(队列/缓存/文档同步)

安装与启动

python -m venv .venv
.venv/bin/python -m pip install -U pip
.venv/bin/python -m pip install -e .

# 设置环境变量(参考 .env.example),然后启动:
.venv/bin/uvicorn app.main:app --reload --port 8000

默认 API 前缀为 /api,启动后可访问:

  • API 文档:http://localhost:8000/docs
  • 协同编辑 WebSocket:/collab

知识库 CLI

python -m app.knowledge.cli init --workspace <id>          # 初始化知识库
python -m app.knowledge.cli add <file_or_dir> --workspace <id>   # 导入内容
python -m app.knowledge.cli query "搜索词" --workspace <id>  # 检索
python -m app.knowledge.cli lint --workspace <id>           # 语义校验
python -m app.knowledge.cli compile --workspace <id>        # 知识编译
python -m app.knowledge.cli evaluate --workspace <id>       # 评估
python -m app.knowledge.cli watch <dir> --workspace <id>    # 目录监听

Docker

仓库根目录提供 Dockerfile,构建后以 uvicorn 监听 8000 端口:

docker build -t orchidea-archive .
docker run -p 8000:8000 orchidea-archive

环境变量

配置项均以 CRB_ 前缀定义,完整清单见 .env.example,主要分组:

分组变量示例说明
应用CRB_APP_NAME、CRB_API_PREFIX、CRB_ENVIRONMENT应用名、API 前缀、运行环境
安全CRB_SECRET_KEY、CRB_ACCESS_TOKEN_TTL_MINUTES、CRB_COLLAB_TOKEN_TTL_MINUTES会话令牌与密钥
数据库CRB_DATABASE_URL(PostgreSQL + asyncpg)、CRB_AUTO_CREATE_SCHEMA数据库连接与自动建表
缓存/队列CRB_REDIS_URLRedis(可选)
搜索CRB_SEARCH_DRIVER(database/typesense)、CRB_TYPESENSE_*搜索驱动与 Typesense 配置
AI / LLMCRB_LLM_BASE_URL、CRB_LLM_API_KEY、CRB_ANTHROPIC_API_KEY、CRB_OPENAI_API_KEY大模型服务配置
EmbeddingCRB_EMBEDDING_API_URL、CRB_EMBEDDING_MODEL、CRB_EMBEDDING_DIMENSIONS向量嵌入配置
知识编译CRB_KNOWLEDGE_*、CRB_BEAM_SEARCH_*、CRB_VECTORLESS_RAG_*知识编译、Beam 检索、Vectorless RAG 参数
协同CRB_COLLAB_DRIVER、CRB_HOCUSPOCUS_*、CRB_YJS_HISTORY_DEBOUNCE_MSYjs/Hocuspocus 协同配置
存储CRB_STORAGE_DRIVER(local/s3)、CRB_S3_*对象存储配置
SSOCRB_SSO_OIDC_*OIDC 单点登录配置
SMTPCRB_SMTP_*邮件服务
其他CRB_MAX_UPLOAD_BYTES、CRB_DEFAULT_LOCALE、CRB_AVAILABLE_LOCALES上传限制、国际化

许可证

详见根目录 LICENSE 文件。当前版本见 VERSION 文件。

← 返回平台架构总览