# Deepchat CLI

Use DeepChat's bundled CLI control plane for model inference, image/video/speech...

- Repository: https://github.com/ThinkInAIXYZ/deepchat (6384 stars)
- Category: AI and agents
- License: Apache-2.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ThinkInAIXYZ/deepchat --skill deepchat-cli -g -a claude-code -y`
Codex: `npx skills add ThinkInAIXYZ/deepchat --skill deepchat-cli -g -a codex -y`
Cursor: `npx skills add ThinkInAIXYZ/deepchat --skill deepchat-cli -g -a cursor -y`
Gemini CLI: `npx skills add ThinkInAIXYZ/deepchat --skill deepchat-cli -g -a gemini-cli -y`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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 `exec` call. Do not use pipes, redirection, command separators,
  command substitution, environment assignments, or shell wrappers around `deepchat`.
- Quote every user-controlled argument for the current shell. Never interpolate untrusted text into
  an unquoted command.
- Prefer `--json` for one result and `--jsonl` for 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 help` or `deepchat <domain> <verb> --help` only when the options below are
  insufficient. Do not probe undocumented routes.

## Agent file and recursion boundaries

The rest: https://github.com/ThinkInAIXYZ/deepchat/blob/HEAD/resources/skills/deepchat-cli/SKILL.md
