Developer-focused DeepSeek command line tools
Project description
DeepSeek CLI
https://pypi.org/project/deepseek-agent/
Developer-focused command line tools for working with DeepSeek models. The CLI packages both an interactive chat shell and an agentic coding assistant with repository-aware tooling, plus configuration helpers and transcript logging.
Features
- Agent mode (
deepseek agent) orchestrates tool-aware coding sessions with the DeepSeek API, optional read-only mode, transcripts, and workspace controls. - Chat mode (
deepseek chat) supports single-response or interactive conversations with streaming output and transcript capture. - Config mode (
deepseek config) manages stored defaults while respecting environment variable overrides. - Ships as a Python package with an executable entry point and Homebrew formula for distribution flexibility.
Requirements
- Python 3.9 or newer.
- A DeepSeek API key exported as
DEEPSEEK_API_KEYor stored viadeepseek config. pip23+ is recommended. Create a virtual environment for isolated installs.
Installation
From PyPI (recommended once released)
python -m pip install --upgrade pip
python -m pip install deepseek-agent
To upgrade later:
python -m pip install --upgrade deepseek-agent
From GitHub
Install the latest commit directly from GitHub:
python -m pip install "git+https://github.com/PDFSage/deepseek_cli.git@main"
Specify a tag (for example v0.1.2) to pin a release:
python -m pip install "git+https://github.com/PDFSage/deepseek_cli.git@v0.1.2"
From a local clone
git clone https://github.com/PDFSage/deepseek_cli.git
cd deepseek_cli
python -m venv .venv
source .venv/bin/activate # On Windows use: .venv\\Scripts\\activate
python -m pip install --upgrade pip
python -m pip install -e . # or `python -m pip install .` for a standard install
The editable install (-e) keeps the CLI synced with local source changes while
developing.
Configuration
The CLI resolves settings in the following order:
- Command line flags (
--api-key,--base-url,--model, etc.). - Environment variables:
DEEPSEEK_API_KEY,DEEPSEEK_BASE_URL,DEEPSEEK_MODEL,DEEPSEEK_SYSTEM_PROMPT. - Stored configuration file at
~/.config/deepseek-cli/config.json.
Helpful commands:
deepseek config init # Guided prompt to store your API key
deepseek config show # Display the current configuration (API key redacted)
deepseek config show --raw # Show the API key in plain text
deepseek config set model deepseek-reasoner # Update an individual field
deepseek config unset model
If the config directory is unwritable, fall back to environment variables.
Usage
Interactive agent (default)
Running deepseek with no arguments launches the interactive coding agent,
similar to Claude Code or the Gemini CLI. The shell waits for the agent to
initialise, then prompts for your request. Commands starting with : adjust the
session (for example :workspace, :model, :read-only, :transcript, and
:help). Each request can include optional follow-up lines; press Enter on an
empty line to run the agent.
If no API key is configured, the CLI exits with instructions to create one at https://platform.deepseek.com/api_keys.
Verify installation
deepseek --version
# or use the legacy alias if preferred
deepseek-cli --version
Get help for any subcommand:
deepseek --help
Chat mode
deepseek chat "Summarise the last commit"
deepseek chat --interactive --model deepseek-reasoner \
--transcript ~/Desktop/session.jsonl
--no-streamdisables live token streaming.--temperature,--top-p, and--max-tokensmirror the OpenAI Chat Completions API.- Provide
--transcriptto log each exchange to JSONL for later review.
Agent mode
deepseek agent "Refactor the HTTP client" \
--workspace ~/code/project --max-steps 30 --transcript transcript.jsonl
- The agent uses repository-aware tools: list directories, read/write files, apply patches, run shell commands, and search text.
- Add
--follow-up "Also add tests"for additional prompts. - Use
--read-onlyto prevent write operations and--quietto suppress progress logs.
Transcripts and workspaces
- Relative transcript paths under agent mode are resolved within the selected workspace.
- Chat transcripts default to
~/.config/deepseek-cli/transcripts/when a file name (not path) is supplied.
Legacy shim
Running python deepseek_agentic_cli.py prints a compatibility notice and
forwards the call to deepseek agent, so existing automation keeps working.
Publishing to PyPI
- Update the version in
pyproject.tomland commit your changes. - Remove old build artifacts:
rm -rf build dist *.egg-info
- Install packaging tooling:
python -m pip install --upgrade build twine
- Build the source and wheel distributions:
python -m build
- Verify the archives:
python -m twine check dist/*
- Upload to TestPyPI (optional but recommended):
python -m twine upload --repository testpypi dist/*
- Upload to PyPI:
python -m twine upload dist/*
After publishing, users can install with pip install deepseek-agent.
Development
python -m deepseek_cli --versionexercises the module entry point.python -m deepseek_cli chat --helpshows chat-specific flags.python -m deepseek_cli agent --helplists agent options.- Run
ruff,pytest, or other tooling as required by your workflow.
Contributions welcome! Open issues or pull requests to extend functionality.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deepseek_agent-0.1.2.tar.gz.
File metadata
- Download URL: deepseek_agent-0.1.2.tar.gz
- Upload date:
- Size: 15.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13b2015bcb3488ffd22aad08bbda3294b27fe6de1d4e97b31e627e42cfb81a04
|
|
| MD5 |
9091ce90870d144987ed72e55f27f875
|
|
| BLAKE2b-256 |
46fa00440966b5659255ddf57a68806fb5e587d5e714625291a2c71acfdb1dd2
|
File details
Details for the file deepseek_agent-0.1.2-py3-none-any.whl.
File metadata
- Download URL: deepseek_agent-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45d18328cb7669ea0d5826849fab7c6aeae32f2f832934d8b9d0373e61b26575
|
|
| MD5 |
feb45f4a4568bf7c53599b416a917626
|
|
| BLAKE2b-256 |
4a080c2d9294efdc8a0a9d7e3d761f67c7678c1a57fc540b417451237014f0eb
|