cc-fleet

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2026 License: Apache-2.0

README

cc-fleet

Spawn any third-party LLM provider with an Anthropic-compatible API (e.g. DeepSeek, GLM, Kimi, Qwen, MiniMax) as real Claude Code agent-team teammates or one-shot subagents — driven exactly like native teammates. Your main session's own auth (OAuth subscription or API key) is untouched; vendor workers bill the vendor API key via apiKeyHelper (the key never enters env, argv, or shell history).

cc-fleet is a small Go CLI plus one Claude Code skill. The CLI manages per-vendor profiles, dispatches API keys via apiKeyHelper, and spawns teammate sessions in tmux panes. The skill teaches Claude Code when to delegate work to those teammates.

Install

One-line (recommended)

curl -fsSL https://raw.githubusercontent.com/ethanhq/cc-fleet/main/install.sh | sh

Downloads the prebuilt binary, installs cc-fleet + the ccf alias, and adds the skill via the Claude Code plugin. Flags (after | sh -s --): --skill plugin|global|none, --scope user|project|local, --prefix DIR, --version vX.Y.Z.

npm

npm install -g cc-fleet      # or run once: npx cc-fleet

go install

go install github.com/ethanhq/cc-fleet/cmd/cc-fleet@latest
ln -sf "$(go env GOPATH)/bin/cc-fleet" "$(go env GOPATH)/bin/ccf"   # optional ccf alias

Prebuilt tarball — download from Releases:

tar -xzf cc-fleet-*.tar.gz && cd cc-fleet-*/ && ./install.sh

From source

git clone https://github.com/ethanhq/cc-fleet.git && cd cc-fleet && make install

The skill

The binary is just the CLI. To teach Claude Code when to delegate, install the skill via the plugin (the one-line installer does this by default):

claude plugin marketplace add ethanhq/cc-fleet
claude plugin install cc-fleet@ethanhq

First run

cc-fleet init        # create config at ~/.config/cc-fleet/
cc-fleet add <vendor> ...    # register a vendor
cc-fleet doctor      # health-check

License

Apache-2.0.

Directories

