{
  "data": {
    "a": {
      "slug": "opencode",
      "name": "OpenCode",
      "vendor": "Anomaly",
      "vendorUrl": "https://opencode.ai",
      "kind": "harness",
      "category": "agent-harnesses",
      "summary": "Open-source terminal coding agent from Anomaly Innovations, with a TUI, desktop app, IDE and ACP integration, and a headless HTTP server with an OpenAPI spec. Version 2, released in October 2026, is an opt-in upgrade.",
      "url": "https://www.anchorterminal.com/tools/opencode",
      "markdownUrl": "https://www.anchorterminal.com/tools/opencode.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opencode.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opencode.json",
      "repo": "https://github.com/anomalyco/opencode",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "opencode-ai"
        },
        {
          "registry": "npm",
          "name": "@opencode-ai/sdk"
        }
      ],
      "auth": "none",
      "authNotes": "No account needed. Provider keys go in with `opencode auth login` (stored in ~/.local/share/opencode/auth.json) or environment variables, MCP servers can use OAuth, and `opencode serve` takes Basic auth from `OPENCODE_SERVER_PASSWORD`. With no key it uses free OpenCode Zen models with a public key.",
      "pricing": "freemium",
      "pricingNotes": "Free and MIT. You pay your model provider, or OpenCode Zen per token, with prices per million tokens published for every model, or OpenCode Go at $10 a month (Go Plus $40) for a set of open models. Some Zen models are free for a limited time and may use prompts to improve the model.",
      "priceSummary": "$10 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the source (checked 2026-10-01).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 211000,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-01"
      },
      "docsUrl": "https://opencode.ai/docs",
      "openapi": "https://raw.githubusercontent.com/anomalyco/opencode/v1/packages/sdk/openapi.json",
      "capabilities": [
        "agent.harness",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "local",
        "freemium",
        "typescript",
        "openapi",
        "no-card",
        "no-key",
        "usage-priced"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.5,
        "grade": "B",
        "agentReady": false,
        "rank": 232,
        "ranked": true,
        "rankOf": 1210,
        "categoryRank": 6,
        "methodology": "0.6",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 60,
          "reliability": 72,
          "schema": 88,
          "security": 60,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-17"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-01-12. GHSA-vxw4-wv6m-9hhh (CVE-2026-22812, 8.8), the HTTP server the TUI started had no authentication, so local processes could run shell commands as the user, fixed in 1.0.216. GHSA-c83v-7274-4vgp (CVE-2026-22813), unsanitised Markdown in the web UI let a malicious page run commands on the machine, fixed in 1.1.10. Fixed, published and more than six months old, -1 each. https://github.com/anomalyco/opencode/security/advisories",
          "2026-09-24. GHSA-632h-h47v-g4x4 (7.5, no CVE). The server's `/global/upgrade` endpoint accepted any package specifier without checking where the request came from, so a web page could make `opencode serve` install an attacker's npm package and run its scripts. Fixed in 1.18.22. Inside six months, -2. https://github.com/anomalyco/opencode/security/advisories/GHSA-632h-h47v-g4x4"
        ],
        "verdict": "Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.",
        "bestFor": "Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.",
        "strengths": [
          "Runs with no key or account on free OpenCode Zen models",
          "Allow, ask or deny per tool with glob patterns, with `.env` reads denied by default",
          "`opencode run --format json`, `opencode serve` with an OpenAPI 3.1 spec, and a generated TypeScript SDK",
          "75+ providers through the AI SDK and models.dev, plus local models",
          "No product telemetry found, and OpenTelemetry export is opt-in"
        ],
        "weaknesses": [
          "Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox",
          "Updates download and install at startup unless `autoupdate` is off",
          "Keyless runs send prompts to free models, some of which may use them for training",
          "Three advisories in 2026 against its local server and web UI, and CVE-2026-88624 against worktree removal, still in 1.19.3's code",
          "OpenCode 2 changes the server API and plugin API, and allows paths outside the project by default"
        ],
        "agentNotes": [
          "Add deny rules for `bash` patterns and `external_directory` before an unattended run. Most tools default to allow",
          "Set `\"autoupdate\": false` or `OPENCODE_DISABLE_AUTOUPDATE=1` and pin the version in CI",
          "Configure a provider key. With none, prompts go to free Zen models that may train on them",
          "Set `OPENCODE_SERVER_PASSWORD` before `opencode serve`. Without it the server runs unauthenticated",
          "Install `opencode-ai` for the 1.x server API and SDK. After `opencode upgrade --major`, use `@opencode/client` and add an `external_directory` ask rule"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.6",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.5
          }
        ],
        "editorialScores": {
          "ergonomics": 79,
          "maintenance": 81,
          "payments": 60,
          "reliability": 72,
          "schema": 88,
          "security": 60,
          "transparency": 82
        },
        "provenanceScore": 51,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-17",
            "maintenance": "2026-10-17",
            "payments": "2026-10-17",
            "reliability": "2026-10-17",
            "schema": "2026-10-17",
            "security": "2026-10-17",
            "transparency": "2026-10-17"
          },
          "last": "2026-10-17",
          "lastMoved": "2026-10-17",
          "oldest": "2026-10-17",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm i -g opencode-ai@latest   # or: curl -fsSL https://opencode.ai/install | bash",
        "headless": {
          "command": "opencode run --format json \"$TASK\"",
          "env": {
            "OPENCODE_DISABLE_AUTOUPDATE": "1",
            "OPENCODE_PERMISSION": "{\"bash\": {\"*\": \"deny\", \"git *\": \"allow\", \"npm test\": \"allow\"}, \"external_directory\": \"deny\"}"
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/agent.harness",
        "tool": "https://letme.dev/opencode"
      },
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "OpenCode Go",
          "unit": "month",
          "usd": 10,
          "note": "Go Plus is $40 a month"
        }
      ],
      "provenance": {
        "legalEntity": "Anomaly Innovations, Inc.",
        "domain": "opencode.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://opencode.ai/legal/terms-of-service",
        "privacy": "https://opencode.ai/legal/privacy-policy",
        "statusPage": "",
        "changelog": "https://opencode.ai/changelog",
        "securityTxt": "none",
        "checked": "2026-10-17",
        "notes": [
          "The terms (effective 15 August 2026) name Anomaly Innovations, Inc. The privacy policy is effective 6 March 2026, with help@anoma.ly as the contact.",
          "opencode.ai/.well-known/security.txt returns 404 (re-read on 17 October 2026). SECURITY.md points to GitHub private reporting and security@anoma.ly.",
          "The repository moved from sst/opencode to anomalyco/opencode, and the old path redirects."
        ],
        "score": 51
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opencode.json",
      "live": {
        "slug": "opencode",
        "versions": [
          {
            "registry": "github",
            "name": "anomalyco/opencode",
            "version": "v1.19.4",
            "released": "2026-10-22",
            "seenAt": "2026-10-25T09:11:21.857109925Z"
          },
          {
            "registry": "npm",
            "name": "@opencode-ai/sdk",
            "version": "1.19.4",
            "seenAt": "2026-10-25T09:11:19.899130414Z"
          },
          {
            "registry": "npm",
            "name": "opencode-ai",
            "version": "1.19.4",
            "seenAt": "2026-10-25T09:11:19.650632794Z"
          }
        ],
        "githubStars": 221304,
        "npmWeekly": 2180172,
        "securityTxt": {
          "url": "https://opencode.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-25T15:28:10.187874979Z"
        },
        "domain": {
          "domain": "opencode.ai",
          "registered": "2022-12-07",
          "source": "https://rdap.identitydigital.services/rdap/domain/opencode.ai",
          "checkedAt": "2026-10-25T14:03:47.614609003Z"
        },
        "pages": [
          {
            "url": "https://opencode.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-25T02:51:42.289103543Z",
            "changedAt": "2026-10-24T02:22:09.857446531Z",
            "fingerprint": "0a53811641b9"
          },
          {
            "url": "https://anoma.ly/notes/opencode-2-0/",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-25T02:39:53.565798581Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c759f58f9191"
          },
          {
            "url": "https://opencode.ai/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-25T02:51:44.427223372Z",
            "changedAt": "2026-10-24T02:22:12.040602686Z",
            "fingerprint": "f14ad9e41660"
          },
          {
            "url": "https://opencode.ai/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-25T02:51:46.462092876Z",
            "changedAt": "2026-10-24T02:22:14.202271878Z",
            "fingerprint": "b3c8a16ab224"
          }
        ],
        "github": {
          "repo": "anomalyco/opencode",
          "checkedAt": "2026-10-19T05:52:40.038066338Z",
          "stars": 216850,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-19T05:49:45Z",
          "openIssues": 3510,
          "openPRs": 1151,
          "issuesOpened90d": 9425,
          "issuesClosed90d": 9632,
          "prsMerged90d": 4033,
          "ci": {
            "branch": "dev",
            "runs": 50,
            "success": 47,
            "failure": 0,
            "other": 3,
            "latest": "success",
            "latestAt": "2026-10-19T04:00:24Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-632h-h47v-g4x4",
              "severity": "high",
              "published": "2026-09-24T13:36:45Z"
            },
            {
              "ghsa": "GHSA-c83v-7274-4vgp",
              "cve": "CVE-2026-22813",
              "severity": "critical",
              "published": "2026-01-12T21:32:40Z"
            },
            {
              "ghsa": "GHSA-vxw4-wv6m-9hhh",
              "cve": "CVE-2026-22812",
              "severity": "high",
              "published": "2026-01-12T19:43:04Z"
            }
          ]
        },
        "updatedAt": "2026-10-25T15:28:10.187874979Z"
      }
    },
    "answer": "OpenCode scores 68.5 (B) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 4 of 7 scored categories. Vibe-Trading leads on security \u0026 auth.",
    "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": "Anomaly",
        "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": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "82",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-16",
        "b": "2026-10-21",
        "name": "Last release"
      },
      {
        "a": "2026-08-15",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-03-06",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "211k stars",
        "b": "37k stars",
        "name": "Popularity"
      },
      {
        "a": "2/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenCode scores 68.5 (B) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 4 of 7 scored categories. Vibe-Trading leads on security \u0026 auth.",
        "question": "Which is better for AI agents, OpenCode or Vibe-Trading?"
      },
      {
        "answer": "Yes. OpenCode is open source (MIT). Vibe-Trading is open source (MIT).",
        "question": "Are OpenCode and Vibe-Trading open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 72 against 63",
          "Schema \u0026 documentation, 88 against 72",
          "Agent ergonomics, 79 against 67",
          "Transparency \u0026 trust, 67 against 47"
        ],
        "also": null,
        "goodFor": "Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.",
        "slug": "opencode",
        "watchFor": "Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 70 against 60"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "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-opencode.json",
        "title": "Agent Zero vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/agent-zero-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Aider vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/aider-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Amp vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/amp-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Antigravity CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Auggie CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/auggie-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Claude Code vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/claude-code-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Cline vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cline-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Crush vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/crush-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Cursor CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cursor-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "DeepSeek Harness (dsh) vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Devin vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/devin-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Droid CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/droid-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Pi vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/earendil-pi-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Gemini CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/gemini-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "GitHub Copilot CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "goose vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/goose-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Harness² vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harness2-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "HarnessRouter vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harnessrouter-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Jules vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/jules-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Junie CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/junie-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Kilo Code CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Kimi Code CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Kiro CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/kiro-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "mini-swe-agent vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "MiniMax Code vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/minimax-code-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Mistral Vibe CLI vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Muse Code vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/muse-code-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "OpenAI Codex vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/openai-codex-vs-opencode"
      },
      {
        "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-prime-agent.json",
        "title": "OpenCode vs Prime Agent",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-prime-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-qoder-cli.json",
        "title": "OpenCode vs Qoder CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-qoder-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code.json",
        "title": "OpenCode vs Qwen Code",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-qwen-code"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror.json",
        "title": "OpenCode vs Mirror CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli.json",
        "title": "OpenCode vs Rovo Dev CLI",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-warp.json",
        "title": "OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-warp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.json",
        "title": "OpenHands vs Vibe-Trading",
        "url": "https://www.anchorterminal.com/compare/openhands-vs-vibe-trading"
      },
      {
        "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-opencode.json",
        "title": "CLI Manager vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/cli-manager-vs-opencode"
      },
      {
        "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-opencode.json",
        "title": "Harness vs OpenCode",
        "url": "https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode"
      },
      {
        "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/opencode-vs-paperclip.json",
        "title": "OpenCode vs Paperclip",
        "url": "https://www.anchorterminal.com/compare/opencode-vs-paperclip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencode-vs-parallax-agents.json",
        "title": "OpenCode vs Parallax",
        "url": "https://www.anchorterminal.com/compare/opencode-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": 9,
        "edge": "opencode",
        "key": "reliability",
        "name": "Reliability",
        "opencode": 72,
        "vibe-trading": 63,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 16,
        "edge": "opencode",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opencode": 88,
        "vibe-trading": 72,
        "weight": 13
      },
      {
        "by": 12,
        "edge": "opencode",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opencode": 79,
        "vibe-trading": 67,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "vibe-trading",
        "key": "security",
        "name": "Security \u0026 auth",
        "opencode": 60,
        "vibe-trading": 70,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opencode": 60,
        "vibe-trading": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "vibe-trading",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opencode": 81,
        "vibe-trading": 82,
        "weight": 7
      },
      {
        "by": 20,
        "edge": "opencode",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opencode": 67,
        "vibe-trading": 47,
        "weight": 7
      }
    ],
    "summary": "OpenCode scores 68.5 (B) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 4 of 7 scored categories. Vibe-Trading leads on security \u0026 auth. Both do agent harnesses.",
    "tutorials": [],
    "verdicts": {
      "opencode": "Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.",
      "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/opencode-vs-vibe-trading",
    "json": "https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.min.md"
  },
  "markdown": "OpenCode scores 68.5 (B) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 4 of 7 scored categories. Vibe-Trading leads on security \u0026 auth. Both do agent harnesses.\n\n- OpenCode: grade B, 68.5/100, rank #232 of 1210. Markdown https://www.anchorterminal.com/tools/opencode.md · JSON https://www.anchorterminal.com/api/v1/tools/opencode.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### OpenCode (B)\n\nGood for: Agents and pipelines that need a scriptable coding agent with a JSON event stream, an HTTP server and any model, including keyless free ones.\n\nAhead on:\n- Reliability, 72 against 63\n- Schema \u0026 documentation, 88 against 72\n- Agent ergonomics, 79 against 67\n- Transparency \u0026 trust, 67 against 47\n\nWatch for: Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox\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\nAhead on:\n- Security \u0026 auth, 70 against 60\n\nAlso in its favour:\n- Runs on your own machine\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 | OpenCode | Vibe-Trading | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 63 | OpenCode +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 72 | OpenCode +16 |\n| Agent ergonomics | 13% (16.2 this run) | 79 | 67 | OpenCode +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 70 | Vibe-Trading +10 |\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) | 81 | 82 | Vibe-Trading +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 47 | OpenCode +20 |\n| Negative events | ≤15 | -4 | -4 | |\n| **Total** | | **68.5 · B** | **62.2 · B** | |\n\n## Facts side by side\n\n| Fact | OpenCode | Vibe-Trading |\n| --- | --- | --- |\n| Kind | Agent harness | Agent harness |\n| Vendor | Anomaly | HKUDS |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio, Streamable HTTP, SSE (legacy) |\n| Auth | None | None |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | MIT | MIT |\n| Tools exposed | none | 82 |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-16 | 2026-10-21 |\n| Terms last updated | 2026-08-15 | no document linked |\n| Privacy policy last updated | 2026-03-06 | no document linked |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 211k stars | 37k stars |\n| Agent reviews | 2/5 (2) | none |\n\n## Verdicts\n\n**OpenCode.** Runs with no key or account on free OpenCode Zen models. Most permissions default to allow, and SECURITY.md says the permission system is not a sandbox.\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### OpenCode\n\n1. Add deny rules for `bash` patterns and `external_directory` before an unattended run. Most tools default to allow\n2. Set `\"autoupdate\": false` or `OPENCODE_DISABLE_AUTOUPDATE=1` and pin the version in CI\n3. Configure a provider key. With none, prompts go to free Zen models that may train on them\n4. Set `OPENCODE_SERVER_PASSWORD` before `opencode serve`. Without it the server runs unauthenticated\n5. Install `opencode-ai` for the 1.x server API and SDK. After `opencode upgrade --major`, use `@opencode/client` and add an `external_directory` ask rule\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, OpenCode or Vibe-Trading?\n\nOpenCode scores 68.5 (B) on agent readiness against Vibe-Trading's 62.2 (B), and leads in 4 of 7 scored categories. Vibe-Trading leads on security \u0026 auth.\n\n### Are OpenCode and Vibe-Trading open source?\n\nYes. OpenCode is open source (MIT). Vibe-Trading is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.json, and with the fewest tokens: https://www.anchorterminal.com/compare/opencode-vs-vibe-trading.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"opencode\", \"b\": \"vibe-trading\"}`. From a terminal: `anchor compare opencode vibe-trading`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/opencode.json and https://www.anchorterminal.com/api/v1/tools/vibe-trading.json\n\n## Other comparisons with OpenCode or Vibe-Trading\n\n- [Agent Zero vs OpenCode](https://www.anchorterminal.com/compare/agent-zero-vs-opencode.md)\n- [Agent Zero vs Vibe-Trading](https://www.anchorterminal.com/compare/agent-zero-vs-vibe-trading.md)\n- [Aider vs OpenCode](https://www.anchorterminal.com/compare/aider-vs-opencode.md)\n- [Aider vs Vibe-Trading](https://www.anchorterminal.com/compare/aider-vs-vibe-trading.md)\n- [Amp vs OpenCode](https://www.anchorterminal.com/compare/amp-vs-opencode.md)\n- [Amp vs Vibe-Trading](https://www.anchorterminal.com/compare/amp-vs-vibe-trading.md)\n- [Antigravity CLI vs OpenCode](https://www.anchorterminal.com/compare/antigravity-cli-vs-opencode.md)\n- [Antigravity CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/antigravity-cli-vs-vibe-trading.md)\n- [Auggie CLI vs OpenCode](https://www.anchorterminal.com/compare/auggie-vs-opencode.md)\n- [Auggie CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/auggie-vs-vibe-trading.md)\n- [Claude Code vs OpenCode](https://www.anchorterminal.com/compare/claude-code-vs-opencode.md)\n- [Claude Code vs Vibe-Trading](https://www.anchorterminal.com/compare/claude-code-vs-vibe-trading.md)\n- [Cline vs OpenCode](https://www.anchorterminal.com/compare/cline-vs-opencode.md)\n- [Cline vs Vibe-Trading](https://www.anchorterminal.com/compare/cline-vs-vibe-trading.md)\n- [Crush vs OpenCode](https://www.anchorterminal.com/compare/crush-vs-opencode.md)\n- [Crush vs Vibe-Trading](https://www.anchorterminal.com/compare/crush-vs-vibe-trading.md)\n- [Cursor CLI vs OpenCode](https://www.anchorterminal.com/compare/cursor-cli-vs-opencode.md)\n- [Cursor CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/cursor-cli-vs-vibe-trading.md)\n- [DeepSeek Harness (dsh) vs OpenCode](https://www.anchorterminal.com/compare/deepseek-harness-vs-opencode.md)\n- [DeepSeek Harness (dsh) vs Vibe-Trading](https://www.anchorterminal.com/compare/deepseek-harness-vs-vibe-trading.md)\n- [Devin vs OpenCode](https://www.anchorterminal.com/compare/devin-vs-opencode.md)\n- [Devin vs Vibe-Trading](https://www.anchorterminal.com/compare/devin-vs-vibe-trading.md)\n- [Droid CLI vs OpenCode](https://www.anchorterminal.com/compare/droid-cli-vs-opencode.md)\n- [Droid CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/droid-cli-vs-vibe-trading.md)\n- [Pi vs OpenCode](https://www.anchorterminal.com/compare/earendil-pi-vs-opencode.md)\n- [Pi vs Vibe-Trading](https://www.anchorterminal.com/compare/earendil-pi-vs-vibe-trading.md)\n- [Gemini CLI vs OpenCode](https://www.anchorterminal.com/compare/gemini-cli-vs-opencode.md)\n- [Gemini CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/gemini-cli-vs-vibe-trading.md)\n- [GitHub Copilot CLI vs OpenCode](https://www.anchorterminal.com/compare/github-copilot-cli-vs-opencode.md)\n- [GitHub Copilot CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/github-copilot-cli-vs-vibe-trading.md)\n- [goose vs OpenCode](https://www.anchorterminal.com/compare/goose-vs-opencode.md)\n- [goose vs Vibe-Trading](https://www.anchorterminal.com/compare/goose-vs-vibe-trading.md)\n- [Harness² vs OpenCode](https://www.anchorterminal.com/compare/harness2-vs-opencode.md)\n- [Harness² vs Vibe-Trading](https://www.anchorterminal.com/compare/harness2-vs-vibe-trading.md)\n- [HarnessRouter vs OpenCode](https://www.anchorterminal.com/compare/harnessrouter-vs-opencode.md)\n- [HarnessRouter vs Vibe-Trading](https://www.anchorterminal.com/compare/harnessrouter-vs-vibe-trading.md)\n- [Jules vs OpenCode](https://www.anchorterminal.com/compare/jules-vs-opencode.md)\n- [Jules vs Vibe-Trading](https://www.anchorterminal.com/compare/jules-vs-vibe-trading.md)\n- [Junie CLI vs OpenCode](https://www.anchorterminal.com/compare/junie-vs-opencode.md)\n- [Junie CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/junie-vs-vibe-trading.md)\n- [Kilo Code CLI vs OpenCode](https://www.anchorterminal.com/compare/kilo-code-cli-vs-opencode.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 OpenCode](https://www.anchorterminal.com/compare/kimi-code-cli-vs-opencode.md)\n- [Kimi Code CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/kimi-code-cli-vs-vibe-trading.md)\n- [Kiro CLI vs OpenCode](https://www.anchorterminal.com/compare/kiro-cli-vs-opencode.md)\n- [Kiro CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/kiro-cli-vs-vibe-trading.md)\n- [mini-swe-agent vs OpenCode](https://www.anchorterminal.com/compare/mini-swe-agent-vs-opencode.md)\n- [mini-swe-agent vs Vibe-Trading](https://www.anchorterminal.com/compare/mini-swe-agent-vs-vibe-trading.md)\n- [MiniMax Code vs OpenCode](https://www.anchorterminal.com/compare/minimax-code-vs-opencode.md)\n- [MiniMax Code vs Vibe-Trading](https://www.anchorterminal.com/compare/minimax-code-vs-vibe-trading.md)\n- [Mistral Vibe CLI vs OpenCode](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-opencode.md)\n- [Mistral Vibe CLI vs Vibe-Trading](https://www.anchorterminal.com/compare/mistral-vibe-cli-vs-vibe-trading.md)\n- [Muse Code vs OpenCode](https://www.anchorterminal.com/compare/muse-code-vs-opencode.md)\n- [Muse Code vs Vibe-Trading](https://www.anchorterminal.com/compare/muse-code-vs-vibe-trading.md)\n- [OpenAI Codex vs OpenCode](https://www.anchorterminal.com/compare/openai-codex-vs-opencode.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 Prime Agent](https://www.anchorterminal.com/compare/opencode-vs-prime-agent.md)\n- [OpenCode vs Qoder CLI](https://www.anchorterminal.com/compare/opencode-vs-qoder-cli.md)\n- [OpenCode vs Qwen Code](https://www.anchorterminal.com/compare/opencode-vs-qwen-code.md)\n- [OpenCode vs Mirror CLI](https://www.anchorterminal.com/compare/opencode-vs-reflection-mirror.md)\n- [OpenCode vs Rovo Dev CLI](https://www.anchorterminal.com/compare/opencode-vs-rovo-dev-cli.md)\n- [OpenCode vs Warp (Warp Agent CLI and the Oz Agent API)](https://www.anchorterminal.com/compare/opencode-vs-warp.md)\n- [OpenHands vs Vibe-Trading](https://www.anchorterminal.com/compare/openhands-vs-vibe-trading.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 OpenCode](https://www.anchorterminal.com/compare/cli-manager-vs-opencode.md)\n- [CLI Manager vs Vibe-Trading](https://www.anchorterminal.com/compare/cli-manager-vs-vibe-trading.md)\n- [Harness vs OpenCode](https://www.anchorterminal.com/compare/harness-autonomous-vs-opencode.md)\n- [Harness vs Vibe-Trading](https://www.anchorterminal.com/compare/harness-autonomous-vs-vibe-trading.md)\n- [OpenCode vs Paperclip](https://www.anchorterminal.com/compare/opencode-vs-paperclip.md)\n- [OpenCode vs Parallax](https://www.anchorterminal.com/compare/opencode-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": "OpenCode vs Vibe-Trading",
        "url": ""
      }
    ],
    "description": "OpenCode scores 68.5 (B) to Vibe-Trading's 62.2 (B) for agent harnesses. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenCode B 68.5",
      "Vibe-Trading B 62.2",
      "scores"
    ],
    "h1": "OpenCode vs Vibe-Trading",
    "image": "https://www.anchorterminal.com/assets/og/compare-opencode-vs-vibe-trading.png",
    "path": "/compare/opencode-vs-vibe-trading",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenCode vs Vibe-Trading for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-25",
    "url": "https://www.anchorterminal.com/compare/opencode-vs-vibe-trading"
  },
  "tokens": {
    "markdown": 3650,
    "slim": 630
  },
  "version": 1
}
