Skip to main content

DeepParallel

A multi-model agentic coding CLI with cross-model Guardian review. Many models check the work; you ship with a second opinion. Served via Crowe Logic.

Install

uv tool install deepparallel        # recommended
# or
pipx install deepparallel --python python3.13

Then run deepparallel (or the short alias dp).

Note: on systems with a broken Homebrew Python 3.14, bare pipx install may fail to find a usable interpreter - use uv tool install or pin --python.

From source

uv venv
uv pip install -p .venv -e .

Configure

Free is bring-your-own-key, and the backend is auto-detected from whatever credentials the machine already has (a .env file in the working directory is loaded automatically). Detection order: Azure creds, then an OpenAI key, then an OpenAI-compatible endpoint, then a local Ollama. With none of these, dp prints setup guidance instead of starting.

# OpenAI
OPENAI_API_KEY=sk-...

# Local Ollama: install from https://ollama.com and start it - no other
# config needed; the first installed model is used unless
# DEEPPARALLEL_MODEL is set.

# Any OpenAI-compatible endpoint (incl. the Crowe Logic Foundry control plane)
FOUNDRY_BASE_URL=https://<control-plane>
FOUNDRY_API_KEY=<token>

# Azure OpenAI
AZURE_CORE_ENDPOINT=https://<resource>.openai.azure.com
AZURE_CORE_API_KEY=<key>
DEEPPARALLEL_API_VERSION=2024-08-01-preview   # optional

Pin a backend explicitly with DEEPPARALLEL_BACKEND=openai|ollama|foundry|azure|crowe (or [backend] backend = "..." in ~/.config/deepparallel/config.toml).

Use

deepparallel                 # interactive agent chat
deepparallel run "question"  # one-shot, pipe-friendly (answer on stdout)
deepparallel tools           # list the agent's tools
deepparallel info            # model + backend status
deepparallel doctor          # diagnose config + reachability
deepparallel run --no-tools "..."   # plain chat, no tools
deepparallel run --yes "..."        # auto-approve tool actions
deepparallel review <file|--diff>   # cross-model review as a CI gate (Pro)
deepparallel audit <file>           # supply-chain gate: catch hallucinated deps (Pro)
deepparallel research conduit       # latent-relay research demo (needs [research] extra)

Supply-chain gate

LLMs invent package names that don't exist — and attackers register those names ("slopsquatting"). deepparallel audit <file> extracts the dependencies a file introduces (imports, requirements.txt, package.json) and checks each against the real registry (PyPI / npm), flagging any the registry has never seen. Exit 0 clean, 2 if a likely-hallucinated package is found — so it gates a commit or PR. The Guardian also runs this automatically on every edit: a hallucinated import forces a confirmation even under --yes.

Fusion (stacking models for stronger output)

deepparallel can stack the answerer with a separate reasoning model. All modes compose hosted backends (no GPU/weight-merging), so they are API-call stacking.

deepparallel run --fuse reason "hard question"     # reasoner thinks, answerer answers
deepparallel run --fuse escalate "question"        # answer first; escalate to reasoner only if unsure
deepparallel run --deep "question"                 # heavy: many models in parallel + a judge (slow)
deepparallel run --dual "A,B" "question"           # compare two deployments side by side
deepparallel run --dual "A,B" --synth "question"   # ...and synthesize a merged answer

--fuse also works in interactive chat. Set a default with DEEPPARALLEL_FUSION=reason.

Fusion-native UX (what single-model agents cannot do)

  • Guardian review - before an edit (write_file / edit_file / ast_replace_symbol) is applied, a second model reviews the diff and its verdict (safe / risky: ... / bug: ...) is shown in the confirm card. Advisory: you still approve. Toggle with DEEPPARALLEL_GUARDIAN; pick the reviewer with DEEPPARALLEL_GUARDIAN_DEPLOYMENT.
  • Consensus + divergence - run --deep prints a consensus: chip from cross-model agreement (agreement, not correctness), and on low agreement lists the dissenting candidates.
  • Live dial - in interactive chat, /fast, /fuse, /escalate switch the fusion mode mid-session (shown in the prompt); /deep runs the next prompt as a multi-model query.

Agent and tools

deepparallel is an agent: it can call tools to inspect and change your project.

  • Read-only (run automatically): read_file, list_dir, glob, grep, ast_symbols, ast_show_symbol, web_fetch, web_search, analyze_image.
  • Mutating / executing (require confirmation): write_file, edit_file, ast_replace_symbol, run_shell, run_code, open_path (open a file, folder, or URL in the OS default app - e.g. an HTML report in the browser).

In interactive chat, type /auto to toggle auto-approve (tools run without asking; edits outside the project and unknown dependencies still confirm), or start with deepparallel --yes.

web_search needs DEEPPARALLEL_SEARCH_API_KEY; analyze_image works out of the box on a multimodal deployment (override with DEEPPARALLEL_VISION_DEPLOYMENT).

In interactive chat, mutating actions prompt for y/n. In run (non-interactive) they are denied unless you pass --yes. ast_* tools are multi-language via tree-sitter; run_code executes in a Docker sandbox when available, else a timeboxed local subprocess.

Configuration reference

Variable Purpose Default
DEEPPARALLEL_BACKEND azure or foundry azure
AZURE_CORE_ENDPOINT / AZURE_CORE_API_KEY Azure transport (required for azure)
AZURE_MIKE9320_ENDPOINT / AZURE_MIKE9320_KEY, AZURE_MIKE6250_ENDPOINT / AZURE_MIKE6250_KEY the other Azure resources in models.json; a model id resolves to every resource that is keyed (optional; unlocks Claude, GPT-5.6, Kimi K3)
DEEPPARALLEL_API_VERSION Azure API version 2024-08-01-preview
FOUNDRY_BASE_URL / FOUNDRY_API_KEY control-plane transport (required for foundry)
DEEPPARALLEL_TEMPERATURE default sampling temperature 0.4
DEEPPARALLEL_MAX_TOKENS response cap (large enough to write whole files) 8192
DEEPPARALLEL_THINK surface reasoning stream 0 (answer-only)
DEEPPARALLEL_TOOLS enable agent tools 1 (on)
DEEPPARALLEL_AUTO_APPROVE auto-approve mutating tools 0 (off)
DEEPPARALLEL_MAX_STEPS max agent tool-call rounds 12
DEEPPARALLEL_SHELL_TIMEOUT run_shell timeout (s) 120
DEEPPARALLEL_SANDBOX auto / docker / subprocess for run_code auto
DEEPPARALLEL_PLAIN force plain (non-rich) output 0
DEEPPARALLEL_FUSION default fusion: off / reason / escalate off
DEEPPARALLEL_REASONER_DEPLOYMENT reasoner model for fusion gpt-5.6
DEEPPARALLEL_PARALLEL_MODELS comma-separated chains for --deep gpt-5.6,claude-fable-5-1,DeepSeek-V4-Pro,grok-4.3,Kimi-K3
DEEPPARALLEL_JUDGE_DEPLOYMENT judge/synthesizer model gpt-5.6
DEEPPARALLEL_SEARCH_API_KEY enables web_search (Brave Search API) (unset)
DEEPPARALLEL_SEARCH_URL search API endpoint Brave web search
DEEPPARALLEL_VISION_DEPLOYMENT multimodal model for analyze_image Llama-4-Scout
DEEPPARALLEL_GUARDIAN second-model review of edits before apply 1 (on)
DEEPPARALLEL_GUARDIAN_DEPLOYMENT the reviewer model DeepSeek-V4-Flash

DeepParallel is served via Crowe Logic infrastructure. https://crowelogic.com

Metadata

Release files for deepparallel 0.11.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for deepparallel 0.11.1
File Size Uploaded
deepparallel-0.11.1.tar.gz 235.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for deepparallel 0.11.1
File Interpreter ABI Platform
deepparallel-0.11.1-py3-none-any.whl Python 3 none any Details

Total release size: 431.0 kB

Release files / deepparallel-0.11.1.tar.gz

Download URL deepparallel-0.11.1.tar.gz
Size 235.1 kB
Tags Source
SHA-256 checksum
How to use checksums
40c9d5dd5afc5efff02c3a2d4bf4f634175ccdfe69bed467a840287329b1126f
BLAKE2b-256 checksum
How to use checksums
bc8380edb62c010224bcd07fb2c6a99ec130a057dbcdfce43596c07edb800986
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / deepparallel-0.11.1-py3-none-any.whl

Download URL deepparallel-0.11.1-py3-none-any.whl
Size 195.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9224053e4f43ce9abde9ec56004de013b56b9edda80da3b91901a6f3b184a8c2
BLAKE2b-256 checksum
How to use checksums
76667dce4f01980b4d6a3178da257fdc0ad7e4b320bd35e5e17b1e71d64a4881
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.11.1 This release

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.9

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.7

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page