微信扫码
添加专属顾问
我要投稿
开源版Manus Suna本地部署指南,手把手教你搭建强大AI代理平台。 核心内容: 1. Suna核心组件配置详解(Supabase、Redis等) 2. 分步骤安装流程与常见问题解决 3. 可选集成项与高级功能配置指南
部署流程包含:
git clone https://github.com/kortix-ai/suna.gitcd sunaconda create --name suna python==3.12python setup.py # 运行设置向导
Step 1/18: Choose Setup Method==================================================ℹ️ You can start Suna using either Docker Compose or by manually starting the services.How would you like to set up Suna?[1] Docker Compose (recommended, starts all services automatically)[2] Manual (requires installing dependencies and running services manually)这里我输入2 选择了手动Enter your choice (1 or 2): 2
Step 2/18: Checking Requirements==================================================✅ git is installed.✅ uv is installed.✅ node is installed.✅ npm is installed.✅ docker is installed.ℹ️ Checking if Docker is running...✅ Docker is running.ℹ️ Verifying project structure...✅ Suna repository detected.
Step 3/18: Collecting Supabase Information==================================================ℹ️ You'll need a Supabase project. Visit https://supabase.com/dashboard/projects to create one.ℹ️ In your project settings, go to 'API' to find the required information.Press Enter to continue once you have your project details...Enter your Supabase Project URL (e.g., https://xyz.supabase.co):Enter your Supabase anon key: eyJhbGciOiJIUzI1NiIsMqivvR-6oEnter your Supabase service role key: eyJhbG✅ Supabase information saved.:
image: kortix/suna:0.1.2,当你运行的时候需要看下终端提示的是哪个版本 例如 image: kortix/suna:0.1.3 或者 image: kortix/suna:0.1.4等
Step 4/18: Collecting Daytona Information==================================================ℹ️ Suna uses Daytona for sandboxing. Visit https://app.daytona.io/ to create an account.ℹ️ Then, generate an API key from the 'Keys' menu.Press Enter to continue once you have your API key...Enter your Daytona API key:✅ Daytona information saved.⚠️ IMPORTANT: You must create a Suna snapshot in Daytona for it to work properly.ℹ️ Visit https://app.daytona.io/dashboard/snapshots to create a snapshot.ℹ️ Create a snapshot with these exact settings:ℹ️ - Name: kortix/suna:0.1.2ℹ️ - Snapshot name: kortix/suna:0.1.2ℹ️ - Entrypoint: /usr/bin/supervisord -n -c /etc/supervisor/conf.d/supervisord.confPress Enter to continue once you have created the snapshot..
Step 5/18: Collecting LLM API Keys==================================================ℹ️ Suna requires at least one LLM provider. Supported: OpenAI, Anthropic, Google Gemini, OpenRouter.Select LLM providers to configure (e.g., 1,3):[1] OpenAI[2] Anthropic[3] Google Gemini[4] OpenRouterSelect providers: 4Enter your Openrouter API key: sk-✅ LLM keys saved. Default model: openrouter/google/gemini-2.5-pro
Step 6/18: Configure AI-Powered Code Editing (Optional)==================================================ℹ️ Suna uses Morph for fast, intelligent code editing.ℹ️ This is optional but highly recommended for the best experience.ℹ️ An OpenRouter API key is already configured. It can be used as a fallback for code editing if you don't provide a Morpph key.Do you want to add a Morph API key now? (y/n): yℹ️ Great! Please get your API key from: https://morphllm.com/api-keysEnter your Morph API key (or press Enter to skip): sk-cunVSOB
登录https://tavily.comStep 7/18: Collecting Search and Scraping API Keys==================================================ℹ️ Suna uses Tavily for search and Firecrawl for web scraping.ℹ️ Get a Tavily key at https://tavily.com and a Firecrawl key at https://firecrawl.devPress Enter to continue once you have your keys...Enter your Tavily API key: tvly-HbTgMNEnter your Firecrawl API key: fc-943ce5bAre you self-hosting Firecrawl? (y/N): n✅ Search and scraping keys saved.
Step 8/18: Collecting RapidAPI Key (Optional)==================================================ℹ️ A RapidAPI key enables extra tools like LinkedIn scraping.ℹ️ Get a key at https://rapidapi.com/. You can skip this and add it later.Enter your RapidAPI key (or press Enter to skip): ••••✅ RapidAPI key saved.Step 9/18: Collecting Smithery API Key (Optional)==================================================ℹ️ A Smithery API key is only required for custom Agents and workflows.ℹ️ Get a key at https://smithery.ai/. You can skip this and add it later.Enter your Smithery API key (or press Enter to skip):ℹ️ Skipping Smithery API key.
Step 10/18: Collecting QStash Configuration==================================================ℹ️ QStash is required for Suna's background job processing and scheduling.ℹ️ QStash enables workflows, automated tasks, and webhook handling.ℹ️ Get your credentials at https://console.upstash.com/qstashPress Enter to continue once you have your QStash credentials...Enter your QStash token: eyJVc2VySUQiM5LTQ2YjY5ODNlZDMiLCJQYXNzd29yZCI6ImNkYWNlN2JiM2MwMDRiZTM5ZTVjMTcyNDc1NWJmMTRjIn0=Enter your QStash current signing key: sig_gaWf9HEnter your QStash next signing key: siMfZ1✅ QStash configuration saved.Step 11/18: Collecting MCP Configuration==================================================ℹ️ Generating a secure encryption key for MCP credentials...✅ MCP encryption key generated.✅ MCP configuration saved.
Step 12/18: Collecting Pipedream Configuration (Optional)==================================================ℹ️ Pipedream enables workflow automation and MCP integrations.ℹ️ Create a Pipedream Connect project at https://pipedream.com/connect to get your credentials.ℹ️ You can skip this step and configure Pipedream later.Do you want to configure Pipedream integration? (y/N): yEnter your Pipedream Project ID (or press Enter to skip): proj_ELsEnter your Pipedream Client ID: OI42XYMJC07GO7yEnter your Pipedream Client Secret: 0ER2bmZEnter your Pipedream Environment (development/production): [development]:✅ Pipedream configuration saved.
Step 13/18: Collecting Slack Configuration (Optional)==================================================ℹ️ Slack integration enables communication and notifications.ℹ️ Create a Slack app at https://api.slack.com/apps to get your credentials.ℹ️ You can skip this step and configure Slack later.Do you want to configure Slack integration? (y/N): yEnter your Slack Client ID (or press Enter to skip): 92910Enter your Slack Client Secret: 8d39627185aa608bf9Enter your Slack Redirect URI: [http://localhost:3000/api/integrations/slack/callback]:✅ Slack configuration saved.
Step 14/18: Collecting Webhook Configuration==================================================ℹ️ Webhook base URL is required for workflows to receive callbacks.ℹ️ This must be a publicly accessible URL where Suna can receive webhooks.ℹ️ For local development, you can use services like ngrok or localtunnel.Enter your webhook base URL (e.g., https://yourdomain.com): https://e5c1ddf177a9.ngrok-free.app✅ Webhook configuration saved.
Step 16/18: Setting up Supabase Database==================================================ℹ️ This step will link your project to Supabase and push database migrations.ℹ️ You can skip this if you've already set up your database or prefer to do it manually.Do you want to skip the database setup? (Y/n): y
# Login to Supabase CLIsupabase login# Link to your project (find your project reference in the Supabase dashboard)supabase link --project-ref your_project_reference_id# Push database migrationssupabase db push
Step 17/18: Installing Dependencies==================================================ℹ️ Installing frontend dependencies with npm...added 954 packages, and audited 955 packages in 48s283 packages are looking for fundingrun `npm fund` for details1 moderate severity vulnerabilityTo address all issues (including breaking changes), run:npm audit fix --forceRun `npm audit` for details.✅ Frontend dependencies installed.ℹ️ Installing backend dependencies with uv...ℹ️ Creating virtual environment...Using CPython 3.12.10Creating virtual environment at: .venvActivate with: .venv\Scripts\activate✅ Virtual environment created.Resolved 154 packages in 3ms░░░░░░░░░░░░░░░░░░░░ [0/151] Installing wheels...warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.If the cache and target directories are on different filesystems, hardlinking may not be supported.If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.Installed 151 packages in 7.57s+ aioboto3==14.3.0+ aiobotocore==2.22.0+ aiofiles==24.1.0+ aiohappyeyeballs==2.6.1+ aiohttp==3.12.0+ aiohttp-retry==2.9.1+ aioitertools==0.12.0+ aiosignal==1.3.2+ altair==4.2.2+ annotated-types==0.7.0+ anyio==4.9.0+ apscheduler==3.11.0+ asyncio==3.4.3+ attrs==25.3.0+ automat==25.4.16+ backoff==2.2.1+ boto3==1.37.3+ botocore==1.37.3+ certifi==2024.2.2+ cffi==1.17.1+ chardet==5.2.0+ charset-normalizer==3.4.2+ click==8.1.7+ colorama==0.4.6+ constantly==23.10.4+ croniter==6.0.0+ cryptography==45.0.4+ daytona-api-client==0.21.0+ daytona-api-client-async==0.21.0+ daytona-sdk==0.21.0+ deprecated==1.2.18+ deprecation==2.1.0+ distro==1.9.0+ dnspython==2.7.0+ dramatiq==1.18.0+ e2b==1.5.1+ e2b-code-interpreter==1.2.0+ email-validator==2.0.0+ entrypoints==0.4+ environs==9.5.0+ et-xmlfile==2.0.0+ exa-py==1.9.1+ fastapi==0.115.12+ filelock==3.18.0+ frozenlist==1.7.0+ fsspec==2025.5.1+ gotrue==2.12.3+ gunicorn==23.0.0+ h11==0.16.0+ h2==4.2.0+ hpack==4.1.0+ httpcore==1.0.9+ httpx==0.28.0+ httpx-sse==0.4.0+ huggingface-hub==0.33.0+ hyperframe==6.1.0+ hyperlink==21.0.0+ idna==3.10+ importlib-metadata==8.7.0+ incremental==24.7.2+ iniconfig==2.1.0+ jinja2==3.1.6+ jiter==0.10.0+ jmespath==1.0.1+ jsonschema==4.24.0+ jsonschema-specifications==2025.4.1+ langfuse==2.60.5+ litellm==1.72.2+ lxml==6.0.0+ mailtrap==2.0.1+ markupsafe==3.0.2+ marshmallow==3.26.1+ mcp==1.9.4+ multidict==6.4.4+ nest-asyncio==1.6.0+ nodeenv==1.9.1+ numpy==2.3.0+ openai==1.90.0+ openpyxl==3.1.2+ packaging==24.1+ pandas==2.3.0+ pika==1.3.2+ pillow==11.3.0+ pluggy==1.6.0+ postgrest==1.1.1+ prisma==0.15.0+ prometheus-client==0.21.1+ prompt-toolkit==3.0.36+ propcache==0.3.2+ protobuf==5.29.5+ pycparser==2.22+ pycryptodomex==3.23.0+ pydantic==2.11.7+ pydantic-core==2.33.2+ pydantic-settings==2.9.1+ pyjwt==2.10.1+ pypdf2==3.0.1+ pytesseract==0.3.13+ pytest==8.3.3+ pytest-asyncio==0.24.0+ pytest-mock==3.14.1+ python-dateutil==2.9.0.post0+ python-docx==1.1.0+ python-dotenv==1.0.1+ python-multipart==0.0.20+ python-ripgrep==0.0.6+ pytz==2025.2+ pyyaml==6.0.1+ qstash==3.0.0+ questionary==2.0.1+ realtime==2.6.0+ redis==5.2.1+ referencing==0.36.2+ regex==2024.11.6+ requests==2.32.3+ rpds-py==0.25.1+ s3transfer==0.11.3+ sentry-sdk==2.29.1+ setuptools==75.3.0+ six==1.17.0+ sniffio==1.3.1+ sse-starlette==2.3.6+ starlette==0.46.2+ storage3==0.12.0+ strenum==0.4.15+ stripe==12.0.1+ structlog==25.4.0+ supabase==2.17.0+ supafunc==0.10.1+ tavily-python==0.5.4+ tiktoken==0.9.0+ tokenizers==0.21.1+ toml==0.10.2+ tomlkit==0.13.3+ toolz==1.0.0+ tqdm==4.67.1+ twisted==25.5.0+ typing-extensions==4.14.0+ typing-inspection==0.4.1+ tzdata==2025.2+ tzlocal==5.3.1+ upstash-redis==1.3.0+ urllib3==2.4.0+ uvicorn==0.27.1+ vncdotool==1.2.0+ wcwidth==0.2.13+ websockets==14.2+ wrapt==1.17.2+ yarl==1.20.1+ zipp==3.23.0+ zope-interface==7.2✅ Backend dependencies and package installed.Step 18/18: Starting Suna==================================================ℹ️ All configurations are complete. Manual start is required.✨ Suna Setup Complete! ✨ℹ️ Suna is configured to use openrouter/google/gemini-2.5-pro as the default LLM.ℹ️ Delete the .setup_progress file to reset the setup.ℹ️ To start Suna, you need to run these commands in separate terminals:1. Start Infrastructure (in project root):docker compose up redis rabbitmq -d2. Start Frontend (in a new terminal):cd frontend && npm run dev3. Start Backend (in a new terminal):cd backend && uv run api.py4. Start Background Worker (in a new terminal):cd backend && uv run dramatiq run_agent_backgroundOnce all services are running, access Suna at: http://localhost:3000
先安装scoop
PS C:\Users\Administrator> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -ForcePS C:\Users\Administrator> irm scoop.201704.xyz -outfile 'install.ps1'PS C:\Users\Administrator> .\install.ps1 -ScoopDir 'E:\Scoop' -ScoopGlobalDir 'E:\GlobalScoopApps' -RunAsAdmin
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-11-04
百灵大模型 Ling 和 Ring 系列首发支持 SGLang-JAX 推理引擎
2025-11-04
首个国产开源AI原生后端,不再写后端,AI就是全栈工程师。
2025-11-04
DeepCode: 用多智能体架构重新定义代码生成
2025-11-04
AI Infra:POINTS-Reader,腾讯开源的文档解析和OCR工具
2025-11-03
震惊,Github开源,真正让程序员效率提升 90%的AI辅助工具来啦!!!
2025-11-03
Dify迎来最强开源对手!这个本地Agent内置微调+超细权限控制~
2025-11-03
我们大胆做了个决定,大会所有音乐bgm由AI生成,这部分预算可以省了!|Jinqiu Scan
2025-11-03
LongCat-Flash-Omni 正式发布并开源:开启全模态实时交互时代
            2025-08-20
2025-09-07
2025-08-20
2025-08-26
2025-08-22
2025-09-06
2025-10-20
2025-08-22
2025-09-08
2025-08-12
2025-11-03
2025-10-29
2025-10-28
2025-10-13
2025-09-29
2025-09-17
2025-09-09
2025-09-08