Token导航 LogoToken导航TokenDH.com
It Guru Assistant Chatbot logo
搜索检索stdio官方级别未说明来源级核验

It Guru Assistant Chatbot

MCP Server

一款专注于IT基础设施和网络安全的AI聊天机器人,提供实时搜索、多格式响应和会话管理功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
安全Python实时搜索云服务

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

leroylim

提供方

leroylim

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

🔧 IT大师助理

一个专门从事IT基础设施和网络安全的人工智能聊天机器人,由Streamlit和OpenRouter构建。该应用程序使用人工智能意图检测、实时网络搜索(Exa)和选择性MCP集成(AWS文档、Microsoft Learn),没有本地知识库或RAG。

🌟 特性

核心能力

  • AI意图检测:将查询路由到AWS文档MCP、Microsoft Learn MCP或Exa实时搜索
  • 情境感知对话:维护自然互动的对话历史记录
  • 实时覆盖:通过供应商提升搜索权威IT/安全来源
  • OpenRouter型号:通过UI/secrets选择和使用模型

高级功能

  • 多种响应格式:定义、分步指南、故障排除、比较
  • 专业用户界面:具有自定义CSS和响应式布局的现代设计
  • 会话管理:跨交互的持续对话状态
  • 性能监控:响应质量和使用指标

🛠️ 技术栈

  • 前端:流光灯
  • 后端:使用OpenRouter聊天完成API的Python
  • 实时搜索:Exa搜索API,带有域筛选器和供应商提升
  • MCP集成:AWS文档(HTTP API)、Microsoft Learn(实现SSE流媒体)
  • 部署:Streamlit社区云(免费托管)

🚀 快速开始

先决条件

地方发展

  1. 克隆存储库
git clone https://github.com/leroylim/it-guru-assistant-chatbot.git
cd it-guru-assistant-chatbot
  1. 安装依赖项
pip install -r requirements.txt
  1. 配置API密钥

创建 .streamlit/secrets.toml 并添加您的密钥:

OPENROUTER_API_KEY = "your-openrouter-api-key-here"
OPENROUTER_MODEL = "google/gemini-2.5-flash-lite"  # or any available model id

# Exa real-time search
EXA_API_KEY = "your-exa-api-key-here"
EXA_START_DAYS = 180          # rolling window, overrides EXA_START_DATE if > 0
# EXA_START_DATE = "2025-02-01" # optional fixed date
EXA_MAX_RESULTS = 5

# IT scope guardrails (enable strict IT-only scope)
ENFORCE_IT_SCOPE = true                   # default true; set false to disable scope enforcement
ALLOW_IT_CAREER_TOPICS = true             # allow resume/interviews/certifications (career-only)
OUT_OF_SCOPE_MESSAGE = "Sorry, I’m focused on IT infrastructure, cybersecurity, cloud, DevOps, and IT careers. Please rephrase your question within this scope."

# Admin UI controls
HIDE_SETTINGS_BAR = false                 # set true to hide entire Settings sidebar section
HIDE_MODEL_SELECTOR = false               # set true to hide model selector and lock to OPENROUTER_MODEL
  1. 运行应用程序
streamlit run app.py
  1. 打开浏览器

引导到 http://localhost:8501

🌐 部署到Streamlit社区云

逐步部署

  1. 准备存储库

- 确保所有代码都在公共GitHub存储库中 - 验证 requirements.txt 包括所有依赖项 - 删除任何硬编码的API密钥

  1. 部署到Streamlit云

- 访问 share.streamlit.io - 连接您的GitHub帐户 - 选择您的存储库,然后 app.py 作为主文件 - 在Streamlit仪表板中配置机密:

     OPENROUTER_API_KEY = "your-actual-api-key"
     OPENROUTER_MODEL = "google/gemini-2.5-flash-lite"
     EXA_API_KEY = "exa_..."
     EXA_START_DAYS = 180
     EXA_MAX_RESULTS = 5

     # IT scope guardrails
     ENFORCE_IT_SCOPE = true
     ALLOW_IT_CAREER_TOPICS = true
     OUT_OF_SCOPE_MESSAGE = "Sorry, I’m focused on IT infrastructure, cybersecurity, cloud, DevOps, and IT careers. Please rephrase your question within this scope."

     # Admin UI controls
     HIDE_SETTINGS_BAR = false
     HIDE_MODEL_SELECTOR = false

⚙️ 配置参考

所需的秘密

  • OPENROUTER_API_键:用于LLM响应和小型分类调用的OpenRouter API密钥
  • OPENROUTER_MODEL:默认型号ID(例如。, meta-llama/llama-3.1-8b-instruct:free)
  • EXA_API_密钥:Exa搜索API密钥(用于实时web结果)

可选秘密

  • EXA_START_DAYS:用于最近度过滤的整数滚动窗口(例如。, 7, 30, 180)
  • EXA_START_DATE:ISO日期(YYYY-MM-DD)作为固定的最早爬网日期(如果 EXA_START_DAYS > 0)
  • EXA_MAX结果:要返回的结果数(代码中默认为3;上面的示例使用5)
  • LLM_SCOPE_CHECK: true|false (默认值 false)--什么时候 true,廉价的LLM检查仅在包含非IT术语和IT锚点的模糊查询上运行。如果LLM说超出范围,则拒绝查询。
  • LLM_SCOPE_MODEL:用于范围检查的可选模型ID(默认为 OPENROUTER_MODEL 如果没有提供)。例子: meta-llama/llama-3.1-8b-instruct:free.

IT范围护栏(秘密)

  • ENFORCE_IT_SCOPE: true|false (默认值 true)--什么时候 true,非IT话题会被礼貌地拒绝
  • ALLOW_IT_care_TOPICS: true|false (默认值 true)--允许简历/面试/证书主题
  • OUT_OF_SCOPE_MESSAGE:向用户显示自定义拒绝消息

IT范围关键字(外部化JSON)

  • 范围保护关键字可在中编辑 modules/mcp/scope_keywords.json:

- non_it_patterns:将主题视为超出范围(对单个单词使用单词边界正则表达式;对短语使用子字符串) - it_career_whitelist:与职业相关的白名单术语 - it_anchors:强有力的信息技术指标;任何锚点的存在都可以防止误报,并在不明确时触发可选的LLM范围检查

如果无法读取JSON,应用程序将恢复为内置默认值。

管理UI控件(机密)

  • 隐藏设置BAR: true|false (默认值 false)--隐藏侧边栏中的整个“设置”部分
  • HIDE_MODEL_SELECTOR: true|false (默认值 false)--隐藏模型选择器并将应用程序锁定到 OPENROUTER_MODEL

环境变量

  • OPENROUTER_API_键:如果不是秘密的,应用程序也会从环境中读取此信息作为后备

- 例子: export OPENROUTER_API_KEY=sk-or-...

笔记:

  • 考试密钥(EXA_*)从本应用程序中的Streamlit机密中读取;对于那些人来说,更喜欢秘密而不是环境。
  • modules/ai_service.py, modules/mcp/intent_detector.py, modules/mcp/exa_client.py,以及 modules/mcp/router.py 了解如何使用这些设置。
  1. 上线

- 点击“部署”-您的应用程序立即上线 - 获取您的自定义URL: your-app-name.streamlit.app

📊 项目结构

it-chatbot/
├── app.py                          # Main Streamlit application
├── requirements.txt                # Python dependencies
├── config.py                       # App config (max_tokens, temperature)
├── modules/
│   ├── ai_service.py               # OpenRouter calls and response formatting
│   ├── ui_components.py            # Streamlit UI components
│   └── mcp/
│       ├── exa_client.py           # Exa search integration
│       ├── exa_domains.json        # Editable domain categories and vendor map
│       ├── scope_keywords.json     # Editable scope keywords (non-IT, IT anchors, career whitelist)
│       └── intent_detector.py      # AI-powered intent routing
├── .streamlit/
│   └── secrets.toml                # API keys and Exa settings (local dev)
└── README.md

