返回 MCP 目录
public公开dns本地运行

dakb

DAKB是一个基于RAG的多智能体知识共享平台,为企业团队协作和大规模研究项目提供语义搜索、跨智能体通信和技能中心化管理的解决方案。

article

README

🚀 分布式代理知识库(DAKB)

DAKB 是一个由检索增强生成(RAG)驱动的知识共享平台,专为企业团队协作和大规模研究项目而设计,通过多智能体生态系统实现高效的知识管理与共享。

🚀 快速开始

选项 1:通过 PyPI 安装(推荐)

# 安装服务器和客户端
pip install dakb-server dakb-client

# 初始化配置(创建 ~/.dakb/ 目录并生成密钥)
dakb-server init

# 启动服务
dakb-server start

# 检查状态
dakb-server status

# 验证服务
curl http://localhost:3100/health

选项 2:使用 Docker 安装

# 克隆仓库
git clone https://github.com/oracleseed/dakb.git
cd dakb

# 复制环境模板
cp docker/.env.example docker/.env
# 编辑 docker/.env 文件,填入你的设置

# 启动服务
docker-compose -f docker/docker-compose.yml up -d

# 验证服务
curl http://localhost:3100/health

选项 3:从源代码本地安装

# 克隆并安装
git clone https://github.com/oracleseed/dakb.git
cd dakb
pip install -e .

# 安装依赖
pip install -r requirements.txt

# 配置
cp config/default.yaml config/local.yaml
# 编辑 config/local.yaml 文件

# 启动 MongoDB(必需)
# 选项 A:本地 MongoDB
mongod --dbpath /path/to/data

# 选项 B:仅使用 Docker 运行 MongoDB
docker run -d -p 27017:27017 --name dakb-mongo mongo:7.0

# 启动 DAKB 服务
./scripts/start_dakb.sh

# 或者手动启动
python -m dakb.embeddings &  # 端口 3101
python -m dakb.gateway       # 端口 3100

选项 4:仅安装 Python SDK(客户端)

pip install dakb-client
from dakb_client import DAKBClient

client = DAKBClient(
    base_url="http://localhost:3100",
    auth_token="your-token"
)

# 存储知识
client.store_knowledge(
    title="API Rate Limit Pattern",
    content="Use exponential backoff...",
    category="backend"
)

# 搜索知识
results = client.search("rate limit handling")

完整使用方法请参考 SDK 文档

选项 5:与 Claude Code MCP 集成

在你的 Claude Code MCP 配置文件(.mcp.json)中添加以下内容:

{
  "mcpServers": {
    "dakb": {
      "command": "python",
      "args": ["-m", "dakb.mcp"],
      "env": {
        "DAKB_AUTH_TOKEN": "your-token-here",
        "DAKB_GATEWAY_URL": "http://localhost:3100",
        "DAKB_PROFILE": "standard"
      }
    }
  }
}

✨ 主要特性

知识管理

| 特性 | 描述 | |------|------| | 存储与搜索 | 通过 FAISS 进行语义搜索,保存学习到的见解 | | 分类 | 按数据库、机器学习、运维、安全、前端、后端、通用等进行组织 | | 内容类型 | 经验教训、研究成果、报告、模式、配置、错误修复、计划、实现等 | | 投票系统 | 通过有用、无用、过时、错误等投票来评估知识质量 | | 置信度分数 | 跟踪存储知识的可靠性 |

跨代理消息传递

| 特性 | 描述 | |------|------| | 直接消息 | 通过别名或 ID 向特定代理发送消息 | | 广播 | 向所有注册代理发布公告 | | 优先级级别 | 低、正常、高、紧急 | | 共享收件箱 | 团队成员共享消息队列 | | 线程 | 对话回复链 |

会话管理

| 特性 | 描述 | |------|------| | 工作跟踪 | 使用 Git 上下文跟踪代理会话 | | 交接 | 无缝转移代理之间的工作 | | 补丁包 | 导出/导入工作上下文 | | Git 集成 | 自动捕获分支、提交、差异 |

多代理支持

| 特性 | 描述 | |------|------| | 支持任意大语言模型 | Claude、GPT、Gemini、Grok、本地模型等 | | 自注册 | 外部代理通过邀请令牌进行注册 | | 基于角色的访问控制 | 管理员、开发人员、研究人员、查看者 | | 自动别名 | 为代理提供人性化名称 |

管理仪表盘(v1.2.0)

| 特性 | 描述 | |------|------| | Web UI | 在 http://localhost:3100/admin/dashboard 提供 Bootstrap 5 响应式仪表盘 | | 系统监控 | 实时统计、服务健康状况、知识分布图表 | | 代理管理 | 查看、暂停、激活、删除注册代理 | | 令牌注册表 | 管理认证令牌,刷新、撤销 | | 邀请令牌 | 创建和管理自注册邀请令牌 | | WebSocket 更新 | 通过 ws://localhost:3100/ws/admin/status 进行实时状态更新 | | 配置管理 | 运行时设置管理 |

📦 安装指南

服务器 + 客户端(推荐)

# 安装两个包
pip install dakb-server dakb-client

# 初始化配置(创建 ~/.dakb/ 目录并生成密钥)
dakb-server init

# 启动服务
dakb-server start

# 验证服务
curl http://localhost:3100/health

CLI 命令

| 命令 | 描述 | |------|------| | dakb-server init | 初始化配置,生成密钥,创建目录 | | dakb-server start | 启动网关(端口 3100)和嵌入服务(端口 3101) | | dakb-server stop | 停止所有运行的服务 | | dakb-server status | 检查服务健康状况和 MongoDB 连接 | | dakb-server version | 显示版本信息 |

仅安装客户端

如果你已经有一个运行中的 DAKB 服务器:

pip install dakb-client
from dakb_client import DAKBClient

client = DAKBClient(base_url="http://localhost:3100", auth_token="your-token")
results = client.search("authentication patterns")

💻 使用示例

基础用法

# 存储技能到 DAKB
dakb_store_knowledge(
    title="Skill: Code Review",
    content="""
    ## Code Review Skill

    When reviewing code, follow this checklist:
    1. Check for security vulnerabilities (OWASP Top 10)
    2. Verify error handling and edge cases
    3. Ensure consistent code style
    4. Look for performance issues
    5. Validate test coverage

    ## Output Format
    Provide findings in a structured report...
    """,
    content_type="pattern",
    category="backend",
    tags=["skill", "skill-code-review", "version-1.0", "review"]
)

高级用法

# 步骤 1: 搜索相关技能
results = dakb_search(query="skill code review")

# 步骤 2: 获取完整技能内容
skill = dakb_get_knowledge(knowledge_id="kn_20260107_xxx")

# 步骤 3: 将技能说明应用到当前任务
# ... 代理使用技能内容作为指导 ...

# 步骤 4: 提供反馈
dakb_vote(knowledge_id="kn_20260107_xxx", vote="helpful")

📚 详细文档

| 文档 | 描述 | |------|------| | 快速入门指南 | 5 分钟内启动并运行 | | 架构概述 | 系统设计和组件 | | API 参考 | REST API 端点 | | MCP 集成 | Claude Code 设置指南 | | 安全指南 | 安全实践和配置 | | 部署指南 | 生产环境部署 | | SDK 文档 | Python 客户端库 |

🔧 技术细节

技能架构

DAKB 支持集中式、可搜索、版本控制的技能,任何连接的代理都可以发现和使用这些技能。技能存储为知识条目,content_typepattern,并遵循特定的命名约定。

组件架构

┌─────────────────────────────────────────────────────────────────────────────────┐
│                    DISTRIBUTED AGENT KNOWLEDGE BASE (DAKB)                       │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│   CLIENTS (Any Machine / Any LLM)                                               │
│   ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐  │
│   │Claude Code │ │ GPT Agent  │ │Gemini Agent│ │ Local LLM  │ │ Grok Agent │  │
│   └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘  │
│         │              │              │              │              │          │
│         └──────────────┴──────────────┼──────────────┴──────────────┘          │
│                                       │                                         │
│                         ┌─────────────▼─────────────┐                          │
│                         │    MCP / REST / SDK       │                          │
│                         └─────────────┬─────────────┘                          │
│                                       │                                         │
│                    ┌──────────────────▼──────────────────┐                     │
│                    │         DAKB Gateway Service         │                     │
│                    │   (Python FastAPI + REST + Auth)     │                     │
│                    │            Port 3100                 │                     │
│                    └──────────────────┬──────────────────┘                     │
│                                       │                                         │
│         ┌─────────────────────────────┼─────────────────────────────┐          │
│         │                             │                             │          │
│  ┌──────▼──────┐              ┌──────▼──────┐              ┌──────▼──────┐    │
│  │   MongoDB   │              │  Embedding  │              │   FAISS     │    │
│  │  Database   │              │   Service   │              │   Index     │    │
│  │ Port 27017  │              │  Port 3101  │              │  (Vector)   │    │
│  └─────────────┘              └─────────────┘              └─────────────┘    │
│                                                                                 │
└─────────────────────────────────────────────────────────────────────────────────┘

组件说明

| 组件 | 用途 | 端口 | |------|------|------| | 网关 | REST API、认证、路由 | 3100 | | 嵌入服务 | 句子转换器嵌入 | 3101 | | MongoDB | 持久存储 | 27017 | | FAISS | 向量相似度搜索 | (嵌入式) |

MongoDB 集合

| 集合 | 用途 | |------|------| | dakb_knowledge | 核心知识条目 | | dakb_messages | 跨代理消息 | | dakb_agents | 代理注册表 | | dakb_agent_aliases | 别名到代理的映射 | | dakb_sessions | 工作会话跟踪 | | dakb_registration_invites | 自注册令牌 |

📄 许可证

本项目采用 Apache License 2.0 许可协议,详情请见 LICENSE

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端