BYOAIK (Bring Your Own AI Key) is a directory of AI tools that run on your own API key.

DeerFlow

ByteDance's open-source super-agent harness for deep research, coding, and content, with bring-your-own-key LLMs.

Website Source code

Category:
Agent Frameworks
Maintenance:
Actively developed (last commit today)
Pricing:
Open Source
Open source:
Yes (MIT)
Self-hostable:
Yes
Local-first:
Yes
Platforms:
Web, CLI, Self-hosted, Docker
AI providers (bring your own key):
OpenAI, OpenRouter, Ollama, Custom / OpenAI-compatible
API key storage:
Configured by environment variable
Key risk level:
LOW
Trust score:
93/100

DeerFlow is ByteDance's open-source long-horizon SuperAgent framework that orchestrates sub-agents, search, memory, tools, and sandboxes to handle deep-research, code-generation, and content tasks spanning minutes to hours. It started as a deep-research framework and has expanded into a general multi-agent execution engine. Models are defined in conf.yaml/config.yaml using LangChain-style providers (e.g. langchain_openai:ChatOpenAI) with api_key referencing environment variables such as $OPENAI_API_KEY. The end user supplies their own provider credentials: keys are set in a local .env file (recommended) or exported in the shell, and there is no centralized key management. It is model-agnostic and works with any OpenAI-compatible API, including OpenAI, OpenRouter gateways (with custom base URLs), and local backends like vLLM and Ollama. It ships a web UI (localhost:2026) plus console/CLI usage and is self-hosted via local dev or Docker. Licensed MIT, ~72k GitHub stars, actively maintained by ByteDance (last push June 2026, not archived).

Why this trust score (93/100)

Trust measures how the tool treats your API key and how much of that has been verified. It contains no popularity signal.

  • Key Safety 22/25: The key is supplied by an environment variable or local config file you control.
  • Request Routing 20/20: Requests go straight from you to the AI provider. The provider endpoint is configurable, so you can point it at the provider or your own gateway.
  • Transparency 20/20: Source is public under MIT, so anyone can check how the key is handled. Key handling was located in the published source.
  • Privacy 14/15: Local-first: it works without sending your data anywhere. Can be self-hosted, so the data path stays inside infrastructure you control.
  • Maintenance 10/10: Actively developed: commits within the last three months.
  • Verification Confidence 7/10: Key handling was found in the published source by BYOAIK's scanner.

What was checked

Verification tier SOURCE_VERIFIED, derived from the evidence below and not set by hand.

  • [REPORTED · RESEARCH] This listing was compiled by an AI-assisted research pass over the tool's public website, README and documentation. No person independently confirmed it.
  • [STRONG · SOURCE_SCAN] The user supplies their own OpenAI key: the project references its API key variable. source
  • [STRONG · SOURCE_SCAN] The user supplies their own OpenRouter key: the project references its API key variable. source
  • [STRONG · SOURCE_SCAN] Supports a local model backend, so it can run with no cloud provider key at all. source
  • [STRONG · SOURCE_SCAN] The provider endpoint is configurable, so requests can be pointed straight at the provider or at your own gateway. source
  • [STRONG · SOURCE_SCAN] The user supplies their own Anthropic key: the project references its API key variable. source
  • [STRONG · SOURCE_SCAN] The user supplies their own Google Gemini key: the project references its API key variable. source
  • [STRONG · SOURCE_SCAN] The user supplies their own DeepSeek key: the project references its API key variable. source
  • [CONFIRMED · SOURCE_SCAN] Most recent commit 2026-08-15, about 0 month(s) ago. source

How your API key is handled

Your API key is supplied via an environment variable or local config file. Requests are sent directly to the AI provider. Because it can be self-hosted, your key never has to touch a third-party backend.

Setup

Install the tool, set your provider API key as an environment variable (or in its config file), and pick a model.