项目简介

Timestep AI 是一个为大型语言模型(LLM)应用设计的生产级AI代理平台。它通过利用 Model Context Protocol (MCP) 实现强大的工具执行能力和多代理协调,并提供实时流式响应、对话追踪、代理切换等高级功能。其核心是一个基于Deno和Supabase Edge Functions构建的MCP服务器,专门负责托管和执行各类工具,为LLM客户端提供丰富上下文。

主要功能点

  • MCP工具执行: 通过MCP协议,服务器托管并提供多种工具供LLM调用。目前内置了“天气查询” ('get_weather') 工具,可以获取实时天气数据;以及“思考” ('think') 工具,用于代理的内部推理。这些工具可轻松扩展,以满足更多业务需求。
  • 多AI代理支持: 平台支持创建和管理具有专业能力的多个AI代理,例如通用型“个人助理”和专注于天气查询的“天气助理”。代理之间能够无缝切换,协同完成复杂任务。
  • 实时流式对话: 提供流畅的实时消息流传输,LLM的响应内容会逐字呈现,大大提升了用户体验。
  • 会话管理: 全面支持对话线程的创建、列表、更新和删除,确保LLM会话的持久化和可管理性。
  • 匿名认证: 允许用户无需注册登录即可立即开始使用,提供了便捷且无障碍的初次体验。
  • 可观测性追踪: 详细记录了每一次代理互动、工具调用和LLM响应,方便开发者追踪和分析代理的工作流程。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/Timestep-AI/timestep-ai
    cd timestep-ai
  2. 安装依赖:
    npm install
  3. 配置环境变量: 复制示例环境变量文件,并根据您的Supabase项目配置进行修改:
    cp .env.example .env.local
    编辑 '.env.local' 文件,填入您的Supabase项目URL和匿名密钥:
    VITE_SUPABASE_URL=http://127.0.0.1:54321
    VITE_SUPABASE_ANON_KEY=your-local-anon-key-from-supabase-start
  4. 配置Supabase Edge Function密钥: 复制Supabase配置示例文件,并填入AI服务所需的API密钥:
    cp supabase/config.toml.example supabase/config.toml
    编辑 'supabase/config.toml' 文件,填入您的OpenAI API Key和Hugging Face token(可选):
    [edge_runtime.secrets]
    HF_TOKEN = "your-huggingface-token" # 可选
    OPENAI_API_KEY = "your-openai-api-key"
    重要提示: 'supabase/config.toml' 已被 '.gitignore' 忽略,请勿将其提交到版本控制系统。
  5. 启动本地Supabase服务: 这将启动一个本地的Supabase实例,包括PostgreSQL数据库和Edge Functions运行时。请记下输出中的 'anon key' 和 'API URL',并更新您的 '.env.local' 文件。
    npx supabase start
  6. 运行数据库迁移: 此步骤将创建所有必要的数据库表(如用户、追踪、响应、会话、MCP服务器等)。
    npx supabase db reset
  7. 启动开发服务器(前端): 这将启动React前端应用。
    npm run dev
    应用将在 'http://localhost:5173' 可用。
  8. 启动Supabase Edge Functions(后端MCP服务器和代理逻辑):另一个终端中运行此命令,这将启动后端Edge Functions,其中包含MCP服务器 ('mcp-env' 函数) 和代理协调逻辑 ('agents' 函数)。
    npx supabase functions serve

服务器配置

MCP服务器作为Supabase Edge Function部署,其HTTP/SSE接口地址为: 在本地开发环境下:'http://127.0.0.1:54321/functions/v1/mcp-env/mcp' 在部署到Supabase云平台后:'https://<your-supabase-project-ref>.supabase.co/functions/v1/mcp-env/mcp'

MCP客户端可以使用以下JSON格式的配置信息连接到此MCP服务器:

{
  "name": "Timestep AI MCP Server",
  "command": "https://<your-supabase-project-ref>.supabase.co/functions/v1/mcp-env/mcp",
  "args": [],
  "protocol": "json-rpc-http",
  "auth": {
    "type": "bearer_token",
    "token_env_var": "SUPABASE_ACCESS_TOKEN"
  }
}

配置参数注释:

  • 'name': MCP服务器的名称,用于客户端标识和显示。
  • 'command': MCP服务器的HTTP/SSE接口的完整URL。在实际部署中,请替换 '<your-supabase-project-ref>' 为您的Supabase项目ID。
  • 'args': 启动MCP服务器的额外命令行参数列表,对于HTTP/SSE服务器通常为空数组 '[]'。
  • 'protocol': 客户端与MCP服务器通信所使用的协议,此处为 'json-rpc-http',表示通过HTTP/HTTPS协议传输JSON-RPC消息。
  • 'auth': 认证配置。
    • 'type': 认证类型,此处为 'bearer_token',表示使用Bearer令牌进行认证。
    • 'token_env_var': 指定从客户端运行环境的哪个环境变量中获取Bearer令牌。例如,'SUPABASE_ACCESS_TOKEN' 应包含有效的Supabase JWT访问令牌,用于身份验证和行级安全(RLS)。

基本使用方法

  1. 确保您已完成上述所有安装和启动步骤,并且前端开发服务器和Supabase Edge Functions都在运行。
  2. 在您的Web浏览器中打开 'http://localhost:5173'。
  3. 应用将自动创建一个匿名用户会话。
  4. 在聊天界面中,您可以选择不同的AI代理。尝试选择“Weather Assistant”并向它提问,例如:“What's the weather like in London?”,观察其如何调用 'get_weather' 工具并返回实时天气信息。
  5. 您也可以选择“Personal Assistant”与它进行通用对话,它会利用 'think' 工具进行内部推理。

信息

分类

AI与计算