Use DeepChat's bundled CLI control plane for model inference, image/video/speech generation, transcription, OCR, artifact inspection, public configuration, Skills, and MCP operations. Activate when a user asks to invoke DeepChat capabilities that are not already exposed as a more specific tool, compare models, run a benchmark, inspect DeepChat runtime state, or manage DeepChat through the CLI.
Install
npx skillscat add thinkinaixyz/deepchat/deepchat-cli Install via the SkillsCat registry.
DeepChat CLI
Use the bundled deepchat command to ask the running DeepChat main process to perform supported
operations. The main process remains the sole owner of providers, credentials, Skills, MCP servers,
artifacts, Agent runs, and approvals.
Command rules
- Every command must begin exactly with
deepchat <domain> <verb>. Put--json,--jsonl,--timeout, and all domain options after the domain and verb. - Execute one standalone command per
execcall. Do not use pipes, redirection, command separators,
command substitution, environment assignments, or shell wrappers arounddeepchat. - Quote every user-controlled argument for the current shell. Never interpolate untrusted text into
an unquoted command. - Prefer
--jsonfor one result and--jsonlfor streaming or benchmark collection. Use text mode
only when its output will be returned directly to the user. - Do not inspect authentication environment variables or DeepChat's local descriptor. Authorization
is injected only after the command has passed the normal shell permission check. - A shell approval authorizes command execution. Sensitive mutations can additionally pause for a
renderer approval; wait for that decision and never attempt to manufacture confirmation data. - Use
deepchat helpordeepchat <domain> <verb> --helponly when the options below are
insufficient. Do not probe undocumented routes.
Agent file and recursion boundaries
- Agent callers may consume a DeepChat-owned artifact with
--artifact <id>and inspect metadata
withartifact describe. - Do not use
--file,--out,--overwrite,artifact get, orartifact delete. Agent callers
cannot upload arbitrary local bytes, download artifact bytes, or choose output paths. - Do not call
agent runorrun watch. An Agent cannot recursively create a detached Agent run,
and waiting on its own currently executing run would deadlock it. Userun getfor a nonblocking
snapshot orrun cancelto request cancellation. - Generated media remains in DeepChat's artifact spool. Return the artifact metadata or ID so the
application can render or reuse it.
Discovery and model calls
deepchat system status --json
deepchat system capabilities --json
deepchat system doctor --json
deepchat provider list --enabled-only --json
deepchat model list --provider <provider-id> --json
deepchat model config-get --provider <provider-id> --model <model-id> --json
deepchat model invoke --provider <provider-id> --model <model-id> --prompt <quoted-text> --jsonlAlways discover provider and model IDs rather than guessing them. model invoke is a raw provider
call: it does not create a chat session, run tools, or start an Agent loop.
Media, transcription, and OCR
deepchat image generate --provider <provider-id> --model <model-id> --prompt <quoted-text> --jsonl
deepchat video generate --provider <provider-id> --model <model-id> --prompt <quoted-text> --jsonl
deepchat audio speak --provider <provider-id> --model <model-id> --text <quoted-text> --jsonl
deepchat audio transcribe --provider <provider-id> --model <model-id> --artifact <artifact-id> --json
deepchat ocr status --json
deepchat ocr extract --artifact <artifact-id> --json
deepchat artifact describe --id <artifact-id> --jsonUse the provider/model lists to choose a compatible runtime. OCR is local and does not require a
provider. OCR text is returned inline and is not written to the artifact spool.
Public configuration and management
Read-only operations:
deepchat settings get --json
deepchat skill list --json
deepchat mcp list --jsonAgent callers may request renderer approval for preference-only settings, query-free HTTPS Skill
installation, and adding a new disabled HTTPS remote MCP configuration. Only perform one when it
directly satisfies the user's request:
deepchat settings set --key <public-key> --value <json-scalar> --json
deepchat skill install --url <https-url> --json
deepchat mcp add --name <server-name> --stdin --jsonThe Agent setting allowlist is limited to presentation preferences such as font size/family,
artifact effects, auto-scroll, notifications, and copy-with-reasoning. Agent Skill URLs cannot carry
credentials, query parameters, or fragments. The main process classifies MCP input before approval
and rejects stdio commands, non-HTTPS endpoints, headers, authorization bindings, or configurations
too large to review safely. Provider/model configuration, credential writes, local Skill archives,
Skill enable/disable/removal, MCP update/runtime control/removal, and every destructive operation
require the DeepChat UI or a human terminal.
Benchmark discipline
- Pin provider/model IDs and pass per-invocation options; do not mutate global defaults to prepare a
benchmark. - Record structured output, exit status, wall time, and errors. Preserve failed samples.
- For OCR, distinguish cache hit, cache miss with warm runtime, cold runtime after app restart, and
offline availability.ocr clear-cacheinitializes the resource graph but does not start the OCR
helper, so classify the next extraction from its reported pre-extraction runtime state. - Run samples sequentially unless the benchmark explicitly measures concurrency; Agent compute is
rate-limited and bounded by the main process.