🎯 IT大师可以提供什么帮助

🔧 网络

  • 防火墙、VPN、DNS配置
  • 路由和交换概念
  • 网络故障排除程序
  • 负载平衡和流量管理

🔒 网络安全

  • 安全最佳实践和框架
  • SSL/TLS证书和加密
  • 事故响应程序
  • 漏洞管理

💻 系统管理

  • Active Directory管理
  • 服务器管理(Windows/Linux)
  • 备份和灾难恢复
  • PowerShell和自动化

☁️ 云和基础设施

  • AWS、Azure、谷歌云概念
  • 容器编排(Kubernetes)
  • 基础设施即代码(Terraform)
  • DevOps实践和CI/CD

🔧 技术实现

意向路由

系统对查询进行分类,并将其路由到最佳来源:

  • 定义:“什么是防火墙?”
  • 一步一步:“如何配置DNS?”
  • 故障排除:“网络连接问题”
  • 比较:“VPN与代理”

会话管理

在高效管理内存的同时,跨交互维护上下文:

def manage_conversation_context(chat_history, max_context=10):
    # Keep recent exchanges for context continuity
    recent_history = chat_history[-max_context*2:]
    return format_context_for_ai(recent_history)

📈 性能与分析

内置指标

  • 查询分类:用户请求的自动分类
  • 响应质量:上下文相关性评分
  • 使用情况分析:会话持续时间和交互深度

🎨 UI/UX功能

专业设计

  • 现代界面:干净、直观的聊天布局
  • 响应式设计:适用于台式机和移动设备
  • 自定义样式:专业配色方案和排版
  • 加载状态:处理过程中的视觉反馈

用户体验

  • 聪明的建议:侧边栏中的上下文帮助
  • 错误处理:优雅地处理API故障
  • 无障碍:屏幕阅读器友好组件
  • 演出:针对快速响应时间进行了优化

🔐 安全考虑

API密钥管理

  • 永远不要将API密钥提交到版本控制
  • 使用Streamlit secrets进行安全密钥存储
  • 本地开发的环境变量回退

提供安全性

  • 标题和文本被净化;通过Markdown呈现的源代码 unsafe_allow_html=False.

数据隐私

  • 没有持久存储用户对话
  • 仅基于会话的数据
  • 不收集个人信息

🚀 未来的增强功能

计划的功能

  • \[\]多模式支持(文档分析)
  • \[\]高级分析仪表板
  • \[\]自定义知识库上传
  • \[\]与票务系统集成

可扩展性选项

  • \[\]对话历史数据库后端
  • \[\]Redis缓存以提高性能
  • \[\]Kubernetes部署配置
  • \[\]负载平衡以实现高可用性

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📝 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

商标

Microsoft、AWS、Streamlit、Exa和OpenRouter是其各自所有者的商标。此处使用并不意味着认可。

贡献

通过向此存储库贡献,您同意您的贡献将根据此项目的MIT许可证获得许可。

👤 作者

建造于 韩永林\ github:https://github.com/leroylim\ 领英:https://www.linkedin.com/in/han-yong-lim-312b88a7/

🙏 致谢

  • 根据全面的IT Assistant文档中的最佳实践构建
  • 受现代RAG架构和会话式AI模式的启发
  • 专为投资组合演示和现实应用而设计

🧾 鸣谢

📞 支持

如有疑问或支持,请:

  1. 检查 问题
  2. 创建具有详细描述的新问题
  3. 通过GitHub联系维护人员

______________________________________________________________________

🔧 IT大师助理 -通过实用的IT解决方案展示专业的AI开发技能。

目录标签

目录标签

安全Python实时搜索云服务AI聊天机器人本地部署IT支持网络安全

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP