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

news2025/6/3 16:01:53

#工作记录

一、基础工具与环境

  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.coloradmin.cn/o/2395480.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

海康工业相机SDK二次开发(VS+QT+海康SDK+C++)

前言 工业相机在现代制造和工业自动化中扮演了至关重要的角色,尤其是在高精度、高速度检测中。海康威视工业相机以其性能稳定、图像质量高、兼容性强而受到广泛青睐。特别是搞机器视觉的小伙伴们跟海康打交道肯定不在少数,笔者在平常项目中跟海康相关人…

深度学习|pytorch基本运算-乘除法和幂运算

【1】引言 前序学习进程中,已经对pytorch张量数据的生成和广播做了详细探究,文章链接为: 深度学习|pytorch基本运算-CSDN博客 深度学习|pytorch基本运算-广播失效-CSDN博客 上述探索的内容还止步于张量的加减法,在此基础上&am…

4.2.4 Spark SQL 数据写入模式

在本节实战中,我们详细探讨了Spark SQL中数据写入的四种模式:ErrorIfExists、Append、Overwrite和Ignore。通过具体案例,我们演示了如何使用mode()方法结合SaveMode枚举类来控制数据写入行为。我们首先读取了一个JSON文件生成DataFrame&#…

论文笔记: Urban Region Embedding via Multi-View Contrastive Prediction

AAAI 2024 1 INTRO 之前基于多视图的region embedding工作大多遵循相同的模式 单独的单视图表示多视图融合 但这种方法存在明显的局限性:忽略了不同视图之间的信息一致性 一个区域的多个视图所携带的信息是高度相关的,因此它们的表示应该是一致的如果能…

初学者如何微调大模型?从0到1详解

本文将手把手带你从0到1,详细解析初学者如何微调大模型,让你也能驾驭这些强大的AI工具。 1. 什么是大模型微调? 想象一下,预训练大模型就像一位博览群书但缺乏专业知识的通才。它掌握了海量的通用知识,但可能无法完美…

西瓜书第十一章——降维与度量学习

文章目录 降维与度量学习k近邻学习原理头歌实战-numpy实现KNNsklearn实现KNN 降维——多维缩放(Multidimensional Scaling, MDS,MDS)提出背景与原理重述1.**提出背景**2.**数学建模与原理推导**3.**关键推导步骤** Principal Component Analy…

Portainer安装指南:多节点监控的docker管理面板-家庭云计算专家

背景 Portainer 是一个轻量级且功能强大的容器管理面板,专为 Docker 和 Kubernetes 环境设计。它通过直观的 Web 界面简化了容器的部署、管理和监控,即使是非技术用户也能轻松上手。Portainer 支持多节点管理,允许用户从一个中央控制台管理多…

vscode实用配置

前端开发安装插件: 1.可以更好看的显示文件图标 2.用户快速打开文件 使用步骤:在html文件下右键点击 open with live server 即可 刷力扣: 安装这个插件 还需要安装node.js即可

React 项目中封装 Excel 导入导出组件:技术分享与实践

文章目录 前言一、为什么需要封装 Excel 组件?二、技术选型三、核心实现1. 安装依赖2. 封装Excel导出3. 封装导入组件 (UploadExcel) 总结 前言 在 React 项目中,处理 Excel 文件的导入和导出是常见的业务需求。无论是导出报表数…

【2025CCF中国开源大会】RISC-V 开源生态的挑战与机遇分论坛重磅来袭!共探开源芯片未来

点击蓝字 关注我们 CCF Opensource Development Committee 开源浪潮正从软件席卷硬件领域,RISC-V作为全球瞩目的开源芯片架构,正在重塑计算生态的版图!相较于成熟的x86与ARM,RISC-V生态虽处爆发初期,却蕴藏着无限可能。…

python完成批量复制Excel文件并根据另一个Excel文件中的名称重命名

import openpyxl import shutil import os # 原始文件路径 original_file "C:/Users/Administrator/Desktop/事业联考面试名单/郑州.xlsx" # 读取包含名称的Excel文件 # 修改为您的文件名 wb openpyxl.load_workbook( "C:/Users/Administrator/Desktop/事…

Vue-2-前端框架Vue基础入门之二

文章目录 1 计算属性1.1 计算属性简介1.2 计算属性示例 2 侦听器2.1 简单的侦听器2.2 深度监听2.3 监听对象单个属性 3 vue-cli3.1 工程化的Vue项目3.2 Vue项目的运行流程 4 vue组件4.1 Vue组件的三个部分4.1.1 template4.1.2 script4.1.3 style 4.2 组件之间的关系4.2.1 使用组…

CPT208 Human-Centric Computing 人机交互 Pt.7 交互和交互界面

文章目录 1. 界面隐喻(Interface metaphors)1.1 界面隐喻的应用方式1.2 界面隐喻的优缺点 2. 交互类型2.1 Instructing(指令式交互)2.2 Conversing(对话式交互)2.3 Manipulating(操作式交互&…

[网页五子棋][匹配模块]前后端交互接口(消息推送机制)、客户端开发(匹配页面、匹配功能)

让多个用户,在游戏大厅中能够进行匹配,系统会把实力相近的两个玩家凑成一桌,进行对战 约定前后端交互接口 消息推送机制 匹配这样的功能,也是依赖消息推送机制的 玩家 1 点击开始匹配按钮,就会告诉服务器&#xff1…

【数据分析】Matplotlib+Pandas+Seaborn绘图

【数据分析】MatplotlibPandasSeaborn绘图 (一)Matplotlib绘图1.1 matplotlib绘图方式1: 状态接口1.2 matplotlib绘图方式2: 面向对象1.3 通过安斯科姆数据集, 说明可视化的重要性1.4 MatPlotlib绘图-单变量-直方图1.5 MatPlotlib绘图-双变量-散点图1.6 …

NLP学习路线图(十五):TF-IDF(词频-逆文档频率)

在自然语言处理(NLP)的浩瀚宇宙中,TF-IDF(词频-逆文档频率) 犹如一颗恒星,虽古老却依然璀璨。当ChatGPT、BERT等大模型光芒四射时,TF-IDF作为传统方法的代表,其简洁性、高效性与可解…

[Redis] Redis命令在Pycharm中的使用

初次学习,如有错误还请指正 目录 String命令 Hash命令 List命令 set命令 SortedSet命令 连接pycharm的过程见:[Redis] 在Linux中安装Redis并连接桌面客户端或Pycharm-CSDN博客 redis命令的使用见:[Redis] Redis命令(1&#xf…

openpnp - 给M4x0.7mm的直油嘴加油的工具选择

文章目录 openpnp - 给M4x0.7mm的直油嘴加油的工具选择概述如果换上带卡口的M4x0.7直油嘴END openpnp - 给M4x0.7mm的直油嘴加油的工具选择 概述 X导轨用了一个HG15的滑块 滑块上的注油口的黄油嘴是M4x0.7mm的直油嘴。 外表面是6边形的柱子,没有可以卡住加油嘴工…

EasyExcel复杂Excel导出

效果图展示 1、引入依赖 <!-- easyExcel --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>4.0.2</version> </dependency>2、实体类 import com.alibaba.excel.annotatio…

1,QT的编译教程

目录 整体流程: 1,新建project文件 2,编写源代码 3,打开QT的命令行窗口 4,生成工程文件(QT_demo.pro) 5,生成Make file 6,编译工程 7,运行编译好的可执行文件 整体流程: 1,新建project文件 新建文本文件,后缀改为.cpp 2,编写源代码