Path Synopsis
cmd
cc-fleet command
Command cc-fleet is the CLI entry point for the cc-fleet vendor-profile manager.
Command cc-fleet is the CLI entry point for the cc-fleet vendor-profile manager.
internal
ccver
Package ccver locates the installed `claude` binary and reports its version.
Package ccver locates the installed `claude` binary and reports its version.
config
Package config reads, writes, and validates ~/.config/cc-fleet/vendors.toml.
Package config reads, writes, and validates ~/.config/cc-fleet/vendors.toml.
doctor
Package doctor implements the nine health checks behind `cc-fleet doctor`.
Package doctor implements the nine health checks behind `cc-fleet doctor`.
fileutil
Package fileutil holds small file-system primitives shared across cc-fleet.
Package fileutil holds small file-system primitives shared across cc-fleet.
fingerprint
Package fingerprint provides the per-cc-version spawn template (env vars + flag list) that cc-fleet replays when launching vendor teammates.
Package fingerprint provides the per-cc-version spawn template (env vars + flag list) that cc-fleet replays when launching vendor teammates.
ids
Package ids validates cc-fleet identifiers (team names, member names) that flow into filesystem paths, tmux labels, inbox file names, and agent IDs.
Package ids validates cc-fleet identifiers (team names, member names) that flow into filesystem paths, tmux labels, inbox file names, and agent IDs.
leadsession
Package leadsession detects the parent Claude Code session for commands that are launched from a Claude Bash tool but do not otherwise have a team context.
Package leadsession detects the parent Claude Code session for commands that are launched from a Claude Bash tool but do not otherwise have a team context.
models
Package models caches and refreshes per-vendor model lists fetched from each vendor's `/v1/models` endpoint.
Package models caches and refreshes per-vendor model lists fetched from each vendor's `/v1/models` endpoint.
neterr
Package neterr centralizes the single question three call sites need to answer the same way: did a request fail at the transport layer — before any HTTP response came back?
Package neterr centralizes the single question three call sites need to answer the same way: did a request fail at the transport layer — before any HTTP response came back?
onboarding
Package onboarding implements cc-fleet's first-run guided setup: it covers two teammate-mode prerequisites — tmux and agent-teams — guides the user to fix them WITH CONSENT, and persists the user's decisions so later runs never re-nag.
Package onboarding implements cc-fleet's first-run guided setup: it covers two teammate-mode prerequisites — tmux and agent-teams — guides the user to fix them WITH CONSENT, and persists the user's decisions so later runs never re-nag.
panevis
Package panevis orchestrates hiding and showing a teammate's tmux pane without killing its process.
Package panevis orchestrates hiding and showing a teammate's tmux pane without killing its process.
procintrospect
Package procintrospect provides the small set of process-introspection operations cc-fleet performs by reading process state: a process's argv, its immediate child pids, and the whole process table.
Package procintrospect provides the small set of process-introspection operations cc-fleet performs by reading process state: a process's argv, its immediate child pids, and the whole process table.
profile
Package profile generates the per-vendor JSON files that Claude Code loads via its `--settings` flag (a.k.a.
Package profile generates the per-vendor JSON files that Claude Code loads via its `--settings` flag (a.k.a.
redact
Package redact masks key-like tokens in any text that may flow into a JSON envelope or error message.
Package redact masks key-like tokens in any text that may flow into a JSON envelope or error message.
secrets
Package secrets dispatches vendor API-key lookups across pluggable backends.
Package secrets dispatches vendor API-key lookups across pluggable backends.
sessiontitle
Package sessiontitle resolves human-readable Claude Code session titles from transcript metadata.
Package sessiontitle resolves human-readable Claude Code session titles from transcript metadata.
spawn
Package spawn orchestrates the end-to-end "spawn a vendor teammate" flow: vendor probe, profile install, fingerprint apply, team registration, and tmux split-window.
Package spawn orchestrates the end-to-end "spawn a vendor teammate" flow: vendor probe, profile install, fingerprint apply, team registration, and tmux split-window.
subagent
Package subagent runs a ONE-SHOT, HEADLESS vendor subagent: it launches `claude -p` backed by a third-party vendor model (via the vendor profile's --settings + --model) and returns the result synchronously.
Package subagent runs a ONE-SHOT, HEADLESS vendor subagent: it launches `claude -p` backed by a third-party vendor model (via the vendor profile's --settings + --model) and returns the result synchronously.
teardown
Package teardown removes cc-fleet teammates and team state.
Package teardown removes cc-fleet teammates and team state.
tmux
Package tmux is a thin subprocess wrapper around the `tmux` binary covering the operations cc-fleet's spawn / teardown / ps / hide-show flows need: pick a spawn target, split a window to host a teammate or create a tiled swarm session, enumerate / kill panes, kill a server, and break / join panes for hide/show.
Package tmux is a thin subprocess wrapper around the `tmux` binary covering the operations cc-fleet's spawn / teardown / ps / hide-show flows need: pick a spawn target, split a window to host a teammate or create a tiled swarm session, enumerate / kill panes, kill a server, and break / join panes for hide/show.
tui
Package tui implements the interactive terminal UI shown when cc-fleet is run bare (no subcommand) from an interactive terminal.
Package tui implements the interactive terminal UI shown when cc-fleet is run bare (no subcommand) from an interactive terminal.
userops
Package userops implements the user-layer CRUD operations behind `cc-fleet init / add / edit / remove / list / repair / uninstall`.
Package userops implements the user-layer CRUD operations behind `cc-fleet init / add / edit / remove / list / repair / uninstall`.
vendorclass
Package vendorclass is the one shared place that turns a raw vendor failure into a stable, key-safe classification.
Package vendorclass is the one shared place that turns a raw vendor failure into a stable, key-safe classification.
version
Package version exposes the cc-fleet build version.
Package version exposes the cc-fleet build version.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL