Skip to main content

DeepParallel - a multi-model agentic coding CLI with cross-model Guardian review, served via Crowe Logic.

Project description

DeepParallel

A focused command-line interface for the DeepParallel model, served via Crowe Logic.

Install

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

Configure

Set the backend env vars (a .env file in the working directory is loaded automatically):

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

# or route through the Crowe Logic Foundry control plane:
DEEPPARALLEL_BACKEND=foundry
FOUNDRY_BASE_URL=https://<control-plane>
FOUNDRY_API_KEY=<token>

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

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.

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)
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 2048
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 DeepSeek-R1-0528
DEEPPARALLEL_PARALLEL_MODELS comma-separated chains for --deep (three defaults)
DEEPPARALLEL_JUDGE_DEPLOYMENT judge/synthesizer model the primary deployment
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 the reasoner

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deepparallel-0.2.0.tar.gz (51.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepparallel-0.2.0-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file deepparallel-0.2.0.tar.gz.

File metadata

  • Download URL: deepparallel-0.2.0.tar.gz
  • Upload date:
  • Size: 51.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for deepparallel-0.2.0.tar.gz
Algorithm Hash digest
SHA256 64d87395924f99f1ed75c8f96cf5417ef69cf2cc90b3f2a4a712a035482d3951
MD5 89554376183ff14f0a4bc7b7a7eb2400
BLAKE2b-256 7647291a5bd39ce3c2636fe45cfdc75e2ff6b06991a55929e6fc0b1febd64368

See more details on using hashes here.

File details

Details for the file deepparallel-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: deepparallel-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for deepparallel-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00f4ce664403c2a3936218769018fd4229382bac97fe7308079904a16f2cba6a
MD5 2cf9e9d201557571a6077172f9d74af4
BLAKE2b-256 0b95844f508dd20e85ccbcbd24dd77299c168cff901412d98caee30d7cac2e7c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page