Skip to main content

DeepSeek Anthropic-compatible web search CLI for Claude Code

Project description

DeepSeek Search

DeepSeek Search is a Claude Code plugin that wraps DeepSeek's Anthropic-compatible Web Search capability as a local Python CLI and exposes it through a Claude Code skill.

What it provides

  • A deepseek-search CLI (Python + uv), published on PyPI.
  • DeepSeek API configuration under ~/.deepseek.
  • A Claude Code skill at plugins/deepseek_search/skills/deepseek_search/SKILL.md that tells Claude Code when and how to call the CLI.

Project layout

.claude-plugin/marketplace.json
.github/workflows/          # CI + publish-to-PyPI on `v*` tags
plugins/deepseek_search/    # Claude Code plugin manifest + skill
  .claude-plugin/plugin.json
  skills/deepseek_search/SKILL.md
src/deepseek_search.py      # CLI implementation
tests/test_deepseek_search.py
pyproject.toml
uv.lock

The Python package lives at the repository root; plugins/deepseek_search/ holds only the Claude Code plugin manifest and skill instructions.

Install

The recommended way to use the CLI is as a global uv tool:

uv tool install deepseek-search

Then deepseek-search is available on PATH everywhere.

From source (development)

git clone https://github.com/8DE4732A/deepseek-search.git
cd deepseek-search
uv sync --dev            # install dependencies
uv run pytest            # run tests (no API key required)

Configure DeepSeek

All configuration lives under ~/.deepseek and is managed through the config subcommand. There are no environment variables — settings come from the config files or one-off CLI flags.

deepseek-search config init                                    # write a default config.json
deepseek-search config set api_key YOUR_DEEPSEEK_API_KEY       # stored in ~/.deepseek/credentials.json (chmod 600)
deepseek-search config set model deepseek-v4-pro[1m]           # set any field
deepseek-search config get model                               # read a single value
deepseek-search config list                                    # show full effective config (api_key masked)

Configurable keys (type-coerced automatically):

Key Stored in Type
api_key credentials.json string (chmod 600)
base_url, model, web_search_tool_type, output_format config.json string
max_tokens, max_retries config.json int
timeout_seconds config.json float
max_uses, allowed_domains, blocked_domains config.json (search.*) int / comma-list

Advanced search flags (--model, --max-tokens, --timeout, --max-uses, --allowed-domain, --blocked-domain, …) override config.json for a single run without writing it back.

CLI usage

deepseek-search --json --query "DeepSeek Claude Code web search documentation"
deepseek-search "DeepSeek API Claude Code integration"        # bare positional query also works
deepseek-search search --markdown "DeepSeek API Claude Code integration"
deepseek-search --help

The JSON output includes:

  • answer
  • citations
  • warnings
  • usage
  • model
  • request_id
  • stop_reason

Releasing / publishing

Releases are produced automatically by the Publish to PyPI GitHub Action whenever a v* git tag is pushed:

git tag v0.1.0
git push origin v0.1.0

Prerequisites (one-time, in the GitHub repo + PyPI):

  1. Register the project as a Trusted Publisher on PyPI:
    • PyPI publishing environment: pypi
    • GitHub repository: 8DE4732A/deepseek-search
    • Workflow filename: publish.yml
    • Environment name: pypi
  2. No PyPI API token is required — publishing uses OIDC.

The package version is derived from the git tag via setuptools-scm, so the workflow fails fast if the tag and the built version disagree.

License

MIT License. See LICENSE.

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

deepseek_search-0.1.0.tar.gz (38.3 kB view details)

Uploaded Source

Built Distribution

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

deepseek_search-0.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file deepseek_search-0.1.0.tar.gz.

File metadata

  • Download URL: deepseek_search-0.1.0.tar.gz
  • Upload date:
  • Size: 38.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deepseek_search-0.1.0.tar.gz
Algorithm Hash digest
SHA256 68982724ee7eef741e8b07960727bcbb0468bcd148d52b4f940abfa4fbe49d60
MD5 5a4559433f78ec443109e1f51004dc5a
BLAKE2b-256 41e15e851f4c3aa0dfc3895ebae8bbafc2661d2b1d89778174d2fa7ef5c23555

See more details on using hashes here.

Provenance

The following attestation bundles were made for deepseek_search-0.1.0.tar.gz:

Publisher: publish.yml on 8DE4732A/deepseek-search

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deepseek_search-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: deepseek_search-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for deepseek_search-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 493f850d62145e720991cb253149b51382b3b9ed7c5250bede5dffafc1aeeb27
MD5 051b1a2f10059f72960ea0fce929e897
BLAKE2b-256 7b72b2b53f06e20524c08365dd68a34c2f46bb02b68f0cc03ba30895cadcb0db

See more details on using hashes here.

Provenance

The following attestation bundles were made for deepseek_search-0.1.0-py3-none-any.whl:

Publisher: publish.yml on 8DE4732A/deepseek-search

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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