### Next Steps for Bytebot AI LLMs Users Source: https://docs.bytebot.ai/api-reference/introduction This section directs users on how to proceed after reviewing the documentation. It highlights the 'Quick Start' guide for getting APIs running and 'Task Examples' for practical application demonstrations, encouraging users to explore these resources to accelerate their development. ```markdown ## Next Steps [Quick Start](/quickstart) [Task Examples](/guides/task-creation) ``` -------------------------------- ### Quick API Examples Source: https://docs.bytebot.ai/quickstart Examples of how to interact with your AI agent via its API, including creating tasks and direct desktop control. ```javascript const create_task_via_api = async (task_name) => { const response = await fetch('/api/tasks', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: task_name }) }); return await response.json(); }; const direct_desktop_control = async (command) => { const response = await fetch('/api/desktop/control', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ command: command }) }); return await response.json(); }; ``` -------------------------------- ### Bytebot API: Computer Use Examples Source: https://docs.bytebot.ai/quickstart Code examples for common automation scenarios using the Bytebot API. These examples demonstrate practical applications of the computer control functionalities. ```json { "description": "Code examples for common automation scenarios using the Bytebot API", "href": "/api-reference/computer-use/examples" } ``` -------------------------------- ### Self-host with Docker Compose Source: https://docs.bytebot.ai/quickstart Self-host your AI desktop agent using Docker Compose. This section covers prerequisites, a 2-minute setup guide, and details on what you have deployed. -------------------------------- ### Next.js Metadata Configuration Source: https://docs.bytebot.ai/quickstart This snippet shows a partial Next.js metadata configuration, likely for SEO purposes. It includes the page title and a meta description, indicating the page is about a 'Quick Start' guide for the Bytebot AI Desktop Agent. ```javascript self.__next_f.push([1,"1a:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Quick Start - Bytebot - Self-Hosted AI Desktop Agent\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Get your AI desktop agent running in 2 minutes\"}],[\"$\",\"meta ``` -------------------------------- ### Bytebot AI LLMs - Simple Task Examples Source: https://docs.bytebot.ai/quickstart This snippet demonstrates simple tasks that can be performed using Bytebot AI LLMs, including taking a screenshot, opening a browser, creating a file, and checking system information. ```jsx _jsx(Card, {\n title: \"Take a Screenshot\",\n icon: \"camera\",\n children: _jsx(_components.p, {\n children: \"“Take a screenshot of the desktop”\"\n })\n }), \n _jsx(Card, {\n title: \"Open Browser\",\n icon: \"globe\",\n children: _jsx(_components.p, {\n children: \"“Open Firefox and go to google.com”\"\n })\n }), \n _jsx(Card, {\n title: \"Create File\",\n icon: \"file\",\n children: _jsx(_components.p, {\n children: \"“Create a text file called ‘hello.txt’ with today’s date”\"\n })\n }), \n _jsx(Card, {\n title: \"System Info\",\n icon: \"info\",\n children: _jsx(_components.p, {\n children: \"“Check the system information and tell me the OS version”\"\n })\n }) ``` -------------------------------- ### Docker Compose for LLM Proxy Setup Source: https://docs.bytebot.ai/quickstart This snippet shows how to use Docker Compose to set up a proxy for multiple LLM providers. It assumes a docker-compose.proxy.yml file is available and starts the services in detached mode. ```bash docker-compose -f docker/docker-compose.proxy.yml up -d ``` -------------------------------- ### API: Create a Simple Task Source: https://docs.bytebot.ai/quickstart This example demonstrates how to create a simple task using the Bytebot AI LLMs API. It shows the basic structure of the API request. ```shellscript # Simple task ``` -------------------------------- ### One-click Deploy on Railway Source: https://docs.bytebot.ai/quickstart Deploy your AI desktop agent easily using the one-click deployment option on Railway. This method is the simplest way to get started. -------------------------------- ### Bytebot AI LLMs - Advanced Task Examples Source: https://docs.bytebot.ai/quickstart This snippet showcases advanced tasks executable with Bytebot AI LLMs, such as web research, data extraction from websites, document processing, and multi-step workflows. ```jsx _jsx(Card, {\n title: \"Web Research\",\n icon: \"magnifying-glass\",\n children: _jsx(_components.p, {\n children: \"“Find the top 5 AI news stories today and create a summary document”\"\n })\n }), \n _jsx(Card, {\n title: \"Data Extraction\",\n icon: \"table\",\n children: _jsx(_components.p, {\n children: \"“Go to hacker news, find the top 10 stories, and save them to a CSV file”\"\n })\n }), \n _jsx(Card, {\n title: \"Document Processing\",\n icon: \"file-pdf\",\n children: _jsx(_components.p, {\n children: \"“Upload a PDF contract and extract all payment terms and deadlines”\"\n })\n }), \n _jsx(Card, {\n title: \"Multi-Step Workflow\",\n icon: \"layers\",\n children: _jsx(_components.p, {\n children: \"“Search for ‘machine learning tutorials’, open the first 3 results in tabs, and take screenshots of each”\"\n })\n }) ``` -------------------------------- ### Bytebot AI LLMs - Simple Tasks Source: https://docs.bytebot.ai/quickstart This snippet provides examples of simple tasks that can be performed with Bytebot AI LLMs to test its basic functionalities. These include taking a screenshot, opening a browser to a specific website, creating a file with content, and retrieving system information. ```English Take a Screenshot “Take a screenshot of the desktop” Open Browser “Open Firefox and go to google.com” Create File “Create a text file called ‘hello.txt’ with today’s date” System Info “Check the system information and tell me the OS version” ``` -------------------------------- ### Deploy Bytebot on Railway Source: https://docs.bytebot.ai/quickstart Provides instructions for a one-click deployment of Bytebot on Railway. It guides users through visiting the template, adding necessary API keys (Anthropic, OpenAI, or Gemini), and initiating the deployment process. ```Markdown Click the Deploy Now button in the Bytebot template on Railway. Enter either your ANTHROPIC_API_KEY, OPENAI_API_KEY, or GEMINI_API_KEY for the bytebot-agent resource. Hit Deploy. Railway will build the stack, wire the services together via private networking ``` -------------------------------- ### Create a Task via API Source: https://docs.bytebot.ai/quickstart This example demonstrates how to create a new task using the Bytebot AI LLMs API. It includes the necessary headers and a JSON payload for the task details. ```shellscript curl -X POST https://api.bytebot.ai/v1/tasks \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{ "name": "My New Task", "description": "This is a task created via the API.", "priority": "high", "dueDate": "2024-12-31T23:59:59Z" }' ``` -------------------------------- ### Access Bytebot Chat Interface Source: https://docs.bytebot.ai/quickstart This section provides the URL to access the Bytebot UI and explains the two primary interaction methods: 'Tasks' for autonomous execution and 'Desktop' for manual control. It also offers example prompts. ```javascript console.log('Navigate to http://localhost:9992 to access the Bytebot UI.'); // Example prompts: // "Open Firefox and search for the weather forecast" // "Take a screenshot of the desktop" // "Create a text file with today’s date" ``` -------------------------------- ### Dockerfile for Custom Tools Source: https://context7_llms An example Dockerfile demonstrating how to extend the Bytebot desktop environment by installing custom tools. It starts from the latest Bytebot desktop image and uses apt-get to install additional software. ```Dockerfile FROM bytebot/desktop:latest RUN apt-get update && apt-get install -y \ your-custom-tools ``` -------------------------------- ### Initialize Next.js App Routing Source: https://docs.bytebot.ai/quickstart This snippet initializes the Next.js application's routing, likely for a multi-tenant setup with dynamic slugs. It specifies the entry point for the application's page routing. ```javascript self.__next_f.push([1,"34:I[4400,[\"3473\",\"static/chunks/891cff7f-2ca7d0df884db9d0.js\",\"1725\",\"static/chunks/d30757c7-de545030e34cf23b.js\",\"8788\",\"static/chunks/271c4271-e47f34f62bcfeead.js\",\"4809\",\"static/chunks/4809-5b0e1c85fce2dc62.js\",\"8226\",\"static/chunks/8226-751d937dc29adf42.js\",\"6320\",\"static/chunks/6320-388cbc2ec9e25c50.js\",\"7417\",\"static/chunks/7417-f80268fa1bfb6ac6.js\",\"5134\",\"static/chunks/5134-dc2c9cf02bd8194b.js\",\"4065\",\"static/chunks/4065-d3c1d2f1fbe57123.js\",\"4796\",\"static/chunks/4796-5a6e886593a594ee.js\",\"6943\",\"static/chunks/6943-71a7172e32e7fef3.js\",\"5494\",\"static/chunks/5494-29106eaf9c9026ca.js\",\"1862\",\"static/chunks/1862-2934ca14f9992c7c.js\",\"7780\",\"static/chunks/7780-c6540c8fefd54afe.js\",\"5974\",\"static/chunks/5974-7e5519bfebea7cb0.js\",\"3972\",\"static/chunks/3972-07c180a4ca9cd021.js\",\"3818\",\"static/chunks/3818-629494d831f6b890.js\",\"7700\",\"static/chunks/7700-78b1760ca63eaaa2.js\",\"9841\",\"static/chunks/app/%255Fsites/%5Bsubdomain%5D/(multitenant)/%5B%5B...slug%5D%5D/page-1af695fca0247ded.js\"]\n",\"TopBar\",1]\n ``` -------------------------------- ### Deploy Bytebot on Railway Source: https://docs.bytebot.ai/guides/password-management A guide to deploying the full Bytebot stack on Railway using the official 1-click template. This method simplifies the setup process for users wanting to quickly get the AI desktop agent running. ```text Comprehensive guide to deploying the full Bytebot stack on Railway using the official 1-click template ``` -------------------------------- ### Bytebot Computer Use API Examples Source: https://docs.bytebot.ai/api-reference/introduction Code examples demonstrating common automation scenarios using the Bytebot API. These examples provide practical implementation guidance. -------------------------------- ### Start Bytebot AI LLMs Agent Source: https://docs.bytebot.ai/quickstart Starts the Bytebot AI LLMs agent and its associated services using Docker Compose. The '-d' flag runs containers in detached mode, and '--build' rebuilds the images before starting. ```shellscript docker-compose -f docker/docker-compose.core.yml up -d --build ``` -------------------------------- ### Start Bytebot Agent with Docker Compose Source: https://docs.bytebot.ai/quickstart Starts the Bytebot agent and its associated services using Docker Compose. It builds the images and runs them in detached mode. ```shellscript docker-compose -f docker/docker-compose.core.yml up -d --build ``` -------------------------------- ### Configure LLM Provider API Keys and Models Source: https://docs.bytebot.ai/quickstart This snippet shows how to set environment variables for API keys and model names for different LLM providers. It includes examples for Anthropic, OpenAI, and Gemini models, with comments indicating default settings. ```shellscript ANTHROPIC_API_KEY="..." GEMINI_API_KEY="..." OPENAI_API_KEY="..." # For Gemini models # Optional: Use specific models ANTHROPIC_MODEL="claude-3-5-sonnet-20241022" # Default OPENAI_MODEL="gpt-4o" GEMINI_MODEL="gemini-1.5-flash" ``` -------------------------------- ### Start Bytebot Agent Stack with Docker Compose Source: https://docs.bytebot.ai/quickstart This command starts the Bytebot agent stack using Docker Compose. It specifies the Docker Compose file and runs the services in detached mode. The stack includes Bytebot Desktop, an AI Agent, a Chat UI, and a PostgreSQL database. ```shellscript docker-compose -f docker/docker-compose.yml up -d ``` -------------------------------- ### Custom Dockerfile Example Source: https://context7_llms A basic Dockerfile example to extend the Bytebot Desktop image, demonstrating how to add custom software. ```dockerfile FROM ghcr.io/bytebot-ai/bytebot-desktop:edge ``` -------------------------------- ### Bytebot Next Steps and Resources Source: https://docs.bytebot.ai/guides/password-management This snippet outlines the next steps for users, including exploring task examples and API integration for programmatic credential management, and highlights the 'Game Changer' aspect of Bytebot with proper password manager setup. ```JavaScript function _createMdxContent(props) {\ const _components = {\ code: "code",\ li: "li",\ ol: "ol",\ p: "p",\ pre: "pre",\ span: "span",\ strong: "strong",\ ul: "ul",\ ..._provideComponents(),\ ...props.components\ }, {Accordion, AccordionGroup, Card, CardGroup, CodeBlock, Heading, Note, Step, Steps, Tab, Tabs} = _components;\ if (!Accordion) _missingMdxReference("Accordion", true);\ if (!AccordionGroup) _missingMdxReference("AccordionGroup", true);\ if (!Card) _missingMdxReference("Card", true);\ if (!CardGroup) _missingMdxReference("CardGroup", true);\ if (!CodeBlock) _missingMdxReference("CodeBlock", true);\ if (!Heading) _missingMdxReference("Heading", true);\ if (!Note) _missingMdxReference("Note", true);\ if (!Step) _missingMdxReference("Step", true);\ if (!Steps) _missingMdxReference("Steps", true);\ if (!Tab) _missingMdxReference("Tab", true);\ if (!Tabs) _missingMdxReference("Tabs", true);\ return _jsxs(_Fragment, {\ children: [\ _jsx(Heading, {\ level: "2",\ id: "next-steps",\ children: "Next Steps"\ }), \"\ \", _jsxs(CardGroup, {\ cols: 2,\ children: [_jsx(Card, {\ title: "Task Examples",\ icon: "list",\ href: "/guides/task-creation",\ children: _jsx(_components.p, {\ children: "See auth in action"\ })\ }), _jsx(Card, {\ title: "API Integration",\ icon: "code",\ href: "/api-reference/introduction",\ children: _jsx(_components.p, {\ children: "Programmatic credential management"\ })\ })]\ }), \"\ \", _jsx(Note, {\ children: _jsxs(_components.p, {\ children: [\ _jsx(_components.strong, {\ children: "Game Changer"\ }), ": With proper password manager setup, Bytebot can handle even the most complex authentication flows automatically. No more manual intervention for 2FA, no more sharing passwords insecurely, and no more authentication bottlenecks in your automation workflows!"\ ]\ })\ }), \"\ \"]\ });\ }\ ``` -------------------------------- ### Troubleshoot Pods Not Starting (Bash) Source: https://docs.bytebot.ai/deployment/helm This command describes a specific pod in the 'bytebot' namespace to help diagnose why it might not be starting. Common issues include insufficient resources or missing API keys. ```Bash kubectl describe pod -n bytebot ``` -------------------------------- ### Run Desktop Container with Docker Compose Source: https://docs.bytebot.ai/quickstart This snippet shows how to run the Bytebot AI LLM desktop container using Docker Compose. It includes commands for pulling a pre-built image and starting the services, as well as instructions for building locally. ```shellscript # Using pre-built image (recommended) docker-compose -f docker/docker-compose.core.yml pull docker-compose -f docker/docker-compose.core.yml up -d ``` -------------------------------- ### Reset Bytebot Environment Source: https://docs.bytebot.ai/quickstart Completely reset the Bytebot environment by stopping all services and removing associated volumes (data). This command ensures a clean start. ```bash docker-compose -f docker/docker-compose.yml down -v ``` -------------------------------- ### Troubleshoot Bytebot Container Issues Source: https://docs.bytebot.ai/quickstart Diagnose common problems with Bytebot containers, such as containers not starting or connection issues to the UI. This involves checking Docker status, logs, and service availability. ```bash # Check Docker status and resources docker info # View logs for container issues docker-compose -f docker/docker-compose.yml logs # Check if all services are running docker-compose -f docker/docker-compose.yml ps # Check API key and agent logs cat docker/.env docker-compose -f docker/docker-compose.yml logs bytebot-agent ``` -------------------------------- ### Configuration Options Source: https://docs.bytebot.ai/quickstart Details on the configuration options available for your AI agent, focusing on environment variables. -------------------------------- ### Enterprise Setup: Service Accounts Source: https://docs.bytebot.ai/guides/password-management This section of the enterprise setup guide details the creation of service accounts for Bytebot. It specifies the format and purpose of these accounts for different domains like banking and HR systems. ```text - bytebot-finance@company.com (banking portals) - bytebot-hr@company.com (HR systems) ``` -------------------------------- ### Managing Your Agent Source: https://docs.bytebot.ai/quickstart Learn how to manage your AI agent, including viewing logs, stopping services, updating to the latest version, and resetting the agent. -------------------------------- ### Configure KeePassXC for Bytebot Source: https://docs.bytebot.ai/guides/password-management Guide for setting up KeePassXC with Bytebot. This involves opening the Desktop tab, installing KeePassXC application if necessary, installing the KeePassXC browser extension in Firefox, configuring browser integration, and loading the KeePass database. ```Steps Open Desktop tab Install KeePassXC application if needed Install KeePassXC browser extension in Firefox Configure browser integration Load your KeePass database ``` -------------------------------- ### Clone and Configure Bytebot AI LLM Source: https://docs.bytebot.ai/quickstart This snippet demonstrates how to clone the Bytebot AI LLM repository from GitHub, navigate into the project directory, and configure the AI provider API key by creating a .env file for Docker. It supports setting API keys for Anthropic, OpenAI, or Google. ```shellscript git clone https://github.com/bytebot-ai/bytebot.git cd bytebot # Configure your AI provider (choose one): echo "ANTHROPIC_API_KEY=your_api_key_here" > docker/.env # For Claude # echo "OPENAI_API_KEY=your_api_key_here" > docker/.env # For GPT # echo "GOOGLE_API_KEY=your_api_key_here" > docker/.env # For Gemini ``` -------------------------------- ### Clone and Configure Bytebot AI Source: https://docs.bytebot.ai/quickstart This snippet shows how to clone the Bytebot AI repository and configure your AI provider's API key by creating a `.env` file. It supports Anthropic, OpenAI, and Google Gemini. ```shellscript git clone https://github.com/bytebot-ai/bytebot.git cd bytebot # Configure your AI provider (choose one): echo "ANTHROPIC_API_KEY=your_api_key_here" > docker/.env # For Claude # echo "OPENAI_API_KEY=your_api_key_here" > docker/.env # For OpenAI # echo "GEMINI_API_KEY=your_api_key_here" > docker/.env # For Gemini ``` -------------------------------- ### Deploy Bytebot on Railway Source: https://docs.bytebot.ai/api-reference/introduction A comprehensive guide to deploying the full Bytebot stack on Railway using the official 1-click template. This deployment method simplifies the setup process for users. -------------------------------- ### Access Bytebot Service Source: https://docs.bytebot.ai/deployment/helm This snippet outlines the steps to access the Bytebot service after installation. It's a crucial part of the setup process to ensure the LLM is reachable. ```shellscript # Access Bytebot # kubectl port-forward service/bytebot 8080:80 ``` -------------------------------- ### Integrate LastPass with Bytebot Source: https://docs.bytebot.ai/guides/password-management Guide for integrating LastPass with Bytebot, which includes installing the LastPass browser extension in Firefox, logging in with an enterprise account, and accepting shared folders for automation credentials. ```Steps Open Desktop tab Launch Firefox Install LastPass extension from Firefox Add-ons Log in with your enterprise account Accept any shared folders for automation credentials ``` -------------------------------- ### Deploy Bytebot on Railway Source: https://docs.bytebot.ai/quickstart This snippet shows how to deploy Bytebot using Railway's one-click deploy feature. It involves visiting the template, adding API keys (Anthropic, OpenAI, or Gemini), and deploying the stack. The process is designed to be quick, with the agent ready in a couple of minutes. ```Markdown [![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/deploy/bytebot?referralCode=L9lKXQ) ``` -------------------------------- ### Deploy Bytebot on Railway Source: https://docs.bytebot.ai/quickstart Provides instructions for a one-click deployment of Bytebot on Railway. Users need to visit the Railway template, enter an API key (ANTHROPIC_API_KEY, OPENAI_API_KEY, or GEMINI_API_KEY), and then click 'Deploy'. Railway handles the build and provides a public URL. ```javascript const {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0]; const {useMDXComponents: _provideComponents} = arguments[0]; function _createMdxContent(props) { const _components = { a: "a", code: "code", img: "img", li: "li", ol: "ol", p: "p", pre: "pre", span: "span", strong: "strong", table: "table", tbody: "tbody", td: "td", th: "th", thead: "thead", tr: "tr", ul: "ul", ..._provideComponents(), ...props.components }, {Accordion, AccordionGroup, Card, CardGroup, CodeBlock, Heading, Note, Step, Steps, Tab, Tabs} = _components; if (!Accordion) _missingMdxReference("Accordion", true); if (!AccordionGroup) _missingMdxReference("AccordionGroup", true); if (!Card) _missingMdxReference("Card", true); if (!CardGroup) _missingMdxReference("CardGroup", true); if (!CodeBlock) _missingMdxReference("CodeBlock", true); if (!Heading) _missingMdxReference("Heading", true); if (!Note) _missingMdxReference("Note", true); if (!Step) _missingMdxReference("Step", true); if (!Steps) _missingMdxReference("Steps", true); if (!Tab) _missingMdxReference("Tab", true); if (!Tabs) _missingMdxReference("Tabs", true); return _jsxs(_Fragment, { children: [_jsx(Heading, { level: "1", id: "choose-your-deployment-method", children: "Choose Your Deployment Method" }), "\n", _jsx(_components.p, { children: "Bytebot can be deployed in several ways depending on your needs:" }), "\n", _jsxs(Tabs, { children: [_jsxs(Tab, { title: "Railway (Easiest)", id: "railway-easiest", children: [_jsx(Heading, { level: "2", id: "%E2%98%81%EF%B8%8F-one-click-deploy-on-railway", children: "☁️ One-click Deploy on Railway" }), _jsx(_components.p, { children: _jsx(_components.a, { href: "https://railway.com/deploy/bytebot?referralCode=L9lKXQ", children: _jsx(_components.img, { src: "https://railway.com/button.svg", alt: "Deploy on Railway" }) }) }), _jsxs(Steps, { children: [_jsx(Step, { title: "Visit the Template", children: _jsx(_components.p, { children: "Click the Deploy Now button in the Bytebot template on Railway." }) }), _jsx(Step, { title: "Add Anthropic Key", children: _jsxs(_components.p, { children: ["Enter either your ", _jsx(_components.code, { children: "ANTHROPIC_API_KEY" }), ", ", _jsx(_components.code, { children: "OPENAI_API_KEY" }), ", or ", _jsx(_components.code, { children: "GEMINI_API_KEY" }), " for the bytebot-agent resource."] }) }), _jsx(Step, { title: "Deploy & Launch", children: _jsxs(_components.p, { children: ["Hit ", _jsx(_components.strong, { children: "Deploy" }), ". Railway will build the stack, wire the services together via private networking and output a public URL for the UI. Your agent should be ready within a couple of minutes!"] }) }), _jsx(Note, { children: _jsxs(_components.p, { children: ["Need more details? See the full ", _jsx("a", { href: "/deployment/railway", children: "Railway deployment guide" }), "."] }) ] }), _jsxs(Tab, { title: "Docker Compose", id: "docker-compose", children: [_jsx(Heading, { level: "2", id: "%F0%9F%90%B3-self-host-wit" })] })] })] }); } ``` -------------------------------- ### Configure Docker Port for Bytebot UI Source: https://docs.bytebot.ai/quickstart This snippet demonstrates how to change the default port for the Bytebot UI in a Docker environment. It guides users to modify the `ports` section in their `docker-compose.yml` file. ```shellscript # Change default ports if needed # Edit docker-compose.yml ports section: # bytebot-ui: # ports: # - "8080:9992" # Change 8080 to your desired port ``` -------------------------------- ### Configure AI Provider API Keys Source: https://docs.bytebot.ai/quickstart Set environment variables to specify your API keys for different AI providers. This allows Bytebot to authenticate and interact with services like Claude, GPT, and Gemini. ```bash # Choose one AI provider: ANTHROPIC_API_KEY=sk-ant-... # For Claude models OPENAI_API_KEY=sk-... # For GPT models GEMINI_API_KEY=... # For Gemini models # Optional: Use specific models ANTHROPIC_MODEL=claude-3-5-sonnet-20241022 # Default OPENAI_MODEL=gpt-4o GEMINI_MODEL=gemini-1.5-flash ``` -------------------------------- ### Set up LiteLLM Proxy for Multi-Provider Support Source: https://docs.bytebot.ai/quickstart Deploy the LiteLLM proxy using Docker Compose to enable the use of multiple LLM providers concurrently. This configuration is provided in a separate Docker Compose file. ```bash # To use multiple LLM providers, use the proxy setup: docker-compose -f docker/docker-compose.proxy.yml up -d # This includes a pre-configured LiteLLM proxy ``` -------------------------------- ### Create Task via Bytebot API Source: https://docs.bytebot.ai/quickstart Create a new task using the Bytebot API. Supports simple task creation with a description and priority, as well as tasks involving file uploads. ```curl # Simple task curl -X POST http://localhost:9991/tasks \ -H "Content-Type: application/json" \ -d '{ "description": "Search for flights from NYC to London next month", "priority": "MEDIUM" }' # Task with file upload curl -X POST http://localhost:9991/tasks \ -F "description=Read this contract and summarize the key terms" \ -F "priority=HIGH" \ -F "[email\u00a0protected]" ``` -------------------------------- ### Configure Mongo Docker Image for IPv6 Source: https://docs.railway.com/guides/private-networking To connect to the official Mongo Docker image over a private network, the container must be started with options to listen on IPv6. This example shows the `docker-entrypoint.sh` command with the `--ipv6` and `--bind_ip` flags. ```bash docker-entrypoint.sh mongod --ipv6 --bind_ip ::,0.0.0.0 ``` -------------------------------- ### Initialize Next.js App with Meta Tags Source: https://docs.bytebot.ai/quickstart This snippet initializes a Next.js application by pushing meta tag configurations to the internal framework. It sets the character set to UTF-8 and configures the viewport for responsive design. ```JavaScript self.__next_f.push([1,"1c:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n18:null\n"]) ``` -------------------------------- ### Manage Multi-Tenant SaaS Platforms with Bytebot Source: https://docs.bytebot.ai/guides/password-management This example shows Bytebot's capability in managing multiple client accounts for multi-tenant SaaS platforms. It outlines the setup for handling numerous client credentials and automating tasks like order exports. ```text Scenario: Managing multiple client accounts Setup: - Credentials for each tenant/client - Organized in password manager by client - Naming convention: client-platform-role Task: "For each client in client_list.txt, log into their Shopify account and export this month's orders" Scales: Handles 100+ accounts seamlessly ``` -------------------------------- ### Deploy Desktop Container with Docker Compose Source: https://docs.bytebot.ai/quickstart Instructions for deploying the Bytebot AI LLM desktop container using Docker Compose. This includes commands to pull pre-built images or build locally. ```shellscript # Using pre-built image (recommended) docker-compose -f docker/docker-compose.core.yml pull docker-compose -f docker/docker-compose.core.yml up -d ``` ```shellscript docker-compose -f docker/docker-compose.core.yml build ``` -------------------------------- ### Control Desktop via Bytebot API Source: https://docs.bytebot.ai/quickstart Interact with the user's desktop directly through the Bytebot API. This includes taking screenshots and typing text into applications. ```curl # Take a screenshot curl -X POST http://localhost:9990/computer-use \ -H "Content-Type: application/json" \ -d '{"action": "screenshot"}' # Type text curl -X POST http://localhost:9990/computer-use \ -H "Content-Type: application/json" \ -d '{"action": "type_text", "text": "Hello, Bytebot!"}' ``` -------------------------------- ### Deploy with Helm Source: https://docs.bytebot.ai/quickstart Deploy your AI desktop agent using Helm, a package manager for Kubernetes. This method is suitable for containerized deployments. -------------------------------- ### Install Bytebot with Helm (Shell) Source: https://docs.bytebot.ai/deployment/helm Install Bytebot using the Helm package manager. This command initiates the installation process for the Bytebot application. ```shellscript helm install bytebot ``` -------------------------------- ### Install MCP-Nest Source: https://github.com/rekog-labs/MCP-Nest This section details how to install the MCP-Nest framework. It typically involves using a package manager like npm or yarn. ```shell npm install @rekog-labs/mcp-nest yarn add @rekog-labs/mcp-nest ``` -------------------------------- ### Traditional RPA Selector Example (XML) Source: https://context7_llms An example of a brittle XML-based selector used in traditional RPA tools, which is prone to breaking with UI changes. ```xml ``` -------------------------------- ### Docker Compose Proxy Configuration Source: https://docs.bytebot.ai/quickstart Shows a Docker Compose configuration file for setting up a proxy for Bytebot. It includes comments explaining the purpose of the configuration, specifically mentioning a pre-configured LiteLLM proxy. ```YAML # This includes a pre-configured LiteLLM proxy docker-compose.proxy.yml up -d ``` -------------------------------- ### Install Additional Packages (Dockerfile) Source: https://context7_llms Installs essential packages like slack-desktop, zoom, and a custom application within a Docker environment using apt-get. ```dockerfile RUN apt-get update && apt-get install -y \ slack-desktop \ zoom \ your-custom-app ``` -------------------------------- ### Configure AI Provider API Keys (Shell) Source: https://docs.bytebot.ai/quickstart Set environment variables for your chosen AI provider's API key. Supported providers include Anthropic (for Claude models), OpenAI (for GPT models), and Google (for Gemini models). Ensure you use a valid API key. ```shellscript # Choose one AI provider: ANTHROPIC_API_KEY=sk-ant-... # For Claude models OPENAI_API_KEY=sk-... # For GPT models GEMINI_API_KEY=... # For Gemini models ``` -------------------------------- ### Bytebot API Error Response Example Source: https://context7_llms An example of a typical JSON error response from the Bytebot API, indicating a 'Not Found' error with a specific message. ```json { "statusCode": 404, "message": "Task with ID task-123 not found", "error": "Not Found" } ``` -------------------------------- ### Check Docker Info and Logs Source: https://docs.bytebot.ai/quickstart This snippet shows how to check Docker information and retrieve logs using docker-compose. It's useful for diagnosing container startup issues. ```shellscript docker info docker-compose -f docker/docker-compose.yml logs ``` -------------------------------- ### Check API Key Configuration Source: https://docs.bytebot.ai/quickstart Displays the contents of the .env file to verify that the API key for the agent is correctly configured. This addresses agent errors or lack of response. ```shellscript cat docker/.env ``` -------------------------------- ### Example Desktop Control with cURL Source: https://docs.bytebot.ai/api-reference/introduction An example demonstrating how to use `curl` to send a POST request to the Desktop API for computer control. It includes setting the Content-Type header to application/json. ```shellscript curl -X POST http://localhost:9990/computer-use \ -H "Content-Type: application/json" \ ``` -------------------------------- ### Install Bytebot with Helm Source: https://docs.bytebot.ai/deployment/helm This command installs the Bytebot application on a Kubernetes cluster using Helm, specifying the namespace and a custom values file. ```bash helm install bytebot ./helm \ --namespace bytebot \ --create-namespace \ -f values.yaml ``` -------------------------------- ### Example Desktop Control (Desktop API) Source: https://docs.bytebot.ai/api-reference/introduction Illustrates how to control the desktop environment using the Bytebot Desktop API. This could involve simulating mouse movements, keyboard inputs, or executing specific desktop actions. ```javascript const axios = require('axios'); async function controlDesktop(action) { const response = await axios.post('YOUR_DESKTOP_API_BASE_URL/control', action, { headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' } }); return response.data; } // Example usage: // controlDesktop({ 'action': 'mouse_move', 'x': 100, 'y': 200 }) // .then(data => console.log(data)) // .catch(error => console.error(error)); // controlDesktop({ 'action': 'key_press', 'key': 'Enter' }) // .then(data => console.log(data)) // .catch(error => console.error(error)); ``` -------------------------------- ### Bytebot API: Unified Computer Actions Source: https://docs.bytebot.ai/quickstart Control all aspects of the desktop environment with a single endpoint. This API allows for programmatic interaction with the computer's interface and functionalities. ```json { "description": "Control all aspects of the desktop environment with a single endpoint", "href": "/api-reference/computer-use/unified-endpoint" } ``` -------------------------------- ### Install Bytebot AI LLMs Package Source: https://github.com/rekog-labs/MCP-Nest Installs the necessary packages for Bytebot AI LLMs, including '@rekog/mcp-nest', '@modelcontextprotocol/sdk', and 'zod'. This command is typically run in a Node.js environment. ```bash npm install @rekog/mcp-nest @modelcontextprotocol/sdk zod@^3 ``` -------------------------------- ### Install @rekog/mcp-nest Source: https://github.com/rekog-labs/MCP-Nest This snippet shows how to install the @rekog/mcp-nest package using npm, which is a NestJS module for exposing AI tools and resources via the Model Context Protocol (MCP). ```bash npm install @rekog/mcp-nest ``` -------------------------------- ### Check API Key Configuration Source: https://docs.bytebot.ai/quickstart This command demonstrates how to check the content of a file, likely containing configuration or API keys, to ensure they are set correctly for agent communication. ```shellscript cat .env ```