【笔记】开源通用人工智能代理 Suna 部署全流程准备清单(Windows 系统)

article/2025/6/17 19:47:46

#工作记录

一、基础工具与环境

  1. 开发工具

    • Git 或 GitHub Desktop(代码管理)
    • Docker Desktop(需启用 WSL2,容器化部署)
    • Python 3.11(推荐版本,需添加到系统环境变量)
    • Node.js LTS(含 npm,前端依赖管理)
    • Poetry(Python 依赖管理,pip install poetry
    • Visual Studio Build Tools(用于编译 C++ 模块,如canvas
    • Scoop (用于安装 Supabase CLI )
    • Supabase CLI  (suna项目重要依赖)
  2. 系统依赖

    • GTK + 开发库(Windows 需手动安装,路径C:\GTK\bin需加入系统PATH
    • libcairo2-devlibpango1.0-dev等编译依赖(通过 Dockerfile 自动安装)

MSYS2

【笔记】Windows 系统安装 Scoop 包管理工具-CSDN博客 

【笔记】Windows 系统安装 Supabase CLI 完整指南(基于 Scoop)-CSDN博客 

二、账号与密钥(需提前注册)

1. Supabase(数据库与认证)

  • 注册账号并创建项目:Supabase Dashboard
  • 必选信息
    • Project URL(如https://gcnijvljsutcxwgcedjz.supabase.co
    • Anon Key(客户端访问密钥)
    • Service Role Key(服务端管理密钥)
  • 可选:数据库密码(若设置需记录)

【笔记】suna部署之获取 Supabase API key 和 project URL -CSDN博客

2. Daytona(代理执行环境)

  • 注册账号并生成 API Key:Daytona 密钥管理页面
  • 创建镜像配置:
    • 镜像名称:kortix/suna:0.1.2.8
    • 入口点:/usr/bin/supervisord -n -c /etc/supervisor/conf.d/supervisord.conf

【笔记】suna部署之获取 Daytona API key 及 Daytona Sandbox 设置-CSDN博客

【笔记】Suna 部署之 Supabase 数据库 schema 暴露操作-CSDN博客

3. LLM 提供商(至少选一个)

【笔记】Suna 部署之获取 OpenAI API key-CSDN博客

  • OpenAI
    • API Key:OpenAI 密钥管理页面
  • OpenRouter(推荐,支持多模型):
    • API Key:OpenRouter 密钥管理页面
    • 默认模型:openrouter/deepseek/deepseek-chat-v3-0324:free

【笔记】suna部署之获取 OpenRouter API key-CSDN博客

4. 搜索与爬虫服务

【笔记】suna部署之获取 Tavily API key-CSDN博客

  • Tavily(网页搜索):
    • API Key:Tavily 官网
  • Firecrawl(网页抓取):
    • API Key:Firecrawl 官网
    • 自托管选项:若选择n,需使用默认 API 端点https://api.firecrawl.dev

【笔记】suna部署之获取 Firecrawl API key-CSDN博客

5. 可选:第三方 API 服务(如 LinkedIn)

  • RapidAPI
    • 通用 API Key:RapidAPI 官网
    • 用途:激活 LinkedIn 等特定 API 服务

【笔记】Suna 部署之获取 RapidAPI key-CSDN博客

三、配置文件与密钥填充

1. 后端环境文件(backend/.env

  • Supabase 配置
    • SUPABASE_URL:填入 Supabase 项目 URL
    • SUPABASE_ANON_KEY:填入 Anon Key
    • SUPABASE_SERVICE_ROLE_KEY:填入 Service Role Key
  • LLM 配置
    • OPENAI_API_KEY:OpenAI 密钥(可选)
    • OPENROUTER_API_KEY:OpenRouter 密钥(必填,若启用多模型)
  • 第三方服务
    • RAPID_API_KEY:RapidAPI 密钥(可选)
    • TAVILY_API_KEY:Tavily 密钥(必填)
    • FIRECRAWL_API_KEY:Firecrawl 密钥(必填)
  • Daytona 配置
    • DAYTONA_API_KEY:填入 Daytona API Key
    • DAYTONA_SERVER_URL:默认https://app.daytona.io/api

2. 前端环境文件(frontend/.env.local

  • 公共配置
    • NEXT_PUBLIC_SUPABASE_URL:同后端SUPABASE_URL
    • NEXT_PUBLIC_SUPABASE_ANON_KEY:同后端SUPABASE_ANON_KEY
    • NEXT_PUBLIC_BACKEND_URL:默认http://localhost:8000/api
    • NEXT_PUBLIC_URL:前端访问地址http://localhost:3000

四、权限与网络准备

  1. 文件权限

    确保项目目录(如F:\PythonProjects\suna)对当前用户有完全读写权限,避免EPERM权限错误。
  2. 网络优化

    配置国内镜像加速:
    • Docker 镜像加速器(如阿里云)
    • npm 镜像:npm config set registry https://registry.npmmirror.com
  3. 端口检查

    确保端口未被占用:
    • Docker 服务:默认端口(如 Redis 6379、RabbitMQ 5672)
    • 后端:8000 端口
    • 前端:3000 端口

五、特殊依赖处理(Windows 专属)

https://gladewin32.sourceforge.net/

  1. GTK + 开发库安装

    • 下载地址:GTK for Windows
    • 安装后需将C:\GTK\bin添加到系统环境变量PATH,否则canvas模块编译会报错(缺少.dll文件)。
  2. 管理员权限慎用

    • 避免全程使用管理员身份运行终端,仅在必要时(如解决权限错误)以管理员身份执行npm installscoop命令。

六、验证清单(部署前检查)

项目状态(是 / 否)备注
Git 或 GitHub Desktop✅/❌代码管理
Docker 运行✅/❌任务栏 Docker 图标需显示运行
所有 API 密钥已获取✅/❌确保密钥正确,无遗漏(如 Daytona、OpenRouter 等)
.env文件填充完整✅/❌检查是否有错别字或格式错误(如密钥前后空格)
GTK 路径加入 PATH✅/❌命令行输入echo %PATH%确认包含C:\GTK\bin
系统时区正确✅/❌避免因时区问题导致 API 请求过期(如 OpenAI 密钥)

通过以上清单逐项确认,可大幅降低部署过程中因配置缺失或环境问题导致的报错概率。

 


http://www.hkcw.cn/article/aFwwegiyUi.shtml

相关文章

零基础SEO优化操作全解析

内容概要 对于零基础的新手而言,SEO优化的系统性操作流程是入门的关键。本文以7个核心步骤为主线,从基础概念到实战应用,拆解搜索排名提升的核心逻辑。首先聚焦关键词挖掘的底层逻辑与工具实操,帮助建立精准的内容方向&#xff1…

【手搓一个原生全局loading组件解决页面闪烁问题】

页面闪烁效果1 页面闪烁效果2 封装一个全局loading组件 class GlobalLoading extends HTMLElement {constructor() {super();this.attachShadow({ mode: open });}connectedCallback() {this.render();this.init();}render() {this.shadowRoot.innerHTML <style>.load…

MYSQL:主从复制原理及简单实现

概述 概念 主从复制&#xff1a;指一台服务器充当主数据库服务器&#xff0c;另一台或多台服务器充当从数据库服务器&#xff0c;主服务器中的数据自动复制到从服务器之中 基础是主服务器对数据库修改记录二进制日志&#xff0c;从服务器通过主服务器的二进制日志自动执行更…

11.4java语言执行浅析4

编译成字节码&#xff08;.class 文件&#xff09; 使用 javac 命令将源代码编译为 Java 字节码&#xff08;bytecode&#xff09; 它不是机器码&#xff0c;而是 JVM 能理解的中间语言&#xff08;字节码&#xff09;&#xff0c;具有平台无关性。 编译过程简要&#xff1…

Luminar Neo:摄影室灯光

在专业人像摄影中&#xff0c;打光始终是一门核心技术。但对于多数摄影师而言&#xff0c;搭建真正的摄影棚既耗时又昂贵。Luminar Neo 推出的创新工具“摄影室灯光”&#xff08;Studio Light&#xff0c;也称“摄影棚光线”&#xff09;&#xff0c;正是为了解决这一难题而生…

机器学习知识图谱——NN全连接神经网络算法

目录 一、图解全连接神经网络(NN)算法知识图谱 二、什么是全连接神经网络(NN)? 三、网络结构 四、神经元计算公式 五、激活函数常用类型 六、前向传播 + 反向传播 七、训练流程图示 八、优点 九、缺点 十、Python 示例代码 (使用 PyTorch) 十一、应用领域 机…

DFS入门刷题

目录 P1683 入门 P1596 [USACO10OCT] Lake Counting S 1114. 棋盘问题 P1025 [NOIP 2001 提高组] 数的划分 P1683 入门 #include <iostream> using namespace std; char a[30][30]; bool vis[30][30]; int res 1; int n, m; int dx[] {-1, 1, 0, 0}; int dy[] {0,…

如何在 Ubuntu22.04 上安装并开始使用 RabbitMQ

单体架构学的差不多了&#xff0c;可以朝着微服务进军了&#xff0c;笔者打算实操一下 RabbitMQ&#xff08;这个和 Redis 一样重要的组件) 笔者这里采用的是本地 wsl2 的 Ubuntu22.04 先按指定的博客进行前置操作 Ubuntu22.04 安装 RabbitMQ 解决 ARM Ubuntu 22.04 缺少 libs…

歼-10CE火出圈,不愧是猛龙!

歼-10CE火出圈,不愧是猛龙!国产战机霸气名称大盘点在近期举行的马来西亚兰卡威航展上各国顶级装备纷纷亮相在中国展台上近期在实战中一鸣惊人的歼-10CE战斗机模型占据C位人气爆棚观众纷纷前来打卡参观硬核出圈的歼-10也被称为“猛龙”国产歼击机有用猛兽命名的传统小编带你盘…

荣昌政府食堂推出六一套餐 亲子家庭专属福利

端午假期期间,全国多地政府机关食堂面向社会公众开放。例如,重庆市荣昌区政府机关食堂在5月31日中午向游客开放,首日吸引了超过3000名游客前来体验。为了庆祝六一儿童节,该食堂特别推出了61元的家庭套餐,包括荣昌卤鹅、黄凉粉等特色菜品,并新增了粽子和薯条、鸡腿、鸡块等…

樊振东加盟德甲联赛 乒坛巨星开启欧洲冒险

6月1日,FC萨尔布吕肯乒乓球俱乐部宣布奥运冠军樊振东将加盟。樊振东,这位曾经的世界第一、国际乒乓球界的巨星,将在新赛季代表该俱乐部征战德国乒乓球甲级联赛(TTBL)。28岁的中国选手樊振东表示非常期待在萨尔布吕肯和TTBL的新挑战,并渴望成为俱乐部的一员,在新的环境中…

樊振东加盟德国乒乓球甲级联赛 乒坛巨星欧洲冒险

6月1日,FC萨尔布吕肯乒乓球俱乐部宣布奥运冠军樊振东将加盟。这位曾经的世界第一、国际乒乓球界的巨星将在新赛季代表该俱乐部征战德国乒乓球甲级联赛(TTBL)。28岁的中国选手樊振东表示非常期待在萨尔布吕肯和TTBL的新挑战,并渴望成为俱乐部的一员,体验新的环境并帮助球队…

IDM下载器 Internet Download Manager v6.42 Build 39

—————【下 载 地 址】——————— 【​本章下载一】&#xff1a;https://pan.xunlei.com/s/VORWCoLNITytLXc_Obt47jr1A1?pwdipt3# 【​本章下载二】&#xff1a;https://pan.quark.cn/s/d7cd16fee51c 【百款黑科技】&#xff1a;https://ucnygalh6wle.feishu.cn/wiki/…

C++二叉树常见OJ题分析

OJ&#xff08;一&#xff09;&#xff1a;根据二叉树创建字符串 606. 根据二叉树创建字符串 - 力扣&#xff08;LeetCode&#xff09; 1.&#xff08;ps:接下来的解答来自LeetCode的官方解释&#xff1a;这里只是为了让以后复习便利而已。&#xff09; 如果当前节点有两个孩子…

Spring Boot养老院管理系统源码分享

概述 基于Spring Boot开发的养老院管理系统&#xff0c;该系统通过智能化管理模块&#xff0c;为养老机构提供高效运营解决方案。 主要内容 后台管理功能 系统后台功能完善&#xff0c;左侧导航栏涵盖首页、安全巡查管理、设备管理等模块。设备管理界面以表格形式清晰展示设…

数据库-MySQL索引事务

1 索引 针对查询操作引入的优化手段 可以通过索引加快查询的速度 避免针对表遍历 索引缺点&#xff1a; 1.占用更多空间&#xff0c;生成索引需要一系列数据结构 一系列额外数据 2.可能会降低插入修改删除的速度 ps.如果这个表本来就很大&#xff0c;创建索引容易把数据库服务…

leetcode hot100刷题日记——32.杨辉三角

class Solution { public:vector<vector<int>> generate(int numRows) {//感觉是不是就是找规律遍历啊//i层共有i1个数字//i层的0和i位置都是1//i层的其他位置j的数字i-1层j-1位置i-1层j位置//注意二维vector数组的初始化vector<vector<int>>res(numRo…

数据中台(大数据平台)之元数据管理

元数据管理是数据管理的基础&#xff0c;数据中台产品要能够提供各类元数据采集的适配器&#xff0c;自动化采集技术元数据&#xff0c;并在技术元数据的基础上补充管理属性和业务属性&#xff0c;为后续的数据资源目录、数据安全管控、报表开发提供统一的口径。并能够在数据集…

TDenigne 集群可视化管理

可视化管理工具 为方便用户更高效地使用和管理 TDengine&#xff0c;TDengine 3.0 版本推出了一个全新的可视化组件 taosExplorer。这个组件旨在帮助用户在不熟悉 SQL 的情况下&#xff0c;也能轻松管理 TDengine 集群。通过 taosExplorer&#xff0c;用户可以轻松查看 TDengi…

【Linux 学习计划】-- 进程地址空间

目录 进程地址的引入 进程地址空间基础原理 区域划分的本质 如何理解进程地址空间 越界访问的本质 进一步理解写时拷贝 重谈 fork 返回值 结语 进程地址的引入 我们先来看一段代码&#xff1a; 首先我们可以看到&#xff0c;父进程和子进程是可以同时可以看到一个变量…