kb-manager

企业知识库管理。用户需要上传文档、添加知识、更新资料、删除文档、管理知识库、初始化系统时调用。同时支持业务问答:当用户提出业务问题、公司政策、流程规范等问题时,优先检索知识库后回答。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "kb-manager" with this command: npx skills add apanghu/enterprise-kb-manager

知识库管理系统 (KB Manager)

基于ChromaDB的本地知识库管理系统,支持多种文档格式的上传、管理和智能问答。

使用方法

对话式交互

  • 发送文件并添加说明: "upload to kb""上传到知识库"
  • 直接提问进行智能问答
  • 支持格式: PDF, DOCX, TXT, MD

命令行使用

# 进入对话模式
python main.py chat

# 上传文档
python main.py upload <文件路径> [文档名称]

# 查询知识库
python main.py query <查询内容>

# 列出文档
python main.py list

# 显示统计
python main.py stats

示例

上传文档

用户: [附件: 公司政策.pdf] 上传到知识库
助手: ✅ 文档上传成功!已处理 公司政策.pdf,创建了 45 个文档块。

智能问答

用户: 公司的休假政策是什么?
助手: 根据公司政策文档,休假政策包括:
- 年假:每年15天带薪年假
- 病假:每年10天带薪病假
- 远程办公:每周可远程2天

文档管理

用户: list kb documents
助手: 📚 知识库文档列表:
1. 公司政策.pdf (45 chunks)
2. 员工手册.docx (23 chunks)

🚀 快速开始

1. 安装依赖

cd skills/kb-manager
pip install -r requirements.txt

2. 配置API密钥

方式一:环境变量

# DashScope (阿里云千问) - 推荐
$env:DASHSCOPE_API_KEY='your-dashscope-key'

# 或者 OpenAI
$env:OPENAI_API_KEY='your-openai-key'

方式二:OpenClaw配置文件 编辑 ~/.openclaw/openclaw.json:

{
  "skills": {
    "entries": {
      "kb-manager": {
        "enabled": true,
        "env": {
          "DASHSCOPE_API_KEY": "your-dashscope-key"
        },
        "config": {
          "embeddingProvider": "dashscope",
          "embeddingModel": "text-embedding-v3",
          "chunkSize": 500,
          "retrievalTopK": 5
        }
      }
    }
  }
}

3. 初始化系统环境

# 首次使用时,初始化系统环境
python main.py setup

这个命令会:

  • 创建系统级数据目录
  • 初始化ChromaDB数据库
  • 设置正确的权限
  • 验证系统配置

4. 测试系统

# 测试系统状态
python main.py stats

# 测试查询功能
python main.py query "测试查询"

📋 使用方法

上传文档

  • 发送文件并添加说明: "upload to kb""上传到知识库"
  • 支持格式: PDF, DOCX, TXT, MD
  • 示例: [附件: 公司政策.pdf] 上传到知识库

智能问答

  • 直接提问,系统会自动搜索相关文档
  • 示例:
    • 公司的休假政策是什么?
    • 如何申请病假?
    • 远程办公的规定是什么?

文档管理

  • python main.py list - 查看所有文档
  • python main.py stats - 显示统计信息
  • python main.py delete <文档ID> - 删除文档
  • python main.py setup - 初始化系统环境

⚙️ 配置选项

config.json 或 OpenClaw 配置中设置:

{
  "embeddingProvider": "dashscope",
  "embeddingModel": "text-embedding-v3", 
  "embeddingBaseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
  "chunkSize": 500,
  "chunkOverlap": 50,
  "retrievalTopK": 5,
  "collectionName": "enterprise_kb",
  "vectorDimension": 1024
}

注意: 数据库路径和文档目录由系统自动管理,无需手动配置。

🏗️ 技术架构

  • 向量数据库: ChromaDB (本地存储,无需Docker)
  • 文档存储: 系统级目录 (自动配置)
  • 向量存储: 系统级目录 (自动配置)
  • 嵌入模型: DashScope text-embedding-v3 (1024维) 或 OpenAI
  • 支持格式: PDF, DOCX, TXT, Markdown
  • 分块策略: 可配置大小和重叠度
  • 搜索算法: 余弦相似度

📁 系统数据目录

知识库数据存储在系统级固定目录中,所有skills自动共享:

Windows: C:/ProgramData/kb-data/ Linux/Mac: /usr/local/share/kb-data/~/.local/share/kb-data/

kb-data/
├── chroma_db/     # 向量数据库
└── documents/     # 原始文档

这种设计的优势:

  • 固定路径: 所有agent自动使用相同路径
  • 无需配置: 不需要环境变量或符号链接
  • 系统标准: 遵循操作系统标准目录结构
  • 自动权限: 智能处理权限问题

