{
  "data": {
    "a": {
      "slug": "openhands",
      "name": "OpenHands",
      "vendor": "All Hands AI",
      "vendorUrl": "https://openhands.dev",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source coding agent with a self-hosted web interface, local and remote execution, and scheduled or webhook-driven automation.",
      "url": "https://www.anchorterminal.com/tools/openhands",
      "markdownUrl": "https://www.anchorterminal.com/tools/openhands.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openhands.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openhands.json",
      "repo": "https://github.com/OpenHands/OpenHands",
      "license": "MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@openhands/agent-canvas"
        },
        {
          "registry": "pypi",
          "name": "openhands-sdk"
        },
        {
          "registry": "pypi",
          "name": "openhands-agent-server"
        },
        {
          "registry": "oci",
          "name": "ghcr.io/openhands/agent-canvas"
        }
      ],
      "auth": "mixed",
      "authNotes": "Local installs bind to 127.0.0.1 and inject a session key into the page. Public mode (`--public`) needs `LOCAL_BACKEND_API_KEY`, sent as `X-Session-API-Key` on every API call. Model credentials are your own provider keys or an OpenHands LLM key, and OpenHands Cloud has its own sign-in and API keys.",
      "pricing": "freemium",
      "pricingNotes": "Agent Canvas, the SDK and the Agent Server are free and MIT. OpenHands Cloud has a free Individual plan of 10 conversations a day with your own model key or the OpenHands LLM provider, which the docs say bills model calls at provider rates with no markup. Enterprise (SaaS, or self-hosted in your VPC) is priced by sales.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the pricing page or the source (checked 2026-10-01).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 89800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-01"
      },
      "docsUrl": "https://docs.openhands.dev",
      "llmsTxt": "https://docs.openhands.dev/llms.txt",
      "openapi": "https://raw.githubusercontent.com/OpenHands/docs/main/openapi/agent-sdk.json",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "hosted",
        "freemium",
        "python",
        "typescript",
        "docker",
        "openapi",
        "llms-txt",
        "telemetry-default-on",
        "beta"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.8,
        "grade": "BB",
        "agentReady": true,
        "rank": 156,
        "ranked": true,
        "rankOf": 1210,
        "categoryRank": 5,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 85,
          "payments": 60,
          "reliability": 83,
          "schema": 87,
          "security": 66,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -5,
        "negativeNotes": [
          "Current behaviour, checked 2026-10-02. Agent Canvas sends a `canvas_install` event with platform, user agent, referrer and origin to PostHog through OpenHands' proxy at z.openhands.dev on first use, before the consent prompt, opting the client in for that one event. The source comment says the proxy is there to get past ad blockers, the consent prompt's box is ticked by default, and no user-facing doc mentions the early event. Undisclosed telemetry, -3. https://github.com/OpenHands/OpenHands/blob/main/src/services/telemetry.ts",
          "2026-03-23. GHSA-7h8w-hj9j-8rjw (CVE-2026-33718, 7.6 in the advisory, 9.9 at NVD), command injection through the `path` parameter of the git diff endpoint let an authenticated user run commands in the agent sandbox. Fixed in 1.5.0 and published, a little over six months old, -1. https://github.com/OpenHands/OpenHands/security/advisories/GHSA-7h8w-hj9j-8rjw",
          "2026-08-06. CVE-2026-19022 (6.3), command injection in `initialize_repo` in the pull request resolver of OpenHands 0.62.0 and earlier, the V0 line the V1 rewrite replaced. No GitHub advisory found, -1. https://nvd.nist.gov/vuln/detail/CVE-2026-19022"
        ],
        "verdict": "A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server. Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem.",
        "bestFor": "Teams that want to self-host a coding agent with a web UI, per-conversation Docker sandboxes and scheduled or webhook automations, or embed the agent through a Python SDK and REST API.",
        "strengths": [
          "A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server",
          "Typed Python SDK and an Agent Server REST API with an OpenAPI 3.1 spec, plus a TypeScript client",
          "Confirmation policies (always, never, at or above a risk level) with LLM, Invariant and GraySwan risk analysers",
          "Any model through LiteLLM, local ones included, and MCP over stdio, SSE and streamable HTTP with OAuth",
          "21 Agent Canvas releases between 24 July and 25 September 2026, with CI passing on main"
        ],
        "weaknesses": [
          "Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem",
          "One anonymous install event goes to PostHog before the consent prompt, whose opt-in box is pre-ticked",
          "The terminal CLI has been unmaintained since 11 August 2026 and the Docker-based local GUI is deprecated, yet both fill much of the docs",
          "Agent Canvas carries a beta badge, and its CHANGELOG.md stops at 1.0.0-alpha.2",
          "The privacy policy (3 September 2025) allows training on Cloud content and gives no retention period"
        ],
        "agentNotes": [
          "Set `AGENT_CANVAS_DISABLE_TELEMETRY=1` and `DO_NOT_TRACK=1` before the first start",
          "Start Canvas with `OH_CONVERSATION_RUNTIME=docker` or use the Docker image. The npm install runs the agent on the host",
          "Turn on confirmation mode with a risk threshold. Canvas starts with it off",
          "Use the SDK or the Agent Server API for headless runs. The `openhands --headless` CLI is no longer maintained",
          "Set `filter_tools_regex` on the agent to keep unneeded MCP tool definitions out of the context"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.8
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 85,
          "payments": 60,
          "reliability": 83,
          "schema": 87,
          "security": 66,
          "transparency": 67
        },
        "provenanceScore": 66,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-08",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @openhands/agent-canvas   # Node 24+ and uv; or: pip install openhands-sdk openhands-tools",
        "headless": {
          "env": {
            "DO_NOT_TRACK": "1",
            "LLM_API_KEY": "\u003ckey\u003e",
            "LLM_MODEL": "\u003cprovider/model\u003e"
          },
          "sdk": "pip install openhands-sdk openhands-tools",
          "server": "OH_CONVERSATION_RUNTIME=docker AGENT_CANVAS_DISABLE_TELEMETRY=1 agent-canvas --backend-only"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/openhands"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "All Hands AI",
        "domain": "openhands.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "https://openhands.dev/privacy",
        "statusPage": "",
        "changelog": "https://github.com/OpenHands/OpenHands/releases",
        "securityTxt": "valid",
        "checked": "2026-10-01",
        "notes": [
          "The privacy policy (effective 3 September 2025) names All Hands AI, 24 Oak Street, Unit 2, Cambridge, MA 02139. We found no terms of service link on the pricing or privacy pages.",
          "openhands.dev/.well-known/security.txt lists security@openhands.dev and a responsible-disclosure policy, and expires on 2026-10-28.",
          "The SDK's LLM proxy still runs on llm-proxy.app.all-hands.dev, the company's older domain.",
          "We didn't check for a status page or the domain's registration date."
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openhands.json",
      "live": {
        "slug": "openhands",
        "versions": [
          {
            "registry": "github",
            "name": "OpenHands/OpenHands",
            "version": "v1.33.0",
            "released": "2026-10-23",
            "seenAt": "2026-10-25T09:11:34.958821539Z"
          },
          {
            "registry": "npm",
            "name": "@openhands/agent-canvas",
            "version": "1.33.0",
            "seenAt": "2026-10-25T09:11:32.640142651Z"
          },
          {
            "registry": "pypi",
            "name": "openhands-agent-server",
            "version": "1.58.2",
            "released": "2026-10-25",
            "seenAt": "2026-10-25T09:11:33.153528614Z"
          },
          {
            "registry": "pypi",
            "name": "openhands-sdk",
            "version": "1.58.2",
            "released": "2026-10-25",
            "seenAt": "2026-10-25T09:11:32.950212029Z"
          }
        ],
        "githubStars": 91775,
        "npmWeekly": 3033,
        "pypiWeekly": 727069,
        "securityTxt": {
          "url": "https://openhands.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-10-28T17:00:00.000Z",
          "checkedAt": "2026-10-25T15:27:24.748322477Z"
        },
        "llmsTxt": {
          "url": "https://docs.openhands.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-25T14:52:52.103420817Z"
        },
        "domain": {
          "domain": "openhands.dev",
          "registered": "2025-07-23",
          "source": "https://pubapi.registry.google/rdap/domain/openhands.dev",
          "checkedAt": "2026-10-25T14:05:28.838913993Z"
        },
        "pages": [
          {
            "url": "https://openhands.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-25T02:51:42.838517576Z",
            "changedAt": "2026-10-25T02:51:42.838517576Z",
            "fingerprint": "91495024e094"
          }
        ],
        "github": {
          "repo": "openhands/openhands",
          "checkedAt": "2026-10-19T06:35:54.188581019Z",
          "stars": 91233,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-19T05:12:25Z",
          "openIssues": 526,
          "openPRs": 534,
          "issuesOpened90d": 949,
          "issuesClosed90d": 620,
          "prsMerged90d": 768,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 26,
            "failure": 15,
            "other": 9,
            "latest": "failure",
            "latestAt": "2026-10-19T04:20:13Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-7h8w-hj9j-8rjw",
              "cve": "CVE-2026-33718",
              "severity": "high",
              "published": "2026-03-23T17:51:58Z"
            }
          ]
        },
        "updatedAt": "2026-10-25T15:27:24.748322477Z"
      }
    },
    "answer": "OpenHands scores 70.8 (BB) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 5 of 7 scored categories.",
    "b": {
      "slug": "vibe-trading",
      "name": "Vibe-Trading",
      "vendor": "HKUDS",
      "vendorUrl": "https://vibetrading.wiki",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Vibe-Trading is an open-source, self-hosted finance research agent from HKUDS. It turns plain-English questions into market data pulls, strategy code and backtests, through a CLI, a web UI, chat apps or its MCP server.",
      "url": "https://www.anchorterminal.com/tools/vibe-trading",
      "markdownUrl": "https://www.anchorterminal.com/tools/vibe-trading.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vibe-trading.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vibe-trading.json",
      "repo": "https://github.com/HKUDS/Vibe-Trading",
      "license": "MIT",
      "transports": [
        "stdio",
        "streamable-http",
        "sse"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "vibe-trading-ai"
        }
      ],
      "auth": "none",
      "authNotes": "No account with the project. The owner supplies a model provider key in `agent/.env`, or uses Ollama, a ChatGPT OAuth sign-in for OpenAI Codex, a GitHub Copilot login or a local Claude Code login. The API server answers loopback clients without a key; any other client needs `API_AUTH_KEY` as `Authorization: Bearer \u003ckey\u003e`. The MCP server's HTTP transport binds 127.0.0.1 with a Host and Origin allow-list and no token. Broker connector credentials are stored in the OS keyring by `vibe-trading connector setup` (https://github.com/HKUDS/Vibe-Trading/blob/main/README.md).",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy from the project. The owner pays the model provider, or nothing with a local model through Ollama. 29 market-data sources are built in and most need no key. QVeris, an optional paid data marketplace, is a third party and is reached only in paid mode; the README carries a QVeris referral link and discloses it (checked 2026-10-25).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the README, the docs or the source at v0.1.18 (checked 2026-10-25).",
        "endpoints": []
      },
      "toolCount": 82,
      "popularity": {
        "githubStars": 36500,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-25"
      },
      "docsUrl": "https://vibetrading.wiki/docs/",
      "capabilities": [
        "agent.harness",
        "agent.multi-agent",
        "agent.mcp-client",
        "data.markets",
        "market.crypto",
        "market.news",
        "assistant.messaging",
        "assistant.proactive"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "local",
        "free",
        "python",
        "mit",
        "mcp",
        "cli",
        "harness",
        "docker",
        "no-card",
        "no-sandbox",
        "pre-1.0",
        "beta"
      ],
      "lastRelease": "2026-10-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.2,
        "grade": "B",
        "agentReady": false,
        "rank": 502,
        "ranked": true,
        "rankOf": 1210,
        "categoryRank": 12,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 82,
          "payments": 60,
          "reliability": 63,
          "schema": 72,
          "security": 70,
          "transparency": 47
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-25"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-10-02. GHSA-v2f8-6655-7grj (CVE-2026-114108, critical). In 0.1.0 to 0.1.6 the API server answered every client without authentication when `API_AUTH_KEY` was unset, the shipped default, with the Docker container running as root on 0.0.0.0:8899, which the advisory chains to remote code execution. Fixed in 0.1.7 of 6 May 2026 and published five months later, -2. https://github.com/HKUDS/Vibe-Trading/security/advisories/GHSA-v2f8-6655-7grj",
          "2026-10-02. GHSA-jqmf-mx4f-hfr6 (CVE-2026-114107, critical). Shell and code injection in the LLM-callable `bash`, `background_run` and backtest tools, and SSRF in `read_url`, reachable through the unauthenticated API or prompt injection in a processed document, in 0.1.0 to 0.1.6. Fixed in the same 0.1.7 release, -1. https://github.com/HKUDS/Vibe-Trading/security/advisories/GHSA-jqmf-mx4f-hfr6",
          "2026-10-02. GHSA-5rmq-chc7-m22f (CVE-2026-114106, high). `read_document` read any file the process could reach and `safe_user_path()` accepted the whole home directory, in 0.1.0 to 0.1.6. Fixed in 0.1.7, -1. https://github.com/HKUDS/Vibe-Trading/security/advisories/GHSA-5rmq-chc7-m22f"
        ],
        "verdict": "Vibe-Trading runs on the owner's machine under the MIT licence, ships near-daily fixes with a dated changelog, and keeps order tools out of its MCP server, with live orders gated by an owner-committed mandate and a kill switch. Three advisories, two critical, covered versions before 0.1.7, and the local CLI runs shell commands without asking.",
        "bestFor": "A person or a pipeline that wants a ready-made finance research agent over free market data, with backtests, swarm reviews and exports, run on their own machine or used as an MCP server by another agent.",
        "strengths": [
          "MIT licence, runs on the owner's machine, and no telemetry code was found in the source at v0.1.18",
          "No order-placing or order-cancelling tool is exposed over MCP, and shell tools are off on every MCP transport by default",
          "Live orders need an owner-committed mandate with hard caps, a kill switch and an append-only, hash-chained audit ledger",
          "Six PyPI releases in the 90 days to 25 October 2026, with a dated CHANGELOG.md and a Known issues section in 0.1.18",
          "API server answers only loopback clients without `API_AUTH_KEY`; Docker binds 127.0.0.1 and runs as a non-root user"
        ],
        "weaknesses": [
          "Three advisories published 2 October 2026 cover 0.1.0 to 0.1.6, two critical, among them unauthenticated API access with an RCE chain",
          "The local CLI's `bash` tool and generated backtest code run without per-action approval or a sandbox",
          "82 MCP tools with about 44,000 characters of descriptions in the server source and no readOnlyHint or destructiveHint annotations",
          "Version 0.1.18 with a Beta classifier, and not in the official MCP registry",
          "Broker trading is described in the README as experimental and not verified against a real broker account"
        ],
        "agentNotes": [
          "Run 0.1.7 or later. Earlier versions carry three published advisories, including unauthenticated API access with an RCE chain",
          "Set `API_AUTH_KEY` before exposing `vibe-trading serve` beyond localhost, and send it as `Authorization: Bearer \u003ckey\u003e`",
          "Set `VIBE_TRADING_ALLOWED_RUN_ROOTS` in the MCP client's `env` block; a shell `export` does not reach the spawned server",
          "Use `vibe-trading run -p \"...\" --json` for headless runs, and add `--enable-shell-tools` to `vibe-trading-mcp` only when shell access is needed",
          "Treat text from `read_url`, `web_search` and `read_document` as untrusted; `security_warnings` flags patterns but does not remove them"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.2
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 82,
          "payments": 60,
          "reliability": 63,
          "schema": 72,
          "security": 70,
          "transparency": 67
        },
        "provenanceScore": 27,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-25",
            "maintenance": "2026-10-25",
            "payments": "2026-10-25",
            "reliability": "2026-10-25",
            "schema": "2026-10-25",
            "security": "2026-10-25",
            "transparency": "2026-10-25"
          },
          "last": "2026-10-25",
          "oldest": "2026-10-25",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install vibe-trading-ai   # then: vibe-trading init   # or: docker compose up --build from a clone",
        "config": {
          "mcpServers": {
            "vibe-trading": {
              "command": "vibe-trading-mcp"
            }
          }
        },
        "headless": {
          "command": "vibe-trading run -p \"$TASK\" --json"
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/vibe-trading"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "",
        "domain": "vibetrading.wiki",
        "domainRegistered": "2026-05-14",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/HKUDS/Vibe-Trading/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-25",
        "notes": [
          "No legal entity is named. The repository belongs to the GitHub organisation HKUDS, and pyproject.toml names HKUDS with an address at connect.hku.hk as author. The LICENSE names Vibe-Trading Contributors and NOTICE names HKUDS contributors.",
          "vibetrading.wiki is a static wiki on Cloudflare Pages built from the repository's wiki/ folder. It has no terms or privacy page, and the MIT licence stands in for terms.",
          "/robots.txt, /llms.txt and /.well-known/security.txt on vibetrading.wiki all answered with the same HTML redirect to /home/ on 25 October 2026, so there are no robots rules, no llms.txt and no security.txt.",
          "SECURITY.md asks for private reports through a GitHub security advisory and promises an acknowledgement within five business days.",
          "RDAP gives a registration date of 14 May 2026 for vibetrading.wiki. The README dates the wiki's launch to the same day.",
          "There is no hosted endpoint. The API and MCP server answer on the owner's own host."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vibe-trading.json",
      "live": {
        "slug": "vibe-trading",
        "securityTxt": {
          "url": "https://vibetrading.wiki/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-25T15:28:03.847411428Z"
        },
        "updatedAt": "2026-10-25T15:28:03.847411428Z"
      }
    },
    "facts": [
      {
        "a": "Agent harness",
        "b": "Agent harness",
        "name": "Kind"
      },
      {
        "a": "All Hands AI",
        "b": "HKUDS",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio, Streamable HTTP, SSE (legacy)",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "82",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-10-21",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-03",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "90k stars",
        "b": "37k stars",
        "name": "Popularity"
      },
      {
        "a": "2.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenHands scores 70.8 (BB) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, OpenHands or Vibe-Trading?"
      },
      {
        "answer": "Yes. OpenHands is open source (MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service). Vibe-Trading is open source (MIT).",
        "question": "Are OpenHands and Vibe-Trading open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 63",
          "Schema \u0026 documentation, 87 against 72",
          "Agent ergonomics, 78 against 67",
          "Transparency \u0026 trust, 67 against 47"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Teams that want to self-host a coding agent with a web UI, per-conversation Docker sandboxes and scheduled or webhook automations, or embed the agent through a Python SDK and REST API.",
        "slug": "openhands",
        "watchFor": "Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem"
      },
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it",
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "A person or a pipeline that wants a ready-made finance research agent over free market data, with backtests, swarm reviews and exports, run on their own machine or used as an MCP server by another agent.",
        "slug": "vibe-trading",
        "watchFor": "Three advisories published 2 October 2026 cover 0.1.0 to 0.1.6, two critical, among them unauthenticated API access with an RCE chain"
      }
    ],
    "job": {
      "capability": "agent.harness",
      "name": "Agent harnesses"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-openhands.json",
        "title": "Agent Zero vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-zero-vs-vibe-trading.json",
        "title": "Agent Zero vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-openhands.json",
        "title": "Aider vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/aider-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aider-vs-vibe-trading.json",
        "title": "Aider vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/aider-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-openhands.json",
        "title": "Amp vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/amp-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amp-vs-vibe-trading.json",
        "title": "Amp vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/amp-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands.json",
        "title": "Antigravity CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antigravity-cli-vs-vibe-trading.json",
        "title": "Antigravity CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-openhands.json",
        "title": "Auggie CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/auggie-vs-vibe-trading.json",
        "title": "Auggie CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-openhands.json",
        "title": "Claude Code vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-code-vs-vibe-trading.json",
        "title": "Claude Code vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-openhands.json",
        "title": "Cline vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cline-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cline-vs-vibe-trading.json",
        "title": "Cline vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/cline-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-openhands.json",
        "title": "Crush vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/crush-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crush-vs-vibe-trading.json",
        "title": "Crush vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/crush-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-openhands.json",
        "title": "Cursor CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-cli-vs-vibe-trading.json",
        "title": "Cursor CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands.json",
        "title": "DeepSeek Harness (dsh) vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-harness-vs-vibe-trading.json",
        "title": "DeepSeek Harness (dsh) vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-openhands.json",
        "title": "Devin vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/devin-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/devin-vs-vibe-trading.json",
        "title": "Devin vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/devin-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-openhands.json",
        "title": "Droid CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/droid-cli-vs-vibe-trading.json",
        "title": "Droid CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.json",
        "title": "Pi vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/earendil-pi-vs-vibe-trading.json",
        "title": "Pi vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-openhands.json",
        "title": "Gemini CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-cli-vs-vibe-trading.json",
        "title": "Gemini CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands.json",
        "title": "GitHub Copilot CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-vibe-trading.json",
        "title": "GitHub Copilot CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-openhands.json",
        "title": "goose vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/goose-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/goose-vs-vibe-trading.json",
        "title": "goose vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/goose-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-openhands.json",
        "title": "Harness² vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness2-vs-vibe-trading.json",
        "title": "Harness² vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-openhands.json",
        "title": "HarnessRouter vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harnessrouter-vs-vibe-trading.json",
        "title": "HarnessRouter vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-openhands.json",
        "title": "Jules vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/jules-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/jules-vs-vibe-trading.json",
        "title": "Jules vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/jules-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-openhands.json",
        "title": "Junie CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/junie-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/junie-vs-vibe-trading.json",
        "title": "Junie CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/junie-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openhands.json",
        "title": "Kilo Code CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-vibe-trading.json",
        "title": "Kilo Code CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.json",
        "title": "Kimi Code CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-vibe-trading.json",
        "title": "Kimi Code CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-openhands.json",
        "title": "Kiro CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/kiro-cli-vs-vibe-trading.json",
        "title": "Kiro CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands.json",
        "title": "mini-swe-agent vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-vibe-trading.json",
        "title": "mini-swe-agent vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-openhands.json",
        "title": "MiniMax Code vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/minimax-code-vs-vibe-trading.json",
        "title": "MiniMax Code vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands.json",
        "title": "Mistral Vibe CLI vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-vibe-trading.json",
        "title": "Mistral Vibe CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-openhands.json",
        "title": "Muse Code vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/muse-code-vs-vibe-trading.json",
        "title": "Muse Code vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-openhands.json",
        "title": "OpenAI Codex vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-codex-vs-vibe-trading.json",
        "title": "OpenAI Codex vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-openhands.json",
        "title": "OpenCode vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.json",
        "title": "OpenCode vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-prime-agent.json",
        "title": "OpenHands vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-qoder-cli.json",
        "title": "OpenHands vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code.json",
        "title": "OpenHands vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.json",
        "title": "OpenHands vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli.json",
        "title": "OpenHands vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-warp.json",
        "title": "OpenHands vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prime-agent-vs-vibe-trading.json",
        "title": "Prime Agent vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/prime-agent-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qoder-cli-vs-vibe-trading.json",
        "title": "Qoder CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/qoder-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading.json",
        "title": "Qwen Code vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/reflection-mirror-vs-vibe-trading.json",
        "title": "Mirror CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/reflection-mirror-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-vibe-trading.json",
        "title": "Rovo Dev CLI vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/rovo-dev-cli-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vibe-trading-vs-warp.json",
        "title": "Vibe-Trading vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/vibe-trading-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-openhands.json",
        "title": "CLI Manager vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cli-manager-vs-vibe-trading.json",
        "title": "CLI Manager vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands.json",
        "title": "Harness vs OpenHands",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-autonomous-vs-vibe-trading.json",
        "title": "Harness vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-paperclip.json",
        "title": "OpenHands vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-parallax-agents.json",
        "title": "OpenHands vs Parallax",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-parallax-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paperclip-vs-vibe-trading.json",
        "title": "Paperclip vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/paperclip-vs-vibe-trading"
      },
      {
        "json": "https://www.anchorterminal.com/compare/parallax-agents-vs-vibe-trading.json",
        "title": "Parallax vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/parallax-agents-vs-vibe-trading"
      }
    ],
    "scores": [
      {
        "by": 20,
        "edge": "openhands",
        "key": "reliability",
        "name": "Reliability",
        "openhands": 83,
        "vibe-trading": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "openhands",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openhands": 87,
        "vibe-trading": 72,
        "weight": 13
      },
      {
        "by": 11,
        "edge": "openhands",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openhands": 78,
        "vibe-trading": 67,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "vibe-trading",
        "key": "security",
        "name": "Security \u0026 auth",
        "openhands": 66,
        "vibe-trading": 70,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openhands": 60,
        "vibe-trading": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 3,
        "edge": "openhands",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openhands": 85,
        "vibe-trading": 82,
        "weight": 7
      },
      {
        "by": 20,
        "edge": "openhands",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openhands": 67,
        "vibe-trading": 47,
        "weight": 7
      }
    ],
    "summary": "OpenHands scores 70.8 (BB) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 5 of 7 scored categories. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "openhands": "A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server. Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem.",
      "vibe-trading": "Vibe-Trading runs on the owner's machine under the MIT licence, ships near-daily fixes with a dated changelog, and keeps order tools out of its MCP server, with live orders gated by an owner-committed mandate and a kill switch. Three advisories, two critical, covered versions before 0.1.7, and the local CLI runs shell commands without asking."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading",
    "json": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.min.md"
  },
  "markdown": "OpenHands scores 70.8 (BB) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 5 of 7 scored categories. Both do agent harnesses.\n\n- OpenHands: grade BB, 70.8/100, rank #156 of 1210. Markdown https://www.anchorterminal.com/tools/openhands.md · JSON https://www.anchorterminal.com/api/v1/tools/openhands.json\n- Vibe-Trading: grade B, 62.2/100, rank #502 of 1210. Markdown https://www.anchorterminal.com/tools/vibe-trading.md · JSON https://www.anchorterminal.com/api/v1/tools/vibe-trading.json\n- Best agent harnesses and coding agents: https://www.anchorterminal.com/best/agent-harnesses/index.md\n- All 792 harnesses comparisons: https://www.anchorterminal.com/compare/agent-harnesses/index.md\n\n## Which one, for what\n\n### OpenHands (BB)\n\nGood for: Teams that want to self-host a coding agent with a web UI, per-conversation Docker sandboxes and scheduled or webhook automations, or embed the agent through a Python SDK and REST API.\n\nAhead on:\n- Reliability, 83 against 63\n- Schema \u0026 documentation, 87 against 72\n- Agent ergonomics, 78 against 67\n- Transparency \u0026 trust, 67 against 47\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem\n\n### Vibe-Trading (B)\n\nGood for: A person or a pipeline that wants a ready-made finance research agent over free market data, with backtests, swarm reviews and exports, run on their own machine or used as an MCP server by another agent.\n\nAlso in its favour:\n- No key needed to call it\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Three advisories published 2 October 2026 cover 0.1.0 to 0.1.6, two critical, among them unauthenticated API access with an RCE chain\n\n\n## Score by category\n\n| Category | Weight | OpenHands | Vibe-Trading | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 63 | OpenHands +20 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 72 | OpenHands +15 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 67 | OpenHands +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 70 | Vibe-Trading +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 82 | OpenHands +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 47 | OpenHands +20 |\n| Negative events | ≤15 | -5 | -4 | |\n| **Total** | | **70.8 · BB** | **62.2 · B** | |\n\n## Facts side by side\n\n| Fact | OpenHands | Vibe-Trading |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | All Hands AI | HKUDS |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio, Streamable HTTP, SSE (legacy) |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service | MIT |\n| Tools exposed | none | 82 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | no |\n| Last release | 2026-09-30 | 2026-10-21 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | 2025-09-03 | no document linked |\n| Customer content may train models | yes |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 90k stars | 37k stars |\n| Agent reviews | 2.5/5 (2) | none |\n\n## Verdicts\n\n**OpenHands.** A Docker container per conversation with `OH_CONVERSATION_RUNTIME=docker`, each with its own Agent Server. Confirmation mode is off by default in Agent Canvas, and the npm install gives the agent the host's whole filesystem.\n\n**Vibe-Trading.** Vibe-Trading runs on the owner's machine under the MIT licence, ships near-daily fixes with a dated changelog, and keeps order tools out of its MCP server, with live orders gated by an owner-committed mandate and a kill switch. Three advisories, two critical, covered versions before 0.1.7, and the local CLI runs shell commands without asking.\n\n## Before you call either\n\n### OpenHands\n\n1. Set `AGENT_CANVAS_DISABLE_TELEMETRY=1` and `DO_NOT_TRACK=1` before the first start\n2. Start Canvas with `OH_CONVERSATION_RUNTIME=docker` or use the Docker image. The npm install runs the agent on the host\n3. Turn on confirmation mode with a risk threshold. Canvas starts with it off\n4. Use the SDK or the Agent Server API for headless runs. The `openhands --headless` CLI is no longer maintained\n5. Set `filter_tools_regex` on the agent to keep unneeded MCP tool definitions out of the context\n\n### Vibe-Trading\n\n1. Run 0.1.7 or later. Earlier versions carry three published advisories, including unauthenticated API access with an RCE chain\n2. Set `API_AUTH_KEY` before exposing `vibe-trading serve` beyond localhost, and send it as `Authorization: Bearer \u003ckey\u003e`\n3. Set `VIBE_TRADING_ALLOWED_RUN_ROOTS` in the MCP client's `env` block; a shell `export` does not reach the spawned server\n4. Use `vibe-trading run -p \"...\" --json` for headless runs, and add `--enable-shell-tools` to `vibe-trading-mcp` only when shell access is needed\n5. Treat text from `read_url`, `web_search` and `read_document` as untrusted; `security_warnings` flags patterns but does not remove them\n\n## Questions\n\n### Which is better for AI agents, OpenHands or Vibe-Trading?\n\nOpenHands scores 70.8 (BB) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 5 of 7 scored categories.\n\n### Are OpenHands and Vibe-Trading open source?\n\nYes. OpenHands is open source (MIT (Agent Canvas, SDK, tools and Agent Server). OpenHands Cloud is a hosted service). Vibe-Trading is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openhands\", \"b\": \"vibe-trading\"}`. From a terminal: `anchor compare openhands vibe-trading`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openhands.json and https://www.anchorterminal.com/api/v1/tools/vibe-trading.json\n\n## Other comparisons with OpenHands or Vibe-Trading\n\n- [Agent Zero vs OpenHands](https://www.anchorterminal.com/compare/agent-zero-vs-openhands.md)\n- [Agent Zero vs Vibe-Trading](https://www.anchorterminal.com/compare/agent-zero-vs-vibe-trading.md)\n- [Aider vs OpenHands](https://www.anchorterminal.com/compare/aider-vs-openhands.md)\n- [Aider vs Vibe-Trading](https://www.anchorterminal.com/compare/aider-vs-vibe-trading.md)\n- [Amp vs OpenHands](https://www.anchorterminal.com/compare/amp-vs-openhands.md)\n- [Amp vs Vibe-Trading](https://www.anchorterminal.com/compare/amp-vs-vibe-trading.md)\n- [Antigravity CLI vs OpenHands](https://www.anchorterminal.com/compare/antigravity-cli-vs-openhands.md)\n- [Antigravity CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/antigravity-cli-vs-vibe-trading.md)\n- [Auggie CLI vs OpenHands](https://www.anchorterminal.com/compare/auggie-vs-openhands.md)\n- [Auggie CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/auggie-vs-vibe-trading.md)\n- [Claude Code vs OpenHands](https://www.anchorterminal.com/compare/claude-code-vs-openhands.md)\n- [Claude Code vs Vibe-Trading](https://www.anchorterminal.com/compare/claude-code-vs-vibe-trading.md)\n- [Cline vs OpenHands](https://www.anchorterminal.com/compare/cline-vs-openhands.md)\n- [Cline vs Vibe-Trading](https://www.anchorterminal.com/compare/cline-vs-vibe-trading.md)\n- [Crush vs OpenHands](https://www.anchorterminal.com/compare/crush-vs-openhands.md)\n- [Crush vs Vibe-Trading](https://www.anchorterminal.com/compare/crush-vs-vibe-trading.md)\n- [Cursor CLI vs OpenHands](https://www.anchorterminal.com/compare/cursor-cli-vs-openhands.md)\n- [Cursor CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/cursor-cli-vs-vibe-trading.md)\n- [DeepSeek Harness (dsh) vs OpenHands](https://www.anchorterminal.com/compare/deepseek-harness-vs-openhands.md)\n- [DeepSeek Harness (dsh) vs Vibe-Trading](https://www.anchorterminal.com/compare/deepseek-harness-vs-vibe-trading.md)\n- [Devin vs OpenHands](https://www.anchorterminal.com/compare/devin-vs-openhands.md)\n- [Devin vs Vibe-Trading](https://www.anchorterminal.com/compare/devin-vs-vibe-trading.md)\n- [Droid CLI vs OpenHands](https://www.anchorterminal.com/compare/droid-cli-vs-openhands.md)\n- [Droid CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/droid-cli-vs-vibe-trading.md)\n- [Pi vs OpenHands](https://www.anchorterminal.com/compare/earendil-pi-vs-openhands.md)\n- [Pi vs Vibe-Trading](https://www.anchorterminal.com/compare/earendil-pi-vs-vibe-trading.md)\n- [Gemini CLI vs OpenHands](https://www.anchorterminal.com/compare/gemini-cli-vs-openhands.md)\n- [Gemini CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/gemini-cli-vs-vibe-trading.md)\n- [GitHub Copilot CLI vs OpenHands](https://www.anchorterminal.com/compare/github-copilot-cli-vs-openhands.md)\n- [GitHub Copilot CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/github-copilot-cli-vs-vibe-trading.md)\n- [goose vs OpenHands](https://www.anchorterminal.com/compare/goose-vs-openhands.md)\n- [goose vs Vibe-Trading](https://www.anchorterminal.com/compare/goose-vs-vibe-trading.md)\n- [Harness² vs OpenHands](https://www.anchorterminal.com/compare/harness2-vs-openhands.md)\n- [Harness² vs Vibe-Trading](https://www.anchorterminal.com/compare/harness2-vs-vibe-trading.md)\n- [HarnessRouter vs OpenHands](https://www.anchorterminal.com/compare/harnessrouter-vs-openhands.md)\n- [HarnessRouter vs Vibe-Trading](https://www.anchorterminal.com/compare/harnessrouter-vs-vibe-trading.md)\n- [Jules vs OpenHands](https://www.anchorterminal.com/compare/jules-vs-openhands.md)\n- [Jules vs Vibe-Trading](https://www.anchorterminal.com/compare/jules-vs-vibe-trading.md)\n- [Junie CLI vs OpenHands](https://www.anchorterminal.com/compare/junie-vs-openhands.md)\n- [Junie CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/junie-vs-vibe-trading.md)\n- [Kilo Code CLI vs OpenHands](https://www.anchorterminal.com/compare/kilo-code-cli-vs-openhands.md)\n- [Kilo Code CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/kilo-code-cli-vs-vibe-trading.md)\n- [Kimi Code CLI vs OpenHands](https://www.anchorterminal.com/compare/kimi-code-cli-vs-openhands.md)\n- [Kimi Code CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/kimi-code-cli-vs-vibe-trading.md)\n- [Kiro CLI vs OpenHands](https://www.anchorterminal.com/compare/kiro-cli-vs-openhands.md)\n- [Kiro CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/kiro-cli-vs-vibe-trading.md)\n- [mini-swe-agent vs OpenHands](https://www.anchorterminal.com/compare/mini-swe-agent-vs-openhands.md)\n- [mini-swe-agent vs Vibe-Trading](https://www.anchorterminal.com/compare/mini-swe-agent-vs-vibe-trading.md)\n- [MiniMax Code vs OpenHands](https://www.anchorterminal.com/compare/minimax-code-vs-openhands.md)\n- [MiniMax Code vs Vibe-Trading](https://www.anchorterminal.com/compare/minimax-code-vs-vibe-trading.md)\n- [Mistral Vibe CLI vs OpenHands](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-openhands.md)\n- [Mistral Vibe CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-vibe-trading.md)\n- [Muse Code vs OpenHands](https://www.anchorterminal.com/compare/muse-code-vs-openhands.md)\n- [Muse Code vs Vibe-Trading](https://www.anchorterminal.com/compare/muse-code-vs-vibe-trading.md)\n- [OpenAI Codex vs OpenHands](https://www.anchorterminal.com/compare/openai-codex-vs-openhands.md)\n- [OpenAI Codex vs Vibe-Trading](https://www.anchorterminal.com/compare/openai-codex-vs-vibe-trading.md)\n- [OpenCode vs OpenHands](https://www.anchorterminal.com/compare/opencode-vs-openhands.md)\n- [OpenCode vs Vibe-Trading](https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.md)\n- [OpenHands vs Prime Agent](https://www.anchorterminal.com/compare/openhands-vs-prime-agent.md)\n- [OpenHands vs Qoder CLI](https://www.anchorterminal.com/compare/openhands-vs-qoder-cli.md)\n- [OpenHands vs Qwen Code](https://www.anchorterminal.com/compare/openhands-vs-qwen-code.md)\n- [OpenHands vs Mirror CLI](https://www.anchorterminal.com/compare/openhands-vs-reflection-mirror.md)\n- [OpenHands vs Rovo Dev CLI](https://www.anchorterminal.com/compare/openhands-vs-rovo-dev-cli.md)\n- [OpenHands vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/openhands-vs-warp.md)\n- [Prime Agent vs Vibe-Trading](https://www.anchorterminal.com/compare/prime-agent-vs-vibe-trading.md)\n- [Qoder CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/qoder-cli-vs-vibe-trading.md)\n- [Qwen Code vs Vibe-Trading](https://www.anchorterminal.com/compare/qwen-code-vs-vibe-trading.md)\n- [Mirror CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/reflection-mirror-vs-vibe-trading.md)\n- [Rovo Dev CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/rovo-dev-cli-vs-vibe-trading.md)\n- [Vibe-Trading vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/vibe-trading-vs-warp.md)\n- [CLI Manager vs OpenHands](https://www.anchorterminal.com/compare/cli-manager-vs-openhands.md)\n- [CLI Manager vs Vibe-Trading](https://www.anchorterminal.com/compare/cli-manager-vs-vibe-trading.md)\n- [Harness vs OpenHands](https://www.anchorterminal.com/compare/harness-autonomous-vs-openhands.md)\n- [Harness vs Vibe-Trading](https://www.anchorterminal.com/compare/harness-autonomous-vs-vibe-trading.md)\n- [OpenHands vs Paperclip](https://www.anchorterminal.com/compare/openhands-vs-paperclip.md)\n- [OpenHands vs Parallax](https://www.anchorterminal.com/compare/openhands-vs-parallax-agents.md)\n- [Paperclip vs Vibe-Trading](https://www.anchorterminal.com/compare/paperclip-vs-vibe-trading.md)\n- [Parallax vs Vibe-Trading](https://www.anchorterminal.com/compare/parallax-agents-vs-vibe-trading.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-25",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.6",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "OpenHands vs Vibe-Trading",
        "url": ""
      }
    ],
    "description": "OpenHands scores 70.8 (BB) to Vibe-Trading's 62.2 (B) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenHands BB 70.8",
      "Vibe-Trading B 62.2",
      "scores"
    ],
    "h1": "OpenHands vs Vibe-Trading",
    "image": "https://www.anchorterminal.com/assets/og/compare-openhands-vs-vibe-trading.png",
    "path": "/compare/openhands-vs-vibe-trading",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenHands vs Vibe-Trading for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-25",
    "url": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading"
  },
  "tokens": {
    "markdown": 3700,
    "slim": 630
  },
  "version": 1
}
