项目简介
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响应,方便开发者追踪和分析代理的工作流程。
安装步骤
- 克隆仓库:
git clone https://github.com/Timestep-AI/timestep-ai cd timestep-ai - 安装依赖:
npm install - 配置环境变量:
复制示例环境变量文件,并根据您的Supabase项目配置进行修改:
编辑 '.env.local' 文件,填入您的Supabase项目URL和匿名密钥:cp .env.example .env.localVITE_SUPABASE_URL=http://127.0.0.1:54321 VITE_SUPABASE_ANON_KEY=your-local-anon-key-from-supabase-start - 配置Supabase Edge Function密钥:
复制Supabase配置示例文件,并填入AI服务所需的API密钥:
编辑 'supabase/config.toml' 文件,填入您的OpenAI API Key和Hugging Face token(可选):cp supabase/config.toml.example supabase/config.toml
重要提示: 'supabase/config.toml' 已被 '.gitignore' 忽略,请勿将其提交到版本控制系统。[edge_runtime.secrets] HF_TOKEN = "your-huggingface-token" # 可选 OPENAI_API_KEY = "your-openai-api-key" - 启动本地Supabase服务:
这将启动一个本地的Supabase实例,包括PostgreSQL数据库和Edge Functions运行时。请记下输出中的 'anon key' 和 'API URL',并更新您的 '.env.local' 文件。
npx supabase start - 运行数据库迁移:
此步骤将创建所有必要的数据库表(如用户、追踪、响应、会话、MCP服务器等)。
npx supabase db reset - 启动开发服务器(前端):
这将启动React前端应用。
应用将在 'http://localhost:5173' 可用。npm run dev - 启动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)。
基本使用方法
- 确保您已完成上述所有安装和启动步骤,并且前端开发服务器和Supabase Edge Functions都在运行。
- 在您的Web浏览器中打开 'http://localhost:5173'。
- 应用将自动创建一个匿名用户会话。
- 在聊天界面中,您可以选择不同的AI代理。尝试选择“Weather Assistant”并向它提问,例如:“What's the weather like in London?”,观察其如何调用 'get_weather' 工具并返回实时天气信息。
- 您也可以选择“Personal Assistant”与它进行通用对话,它会利用 'think' 工具进行内部推理。
信息
分类
AI与计算