🔧 故障排除

API密钥问题

# 检查环境变量 (Windows)
echo $env:DASHSCOPE_API_KEY

# 检查环境变量 (Linux/Mac)  
echo $DASHSCOPE_API_KEY

# 设置API密钥 (Windows)
$env:DASHSCOPE_API_KEY='your-api-key'

# 设置API密钥 (Linux/Mac)
export DASHSCOPE_API_KEY='your-api-key'

# 测试API连接
python -c "import os; print('API Key:', os.getenv('DASHSCOPE_API_KEY', 'Not Set'))"

依赖安装问题

# 重新安装依赖
pip install -r requirements.txt --force-reinstall

# 如果遇到grpcio问题,ChromaDB已默认配置无需Docker
pip install chromadb --upgrade

系统环境问题

# 初始化系统环境
python main.py setup

# 检查系统状态和路径
python main.py stats

# 验证系统目录权限
python -c "from src.system_config import print_system_info; print_system_info()"

数据库问题

# 系统会自动管理数据库,如需重置:
# 1. 备份重要文档
# 2. 删除系统目录 (需要管理员权限)
# 3. 重新初始化
python main.py setup

# 检查ChromaDB状态
python -c "from src.chroma_client import ChromaVectorDB; db = ChromaVectorDB(); print('DB Status:', db.get_collection_info())"

权限问题

# Windows: 确保对 C:/ProgramData/ 有写权限
# Linux/Mac: 如果 /usr/local/share/ 无权限,会自动使用 ~/.local/share/

# 检查当前使用的路径
python -c "from src.system_config import get_system_kb_path; print('KB Path:', get_system_kb_path())"

📊 性能指标

  • 处理速度: ~100页/分钟 (PDF)
  • 搜索延迟: <500ms (本地向量搜索)
  • 存储效率: ~1MB/1000页文档
  • 支持规模: 10万+文档块

🌐 多Agent部署

部署架构

Agent A (管理员)          Agent B (用户)           Agent C (用户)
├── kb-manager           ├── kb-reader            ├── kb-reader  
│   ├── 上传文档          │   ├── 查询知识库        │   ├── 查询知识库
│   ├── 管理知识库        │   └── 浏览文档          │   └── 浏览文档
│   └── 系统维护          └── 只读访问              └── 只读访问
└── 系统级数据目录 ←──────────────┴─────────────────────┘
    C:/ProgramData/kb-data/ (Windows)
    /usr/local/share/kb-data/ (Linux/Mac)

部署步骤

  1. 管理员Agent设置
# 在管理员Agent上安装kb-manager
cd agent-admin/skills/
git clone <kb-manager-repo>
cd kb-manager
pip install -r requirements.txt

# 初始化系统环境
python main.py setup

# 上传初始文档
python main.py upload company-docs.pdf
  1. 用户Agent设置
# 在用户Agent上安装kb-reader
cd agent-user/skills/
git clone <kb-reader-repo>
cd kb-reader
pip install -r requirements.txt

# 测试连接
python main.py stats
python main.py query "测试查询"

权限管理

  • kb-manager: 完整权限,可创建、修改、删除
  • kb-reader: 只读权限,仅能查询和浏览
  • 系统目录: 自动权限管理,确保数据安全

🔒 安全特性

  • 本地存储: 所有数据保存在本地,不上传云端
  • API安全: 支持多种API提供商,密钥加密存储
  • 访问控制: 基于OpenClaw的用户权限管理
  • 数据隔离: 每个技能实例独立的数据存储
  • 权限分离: 管理和查询权限分离,防止误操作

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Obsidian Cleaner

Automatically clean up loose images and attachments in Obsidian vault root, moving them to the Attachments folder. Trigger when user says "clean obsidian", "clean attachments", or "整理附件".

Registry SourceRecently Updated
General

tradealpha实时新闻

获取 TradeAlpha 实时新闻和语义检索结果。适用于用户提到 TradeAlpha 新闻、今日新闻、路透、彭博、Truth、国内资讯、研报快讯,或要求按主题、事件、公司、叙事检索相关新闻的场景。通过聊天向用户索取 token,并在当前会话中复用,不读取环境变量,不写入本地文件。

Registry SourceRecently Updated
General

Everclaw — Inference You Own

Open-source first AI inference — GLM-5 as default, Claude as fallback only. Own your inference forever via the Morpheus decentralized network. Stake MOR toke...

Registry SourceRecently Updated
General

Identitygram Signin

Sign in to IdentityGram by calling the /auth/signin endpoint.

Registry SourceRecently Updated