Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Deepseek Chat

Deepseek Chat Laravel Package

filaforge/deepseek-chat

Integrate DeepSeek's chat API into your Laravel app with this lightweight package. Send prompts, manage conversations, and handle responses through a clean, configurable interface built for PHP and Laravel developers.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Deepseek Chat
How do I install filaforge/deepseek-chat in a Laravel app?
Install it with Composer, for example composer require filaforge/deepseek-chat, and pin the exact version you have evaluated rather than floating on ^0.8 while you are still validating the package. The package is a standard Laravel-style integration, so the service provider should be auto-discovered and the published config file is where you set defaults. After publishing the config, add your DeepSeek API key to the environment and confirm the key name the config expects by reading config/ in the installed version rather than assuming it.
Which Laravel and PHP versions does filaforge/deepseek-chat support?
That has to be read from the package's composer.json, because the published release notes do not describe a support matrix. A reasonable working assumption for a Laravel client like this is Laravel 10, 11 or 12 on PHP 8.1+, but treat that as a hypothesis to confirm during your spike. Check the require and require-dev blocks plus any CI matrix before you commit to it in a project running an older Laravel version.
How do I configure my DeepSeek API key with this package?
The package follows the usual Laravel pattern: publish the config file, then supply the key through an environment variable referenced by that config. Use per-environment keys with separate spend caps so a staging leak cannot burn production quota, and keep secrets in your secret manager or encrypted config rather than a committed .env. Confirm the exact environment variable name in the published config after installing, since the changelog does not document whether any config keys were renamed between releases.
How do I test code that calls DeepSeek without hitting the real API?
If the package uses Laravel's HTTP client, Laravel's Http::fake() is the cheapest way to stub responses in feature tests and keep your suite fast and deterministic. Wrap the package behind your own gateway interface so unit tests can swap in a fake implementation instead of depending on the vendor facade. Add a small number of contract tests against recorded fixtures so a package upgrade that changes request or response shape fails loudly rather than silently in production.
What changed between v0.8.3 and v0.8.5 of filaforge/deepseek-chat?
The release notes for that range are effectively a bare changelog link with no human-readable summary, no breaking-change callouts and no migration guide, so nobody can answer that from the notes alone. Diff the repository yourself before upgrading, focusing on composer.json, config/, the facade or public interfaces, and anything touching the HTTP transport, retry or timeout behaviour. Under pre-1.0 semver conventions a 0.8.x patch bump should be non-breaking, but that is a convention rather than a guarantee here.
Is filaforge/deepseek-chat safe to use in production?
It is a pre-1.0, single-vendor package with an opaque changelog, so the main risks are release intelligence and maintainability rather than anything obviously malicious. Pin the exact version you validated, loosen to a caret range only after you have diffed the releases yourself, and keep the dependency at the edge of your architecture behind your own interface. Separately, remember that prompts and responses leave your infrastructure, so whether the package is acceptable at all is a data-classification and compliance decision, not a technical one.
Should I call filaforge/deepseek-chat from a controller or from a queued job?
Prefer a queued job invoked through your own ChatCompletionGateway interface so upstream latency stays out of your user-facing p95 and you control retry semantics. A synchronous call inside a request cycle couples your response times to a third-party API you do not operate. Keeping the package behind an interface also stops vendor DTOs from leaking into your domain and application layers, which makes swapping the client later a contained change.
How should I handle timeouts, errors and retries from the DeepSeek API?
Do not assume the package's transport behaviour; check whether it uses Guzzle, the Laravel HTTP client or Saloon, and whether it ships retry or timeout opinions of its own. Set explicit timeouts and implement retries at the job level, where you can apply backoff and idempotency rules you own. Catch and translate vendor exceptions at your gateway boundary so an upstream change in error shape does not ripple through your application code.
How actively is filaforge/deepseek-chat maintained?
It is published under a single-vendor namespace, is still pre-1.0, and appears to have a small release cadence with limited documentation discipline, so bus factor and abandonment are real considerations. There is no evidence in the changelog of a security or credential-handling fix, but also no confirmation that none occurred. Budget for the possibility that you maintain a fork, and keep the dependency thin enough that forking stays cheap.
What are the alternatives to filaforge/deepseek-chat for Laravel?
DeepSeek's chat endpoint is OpenAI-compatible, so any OpenAI-style PHP client or a plain Laravel HTTP client wrapper can talk to it without a dedicated package. Many teams use a generic HTTP client like Saloon or Laravel's own Http facade and write a 50-line gateway, which removes an unmaintained dependency entirely. If you do adopt this package, the sensible hedge is to keep it behind your own interface so replacing it with a hand-rolled client is a small, contained change.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource