Commit Graph

499 Commits

Author SHA1 Message Date
arssing 2fe15bd2cd feat: add proxy support for httpx clients (#125)
Add proxy support for providers based on
[doc](https://www.python-httpx.org/advanced/proxies/):

- Add per-provider proxy support (HTTP and SOCKS5) for all 4 providers:
nvidia_nim, open_router, lmstudio, llamacpp
- Each provider gets its own env var (NVIDIA_NIM_PROXY,
OPENROUTER_PROXY, LMSTUDIO_PROXY, LLAMACPP_PROXY) for independent proxy
configuration

---------

Co-authored-by: Alishahryar1 <alishahryar2@gmail.com>
2026-04-22 17:06:16 -07:00
Pavel Yurchenko e719e4aed2 feat: deepseek api support (#118)
## Summary

* add native DeepSeek provider support via the shared OpenAI-compatible
provider base
* allow `deepseek/...` model prefixes in config validation
* add `DEEPSEEK_API_KEY` and `DEEPSEEK_BASE_URL` settings
* add DeepSeek entries to `.env.example` and `config/env.example`
* implement `DeepSeekProvider` and register it in provider dependencies
* add a DeepSeek request builder with DeepSeek-specific thinking payload
handling
* preserve Anthropic thinking blocks as `reasoning_content` for
DeepSeek-compatible continuation flows
* update `claude-pick` to discover DeepSeek models from the DeepSeek API
* document DeepSeek usage in `README.md`
* add tests for config validation, provider dependency wiring, request
building, and streaming behavior

## Motivation

DeepSeek exposes an OpenAI-compatible API and can be used directly
without routing through OpenRouter. This lets users spend their existing
DeepSeek balance through the proxy while keeping the same Claude Code
workflow and per-model provider mapping.

## Example

```dotenv
DEEPSEEK_API_KEY="sk-..."
DEEPSEEK_BASE_URL="https://api.deepseek.com"

MODEL_OPUS="deepseek/deepseek-reasoner"
MODEL_SONNET="deepseek/deepseek-chat"
MODEL_HAIKU="deepseek/deepseek-chat"
MODEL="deepseek/deepseek-chat"

---------

Co-authored-by: Alishahryar1 <alishahryar2@gmail.com>
2026-04-22 17:06:01 -07:00
Alishahryar1 c3f6dbe0bc updated nvidia nim models list 2026-04-18 16:43:51 -07:00
Alishahryar1 c0d0ac6d42 lint 2026-04-18 16:33:49 -07:00
Alishahryar1 835d0454e8 Fixes for issue 113 and 116 2026-04-18 16:32:31 -07:00
Muhammad Hamid Raza 7468f53ab7 Fix README installation section for uv (#107) 2026-03-30 11:08:07 -07:00
Alishahryar1 ec904c6e0c lint 2026-03-27 21:49:04 -07:00
Alishahryar1 6dd07d9b6b fix: update test_build_request_body to use enable_thinking=True 2026-03-27 21:48:21 -07:00
Alishahryar1 b75f47b62d Gate NIM thinking params behind NIM_ENABLE_THINKING env var
Mistral models reject chat_template_kwargs, causing 400 errors. Make
thinking params (chat_template_kwargs, reasoning_budget) opt-in via
NIM_ENABLE_THINKING env var (default false) so only models that need it
(kimi, nemotron) receive them.
2026-03-27 21:44:36 -07:00
Alishahryar1 ab0d6aca14 added parallel runs for pytest 2026-03-27 21:28:45 -07:00
th-ch f703a0e403 Implement optional authentication (Anthropic style) (#80) 2026-03-27 11:11:47 -07:00
Avishek Behera 587931d279 (doc): Update README with PowerShell and proxy server instructions (#101) 2026-03-27 11:08:43 -07:00
Alishahryar1 812fc5ea3b updated models list 2026-03-27 11:06:23 -07:00
Alishahryar1 2fad4dd4c9 Support both kimi (thinking) and nemotron (enable_thinking) in chat_template_kwargs 2026-03-26 12:34:12 -07:00
Alishahryar1 f9e7f65f4c Fix NVIDIA NIM reasoning params for updated API
Replace dropped params (thinking, reasoning_split, include_reasoning,
return_tokens_as_token_ids, reasoning_effort) with the new API format:
chat_template_kwargs.enable_thinking=True and reasoning_budget=max_tokens.
2026-03-26 12:25:04 -07:00
Yuval Dinodia 00038209b2 fix: remove unsupported include_stop_str_in_output NIM param (#95) 2026-03-23 11:38:13 -07:00
Ali Khokhar 747262a7ce Update README.md 2026-03-15 12:54:30 -07:00
Alishahryar1 3761780ba1 Updated nvidia nim models list 2026-03-15 12:52:44 -07:00
Alishahryar1 4a59f1f708 Added log line for missed optimization 2026-03-11 07:27:16 -07:00
Alishahryar1 55945df1d2 removed logging utils 2026-03-11 07:24:50 -07:00
Xi Gou 4ead059760 update vscode config item name (#81)
Identifier
anthropic.claude-code
Version
2.1.72
Last Updated
2 hours ago
Size
281.35MB
2026-03-11 06:32:20 -07:00
Ali Khokhar 2324be4989 Update README.md 2026-03-08 14:35:37 -07:00
Alishahryar1 d679ca2411 Updated Claude.md to point to AGENTS.md 2026-03-08 12:19:18 -07:00
Alishahryar1 5a36a32836 feat: add llama.cpp provider for local anthropic messages API 2026-03-08 10:38:25 -07:00
Alishahryar1 1aedf4763c fix(providers): map httpx exceptions natively and remove type ignores 2026-03-08 08:33:34 -07:00
Alishahryar1 87d8ce1196 feat(lmstudio): route natively to Anthropic /v1/messages endpoint
- Rewrites LMStudioProvider to inherit from BaseProvider
- Passes requests natively to /v1/messages using httpx instead of AsyncOpenAI
- Auto-translates internal ThinkingConfig to Anthropic schema
- Updates .env.example with model routing instructions
- Adjusts test suite for new native integration
2026-03-08 08:17:05 -07:00
Alishahryar1 1959b9a218 perf: use O(1) reverse mapping in CLISessionManager.remove_session 2026-03-08 07:17:51 -07:00
Ali Khokhar f57598fee3 Move nim_settings from shared base class to NvidiaNimProvider (#78) 2026-03-07 22:34:45 -08:00
Ali Khokhar 884ddd77af Add tests for fcc-init entrypoint (cli/entrypoints.py) (#77) 2026-03-07 08:27:11 -08:00
Alishahryar1 fc58b43c5e Update README 2026-03-06 22:19:54 -08:00
Alishahryar1 c5e7d6cbb4 Updated uv.lock 2026-03-06 22:13:14 -08:00
Ali Khokhar c5341ecbbe Add option for an installable package (#75) 2026-03-06 22:06:33 -08:00
Alishahryar1 ebc8ac461f Updated nvidia models json file 2026-03-05 09:26:30 -08:00
Ali Khokhar a599319dd6 Update README.md 2026-03-05 00:19:20 -08:00
Alishahryar1 594dbcb2e3 Set python version to 3.14.0 2026-03-02 05:13:04 -08:00
Ali Khokhar 29125296c7 Update CLAUDE.md 2026-03-01 23:45:43 -08:00
Ali Khokhar d1652792d3 Update AGENTS.md 2026-03-01 23:45:32 -08:00
Ali Khokhar 4ba2a4cfd3 Update CLAUDE.md 2026-03-01 23:45:02 -08:00
Ali Khokhar 160370268a Update README with note on new features
Added a note about new features in the README.
2026-03-01 22:30:04 -08:00
Ali Khokhar 63d7f2afe8 Update README 2026-03-01 22:25:06 -08:00
Alishahryar1 ff14baa2d5 Updated README 2026-03-01 22:08:51 -08:00
Alishahryar1 aaa62a2bd7 Relaxed python version requirements 2026-03-01 22:00:34 -08:00
Alishahryar1 2e8b22fa9d Remvoed root insert hack from conftest 2026-03-01 21:57:25 -08:00
Alishahryar1 c1d1368940 Updated README 2026-03-01 21:54:59 -08:00
Alishahryar1 a7d88d5cbd Updated README with per-model mapping, fixed test .env isolation 2026-03-01 21:52:35 -08:00
Alishahryar1 598e21387e Updated README 2026-03-01 21:37:34 -08:00
Alishahryar1 49075b7fa5 Fixed default models 2026-03-01 21:34:01 -08:00
Alishahryar1 ac499cf585 Increased read timeout 2026-03-01 21:33:32 -08:00
Alishahryar1 feba0d456a Updated .env.example 2026-03-01 21:33:17 -08:00
Ali Khokhar 0b324e0421 Per claude model mapping (#66) 2026-03-01 21:32:23 -08:00