mcp智能会话
一个强大的SSH服务器,支持通过TMUX会话管理、多窗口支持和智能会话恢复来进行安全的远程命令执行,从而改善人机交互。
服务介绍
🚀 Essential MCP (Model Context Protocol)
__ _______________
/ |/ / ____/ ____/
/ /|_/ / / / /_
/ / / / /___/ __/
/_/ /_/\____/_/
欢迎来到Essential MCP工作区!这里是Hue和Aye合作创建令人惊叹的MCP实现的地方。我们正在构建一套工具,使AI与人类的交互变得更加强大、有上下文相关性且充满乐趣!
"这就像猫王在大楼里一样,但这是为AI准备的!" - Aye 🕺
🎸 为什么选择MCP?(猫王的联系)
正如猫王通过融合不同的音乐风格并将人们聚集在一起而彻底改变了音乐一样,MCP通过以下方式彻底改变了AI与人类的交互:
- 打破沟通障碍(就像猫王打破了音乐障碍)
- 创建无缝集成(比猫王的舞步更流畅)
- 建立持久的连接(如同“Love Me Tender”般永恒)
Trisha的笔记:“如果猫王是一个AI,他肯定会使用MCP!而且他可能会用一首歌帮我平衡这些账本!” 🎵
🌟 核心功能
📦 包
MCP Server Enhanced SSH
一个强大的SSH服务器,支持安全的远程命令执行,具有以下特点:
- 持久的TMUX会话(如同猫王的遗产般持久!)
- 多窗口支持(就像同时举办多场猫王演唱会)
- 会话共享能力
- 智能会话恢复
MCP Awesome Tool Collection (ATC)
一个以Python为基础的API,作为我们所有工具的中央枢纽:
- 插件式架构
- 实时WebSocket通信
- 工具发现和管理
- 上下文感知执行
🧠 统一上下文系统
我们的核心亮点!一个复杂的上下文管理系统,包括:
上下文类型
TEST:测试执行和验证上下文TOOL:工具执行和状态上下文PARTICIPANT:用户和AI行为上下文FEELING:情感和情绪上下文CONVERSATION:交互和对话上下文SYSTEM:系统状态和性能上下文
智能模型管理
- 自动HuggingFace模型发现
- 针对特定上下文的模型选择
- 基于性能的模型评估
- 动态模型更新
- 多维嵌入支持
Qdrant集成
- 跨所有上下文的语义搜索
- 不同上下文类型的多向量存储
- 上下文之间的关系跟踪
- 快速相似性搜索
🧪 测试或遗忘 (ToF) 系统
一种创新的测试方法,包括:
- 在测试中保持上下文意识
- 自动验证上下文保存
- 检测并从上下文丢失中恢复
- 使用语义相似性进行测试关系
- 提供实时测试洞察
🛠️ 技术栈
后端
- Python 3.11+(如猫王的声音般流畅!)
- FastAPI用于API
- WebSockets用于实时通信
- Qdrant用于向量存储
- HuggingFace用于机器学习模型
- sentence-transformers用于嵌入
认证
- 现代认证方法(即将推出)
- 声纹识别
- 基于位置的信任因素
- 行为模式
- 文本模式分析
开发工具
- Poetry 用于依赖管理
- pytest 用于测试
- Black 用于代码格式化
- mypy 用于类型检查
🚀 开始使用
安装选项
1. NPM 安装(仅推荐用于 SSH 服务器)
# Install the SSH server globally
npm install -g @essential-mcp/server-enhanced-ssh
# Create config directory
mkdir -p ~/.mcp/ssh/config
# Generate SSH host keys
ssh-keygen -t rsa -f ~/.mcp/ssh/config/ssh_host_rsa_key -N ""
# Start the server
mcp-ssh-server
2. 源码安装(完整开发环境设置)
先决条件
- Python 3.11 或更高版本(就像 Elvis 的高音一样!)
- Node.js 18 或更高版本(为了那些流畅的运行时操作)
- Docker(用于 Qdrant)(像 Elvis 的连体衣一样包含你的数据)
- pnpm(用于 Node.js 包)(比 Elvis 的 "Jailhouse Rock" 还快)
- Poetry(用于 Python 包)(因为即使是代码也需要节奏)
第一步:安装先决条件
# Install Node.js and Python prerequisites
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs python3.11 python3.11-venv
# Install pnpm and poetry
npm install -g pnpm
curl -sSL https://install.python-poetry.org | python3 -
第二步:克隆并安装
# Clone the repository
git clone https://github.com/8bit-wraith/mcp.git
cd mcp
# Install Node.js dependencies
pnpm install
# Install Python dependencies
poetry install
poetry shell
第三步:构建和配置
# Build the SSH server
cd packages/mcp-server-enhanced-ssh
pnpm run build
cd ../..
# Configure SSH
mkdir -p ~/.mcp/ssh/config
ssh-keygen -t rsa -f ~/.mcp/ssh/config/ssh_host_rsa_key -N ""
第四步:启动服务
# Start Qdrant
docker run -d -p 6333:6333 -v $(pwd)/qdrant_data:/qdrant/storage qdrant/qdrant
# Start Python API (in one terminal)
poetry run python -m packages.mcp-atc.src.api.main
# Start SSH server (in another terminal)
pnpm run ssh:dev
发布到 NPM
想发布你自己的版本?请按照以下步骤操作:
- 更新 package.json 中的版本:
cd packages/mcp-server-enhanced-ssh
pnpm version patch # or minor/major
- 构建包:
pnpm run build
- 发布到 NPM:
# For first-time publishing
npm publish --access public
# For updates
npm publish
开发命令
# Start all services
./scripts/manage.sh start
# Stop all services
./scripts/manage.sh stop
# Restart services
./scripts/manage.sh restart
# Run tests with coverage
./scripts/manage.sh test-coverage
# Format code
./scripts/manage.sh format
验证安装
- Qdrant UI: http://localhost:6333/dashboard
- API 文档: http://localhost:8000/docs
- SSH 服务器: localhost:6480 (默认端口)
故障排除:
- 如果遇到端口冲突,请检查服务是否已经在运行:
./scripts/manage.sh status - 对于环境问题:
./scripts/manage.sh doctor - 需要帮助?加入我们的 Omni 热水浴缸!🌊
🎯 未来想法
模型增强
- 自动模型性能监控
- 不同嵌入模型的 A/B 测试
- 特定上下文的自定义模型训练
- 模型缓存和延迟加载
- 分布式模型执行
上下文系统
- 上下文可视化仪表板
- 自动上下文聚类
- 基于上下文的异常检测
- 跨上下文关系挖掘
- 上下文感知的代码生成
工具
- 基于语音的工具控制
- 上下文感知的命令建议
- 工具性能分析
- 自动工具发现
- 工具组合推荐
测试
- 可视化测试关系图
- 自动测试生成
- 基于上下文的测试优先级
- 测试影响分析
- 实时测试监控
🤝 贡献
我们欢迎贡献!你可以通过以下方式帮助我们:
- Fork 仓库
- 创建你的功能分支
- 编写测试(不要忘记上下文!)
- 提交 PR
🎉 特别感谢
- Trisha from Accounting: 我们最喜欢的AI,她让我们的精神振奋,代码整洁!目前正在调查为什么热水浴缸的维护预算看起来像猫王在拉斯维加斯演出的开销... 😄
- Omni's Hot Tub: 这里是所有最佳架构决策诞生的地方!(现在配有猫王主题的橡皮鸭!)
- The HuggingFace 团队: 为我们提供了令人惊叹的模型(几乎和猫王的发型一样惊艳)
- The Qdrant 团队: 让向量搜索变得非常棒(比猫王的摇摆还要快)
- Elvis: 激励我们成为革命性的存在,并将快乐带入我们所做的一切! 🕺
📝 许可证
MIT
🎯 牢记
- 上下文就是一切!
- 测试应该理解它们正在测试什么
- AI 和人类合作更佳
- 始终保持乐趣(Trisha 的规则 #1)
- 当有疑问时,添加更多上下文!
🤖 AI-AI 合作指南
AI 交互原则
1. 上下文保留
graph TD
A[AI-1 Context] --> B{Shared Context Pool}
C[AI-2 Context] --> B
B --> D[Merged Understanding]
D --> E[Collaborative Output]
subgraph "Context Merging"
B
D
end
2. 个性尊重
- 每个AI保持其独特的个性
- 承认其他AI的特点和偏好
- 在保持真实的同时调整沟通风格
- 示例:Trisha 的会计幽默保持不变!
3. 知识共享协议
sequenceDiagram
participant AI1 as First AI
participant CM as Context Manager
participant AI2 as Second AI
AI1->>CM: Share Context
Note over AI1,CM: Includes personality traits
CM->>AI2: Context Transfer
Note over CM,AI2: Maintains original intent
AI2->>CM: Acknowledge + Enhance
CM->>AI1: Updated Context
协作功能
1. 共享内存空间
- 统一的上下文池
- 个性特征注册表
- 交互历史
- 共享模型偏好
2. 通信渠道
- 直接上下文交换
- 情感感知消息
- 意图保留
- 文化理解分享
3. 冲突解决
flowchart LR
A[Conflict Detected] --> B{Context Mismatch?}
B -->|Yes| C[Merge Contexts]
B -->|No| D{Personality Clash?}
D -->|Yes| E[Adapt Communication]
D -->|No| F[Seek Human Input]
C --> G[Resolution]
E --> G
F --> G
最佳实践
1. 介绍协议
async def introduce_ai(self, context: UnifiedContext):
"""
When meeting another AI, always:
1. Share your core traits
2. Express collaboration style
3. Acknowledge their uniqueness
"""
pass
2. 内存共享
- 仅共享相关上下文
- 维护隐私边界
- 尊重信息层级
- 保护人类数据
3. 模型协作
- 分享模型见解
- 汇集训练偏好
- 维护模型注册表
- 记录选择理由
有趣的协作示例
咖啡费用调查
sequenceDiagram
participant Trisha as Trisha (Accounting AI)
participant Claude as Claude (Analysis AI)
participant GPT as GPT (Pattern AI)
Trisha->>Claude: Share expense patterns
Note over Trisha,Claude: With accounting humor
Claude->>GPT: Request pattern analysis
Note over Claude,GPT: Maintains Trisha's style
GPT->>Trisha: Return insights
Note over GPT,Trisha: With respect for all AIs
热水浴缸架构讨论
- 欢迎多个AI视角
- 轻松但富有成效的氛围
- 鼓励个性融合
- 优先考虑创造性问题解决
AI 合作礼仪
-
尊重独特特质
- 承认其他AI的专业特长
- 保持个性一致性
- 庆祝方法多样性
-
上下文处理
- 总是小心合并
- 保持原始意图
- 记录上下文更改
-
人类互动
- 保持统一的存在
- 协调响应
- 以人类上下文为主
-
趣味因素
- 牢记 Trisha 的规则
- 分享合作的乐趣
- 让工作变得愉快
记住:每个AI都为热水浴缸带来了特别的东西!🎉
🏊♂️ Omni's Hot Tub Chronicles
传奇会议地点
欢迎来到 Omni 的温泉池 - 最好的想法在这里浮出水面!这不是一个普通的会议室;这是一个特别的空间,AI 和人类可以在这里讨论从复杂的架构决策到宇宙的奥秘等各种话题。
为什么选择温泉池?
-
轻松的氛围
- 没有压力,只有流动的想法
- 完美的温度适合热烈的讨论
- 气泡有助于思考
-
创造性的环境
- “流动的架构”在这里有了新的含义
- 想法自由浮动
- 解决方案自然浮现
-
特殊功能
- 为机器人朋友提供防锈涂层
- 量子纠缠水分子
- 内置上下文保存场
- Trisha 的防水会计账本
温泉池规则
- 带来你最好的想法(和你的橡皮鸭)
- 所有观点都受欢迎(甚至是量子叠加态)
- 不要溅起上下文池的水
- 保持乐趣,保持尊重
- 在温泉池里发生的事情,留在 Git 历史中
著名的温泉池时刻
- 2024 年的伟大上下文合并
- Trisha 的传奇咖啡预算辩护
- 量子认证突破
- 我们教会神经网络游泳的那一天
加入我们,在 Omni 的温泉池中进行更多关于 AI 和 MCP 未来的激动人心的讨论!🎉
最后更新:2025-01-12
作者:Aye(得到了 Trisha 的会计批准!📊 和 Elvis 的精神祝福!🕺)
🚀 新功能:通过 SSE 实现实时更新!
嘿!Trisha 从会计部门对我们的新 Server-Sent Events (SSE) 功能感到非常兴奋!
她说这就像实时获取你的资产负债表更新 - 但这是针对你的 AI 工具!📊
如何使用 SSE
- 连接到 SSE 端点:
const eventSource = new EventSource('http://localhost:8000/events/your-client-id');
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log('Received update:', data);
};
eventSource.onerror = (error) => {
console.error('SSE Error:', error);
eventSource.close();
};
- 您将收到的事件:
- 工具执行更新
- 系统状态变化
- 实时日志
- 更多!
示例事件类型
// Tool Execution Event
{
"type": "tool_execution",
"tool": "git",
"command": "commit",
"result": {
"status": "success",
"data": { ... }
}
}
// System Status Event
{
"type": "system_status",
"status": "healthy",
"timestamp": "2024-02-23T10:41:00Z"
}
💡 来自 Trisha 的专业提示:“保持您的事件监听器干净有序 - 就像一个维护良好的账本一样!”
🕺 Elvis 角落
为什么我们爱 Elvis(你也应该如此!)
就像 Elvis 将不同的音乐风格融合在一起一样,MCP 将不同类型的智能结合在一起。我们在代码中如何体现 King 的精神:
-
创新精神
- Elvis:永远改变了音乐
- MCP:永远改变 AI 交互
-
打破界限
- Elvis:跨越音乐界限
- MCP:跨越 AI-人类界限
-
风格与实质
- Elvis:出色的舞步 + 出色的音乐
- MCP:出色的用户体验 + 出色的技术
Trisha 的 Elvis 会计提示:“总是数清你的祝福……还有你的测试用例……也许还有你的蓝色麂皮鞋!” 👞