智能上下文代理工具

AI Context Agent是一个基于MCP协议的智能代理工具,专门解决AI对话中token限制导致的上下文丢失问题,提供智能上下文检索、多模型联动和流式对话支持。

  • by 1314mjf521
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 1314mjf521/AI-MCP

使用说明

AI Context Agent - 智能上下文代理工具

项目简介

AI Context Agent是一个基于MCP(Model Context Protocol)协议的智能代理工具,专门解决AI对话中token限制导致的上下文丢失问题。通过智能上下文检索、多模型联动和流式对话支持,为开发者提供连贯的AI交互体验。

核心特性

🔍 智能上下文检索

  • 基于MCP协议的上下文存储和检索
  • 向量数据库支持的语义搜索
  • 智能上下文筛选和相关性排序
  • 自动上下文分块和token管理

🤖 多模型联动

  • 支持多个AI模型的统一管理
  • 智能模型路由和负载均衡
  • 自动故障转移和降级策略
  • OpenAI兼容的API接口

🌊 流式对话支持

  • Server-Sent Events (SSE) 流式响应
  • 实时对话体验
  • 断线重连和错误恢复
  • 流式响应缓冲优化

🔧 多平台集成

  • VSCode插件支持
  • Kiro工具原生集成
  • Dify平台连接器
  • 完整的SDK封装

⚙️ 灵活配置

  • YAML配置文件支持
  • 环境变量配置
  • 热重载配置更新
  • 自定义模型服务器

快速开始

环境要求

  • Python 3.8+
  • Redis (可选,用于缓存)
  • SQLite (默认数据库)

安装

# 克隆项目
git clone https://github.com/your-username/ai-context-agent.git
cd ai-context-agent

# 快速设置开发环境(推荐)
python scripts/setup_dev_env.py

# 或手动安装依赖
python scripts/check_dependencies.py --setup

开发环境设置

快速设置(推荐)

# 一键设置完整开发环境
python scripts/setup_dev_env.py

手动设置

# 检查并安装所有依赖
python scripts/check_dependencies.py --setup

# 验证项目结构
python scripts/verify_project_structure.py

# 安装pre-commit钩子(如果已安装pre-commit)
pre-commit install

任务执行前检查

# 检查特定任务的依赖
python scripts/run_task.py --task-type config --check-deps

# 运行测试
python scripts/run_task.py --run-tests tests/unit/

# 代码质量检查
python scripts/run_task.py --quality-check

基础配置

  1. 复制配置模板:
cp config/config.example.yaml config/config.yaml
  1. 编辑配置文件,设置你的模型服务器信息:
models:
  providers:
    - name: "gpustack"
      base_url: "http://your-gpustack-server:28080/v1"
      api_key: "your-api-key"  # 可选
      models:
        - name: "qwen3-vl-235b-a22b-thinking"
          max_tokens: 4096

启动服务

# 启动主服务
python -m src.main

# 或使用开发模式
python -m src.main --dev

SDK使用示例

Python SDK

from ai_context_agent import AIContextAgent

# 初始化客户端
agent = AIContextAgent(config_path="config/config.yaml")

# 创建对话会话
session_id = agent.create_session()

# 发起流式对话
async for chunk in agent.chat("你好,请帮我分析这个项目", session_id=session_id):
    print(chunk, end="", flush=True)

# 获取会话上下文
context = await agent.get_context(session_id)
print(f"会话包含 {len(context)} 个上下文片段")

REST API

# 创建会话
curl -X POST http://localhost:8000/api/v1/sessions

# 发起对话
curl -X POST http://localhost:8000/api/v1/chat \
  -H "Content-Type: application/json" \
  -d '{
    "message": "你好",
    "session_id": "your-session-id",
    "stream": true
  }'

集成指南

VSCode插件集成

  1. 安装插件:在VSCode扩展市场搜索"AI Context Agent"
  2. 配置服务器地址:在设置中配置本地服务器URL
  3. 使用快捷键:Ctrl+Shift+A 开启AI对话

Kiro工具集成

{
  "mcpServers": {
    "ai-context-agent": {
      "command": "python",
      "args": ["-m", "src.mcp_server"],
      "env": {
        "CONFIG_PATH": "./config/config.yaml"
      }
    }
  }
}

Dify平台集成

  1. 在Dify中添加自定义连接器
  2. 配置Webhook URL:http://your-server:8000/api/v1/dify/webhook
  3. 设置认证信息和参数映射

开发指南

项目结构

ai-context-agent/
├── src/                    # 源代码
│   ├── core/              # 核心组件
│   ├── api/               # API接口
│   ├── integrations/      # 平台集成
│   └── utils/             # 工具函数
├── tests/                 # 测试文件
│   ├── unit/             # 单元测试
│   ├── integration/      # 集成测试
│   └── e2e/              # 端到端测试
├── config/               # 配置文件
├── docs/                 # 文档
├── progress/             # 开发进度记录
└── scripts/              # 工具脚本

开发环境设置

# 安装开发依赖
pip install -r requirements-dev.txt

# 设置pre-commit钩子
pre-commit install

# 运行测试
pytest tests/

# 代码格式化
black src/ tests/
isort src/ tests/

贡献指南

  1. Fork项目并创建特性分支
  2. 编写代码和测试
  3. 确保所有测试通过
  4. 提交Pull Request

配置参考

完整配置示例

server:
  host: "0.0.0.0"
  port: 8000
  debug: false

mcp:
  auto_create_server: true
  server_config:
    host: "localhost"
    port: 8001
  context_retention_days: 30

models:
  default: "qwen3-vl-235b-a22b-thinking"
  providers:
    - name: "gpustack"
      base_url: "http://223.111.254.154:28080/v1"
      api_key: "${GPUSTACK_API_KEY}"
      models:
        - name: "qwen3-vl-235b-a22b-thinking"
          max_tokens: 4096
          supports_streaming: true

database:
  vector_db:
    type: "chroma"
    path: "./data/vector_db"
  relational_db:
    type: "sqlite"
    path: "./data/app.db"

logging:
  level: "INFO"
  file: "./logs/app.log"
  max_size: "100MB"
  backup_count: 5

API文档

详细的API文档请访问:http://localhost:8000/docs(服务启动后)

许可证

本项目采用MIT许可证 - 查看 LICENSE 文件了解详情

支持与反馈

更新日志

v0.1.0 (开发中)

  • 初始版本发布
  • MCP协议支持
  • 多模型联动
  • 基础SDK实现

注意: 本项目目前处于开发阶段,API可能会发生变化。建议在生产环境使用前进行充分测试。