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_type 为 pattern,并遵循特定的命名约定。
组件架构
┌─────────────────────────────────────────────────────────────────────────────────┐
│ 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。
微信扫一扫