知识库AI问答服务

将Confluence文档转化为AI驱动的知识库,通过自然语言提问获取文档中的答案。

  • by marcciosilva
  • Shell
  • 本地部署
  • 更新于
在 GitHub 查看 marcciosilva/confluence-mcp

使用说明

汇流知识库MCP服务器

一个MCP服务器,将您的Confluence文档转化为Gemini CLI的人工智能知识库。询问有关系统的自然语言问题,并从实际文档中获得答案。

快速开始

一个命令设置

git clone <this-repo>
cd confluence-knowledge-base
./install.sh

交互式向导将:

  1. ✅ 在虚拟环境中安装依赖项
  2. ✅ 询问您的Confluence凭据
  3. ✅ 探索您的空间
  4. ✅ 帮助您选择要索引的空间
  5. ✅ 建立初始知识库
  6. ✅ 自动配置Gemini CLI(与现有配置合并)

你需要什么

在运行安装程序之前:

  1. Confluence API代币

    • 首选https://id.atlassian.com/manage-profile/security/api-tokens
    • 点击“创建API令牌”
    • 复制令牌(您将不会再看到它!)
  2. 您的汇流URL

    • 例子: https://yourcompany.atlassian.net
  3. Python 3.8+ 安装

    • 安装程序会自动创建虚拟环境(不需要系统范围的软件包)
  4. Gemini CLI 安装

    • 从以下位置安装:https://github.com/google-gemini/gemini-cli

用法

安装后,只需启动Gemini CLI并提问:

gemini
> How does our authentication system work?

> What's the process for deploying to production?

> Explain our database migration strategy

> What are the API rate limits?

双子座会 自动地 检索相关文档并回答您的问题!

运作原理

1. Your Confluence docs → Downloaded and indexed (one-time)
2. You ask a question → Semantic search finds relevant chunks
3. Gemini gets context → Answers based on YOUR docs

使用的技术

  • FastMCP -MCP服务器框架
  • 色度数据库 -本地矢量数据库
  • 句子变换器 -语义搜索
  • Confluence REST API -文件检索

项目结构

confluence-knowledge-base/
├── install.sh                          # Interactive setup wizard
├── confluence_knowledge_base.py        # Main MCP server
├── confluence_kb_with_staleness.py    # Version with auto-reindex
├── find_space_keys.py                 # Space discovery utility
├── requirements.txt                    # Python dependencies
├── KNOWLEDGE_BASE_SETUP.md            # Detailed setup guide
└── README.md                          # This file

配置

安装后,配置存储在:

  • 凭证: ~/.confluence_mcp.env
  • 索引: ~/.confluence_mcp/index/
  • Gemini配置: ~/.gemini/settings.json
  • 虚拟环境: ./venv/ (在项目目录中)

更新文档

当您的Confluence文档更新时:

选项1:问双子座

> Reindex the Confluence documentation

选项2:命令行

./venv/bin/python confluence_knowledge_base.py

选项3:自动(每周)

设置cron作业(请参阅 REINDEXING_GUIDE.md)

定制

更改索引空间

编辑 ~/.confluence_mcp.env:

export CONFLUENCE_SPACES="ENG,DEVOPS,TEAM"

然后重建索引。

调整块大小

在 confluence_knowledge_base.py:

CHUNK_SIZE = 1000      # Default: 1000 characters
CHUNK_OVERLAP = 200    # Default: 200 characters

更改嵌入模型

为了获得更好的质量(更慢、更大):

self.embedding_model = SentenceTransformer('all-mpnet-base-v2')

故障排除

“连接失败”

检查:

  • 您的Confluence URL正确
  • 您的API令牌有效
  • 您已连接互联网

“未找到空格”

您可能无法访问任何Confluence空间。向管理员请求访问权限。

索引速度慢

大型文档集(500+页)正常。减少空间或通宵跑步。

错误/过时的答案

您的索引已缓存!更新文档时重新索引:

rm -rf ~/.confluence_mcp
./install.sh

高级用法

手动空间发现

source ~/.confluence_mcp.env
python3 find_space_keys.py

静止检测

使用带有自动过期警告的增强版本:

# In ~/.gemini/settings.json, change the args to:
"args": ["confluence_kb_with_staleness.py"]

添加环境变量:

export MAX_INDEX_AGE_DAYS=7
export AUTO_REINDEX=true

计划重新索引

看 REINDEXING_GUIDE.md 用于cron作业设置。

常见问题解答

Q: 这会修改我的Confluence文档吗? A: 不,它是只读的。它只下载和索引内容。

Q: 我的数据存储在哪里? A: 当地in ~/.confluence_mcp/index/。除了Gemini API调用之外,不向外部服务发送任何内容。

Q: 这要花多少钱? A: MCP服务器是免费的。您只需支付Gemini API的使用费(向AI查询)。

Q: 我可以和克劳德而不是双子座一起使用这个吗? A: 是的!MCP是一种标准协议。只需配置Claude Desktop即可使用此MCP服务器。

Q: 我应该多久重新索引一次? A: 取决于您的文档更新的频率。每周都很常见。每天都很活跃。

Q: 我可以排除某些页面吗? A: 默认情况下不是,但您可以修改 confluence_knowledge_base.py 按标题、标签等过滤。

Q: 附件/PDF呢? A: 目前只有页面内容被索引。附件可以添加额外的代码。

文档

  • KNOWLEDGE_BASE_SETUP.md -全面的设置指南
  • REINDEXING_GUIDE.md -保持文档新鲜的策略

贡献

请随意:

  • 添加功能(写入功能、附件支持等)
  • 改进组块策略
  • 添加更好的错误处理
  • 创建其他工具

许可证

[您的许可证在这里]

支持

对于问题或疑问:

  1. 检查上面的故障排除部分
  2. 查看中的详细指南 /docs
  3. 在GitHub上打开一个问题

准备好开始了吗? 只需运行:

./install.sh