Commit Graph

133 Commits

Author SHA1 Message Date
Ali Khokhar 25b329a3fc Update README
Removed duplicate VSCode Extension Setup instructions from README.md.
2026-03-01 05:30:30 -08:00
Mauro Druwel de70700dde feat: Use NVIDIA NIM ASR for audio transcription (#53)
## Summary
Added NVIDIA NIM as a second transcription option ( alongside local
Whisper). This lets you transcribe voice notes using NVIDIA's cloud API
instead of running Whisper locally.

## What changed

- **Transcription**: Now supports the two backends

  - Local Whisper: Free, runs on your GPU/CPU (existing)
  - NVIDIA NIM: Cloud API via Riva gRPC (new)

- **Supported models**: 8 NVIDIA NIM models added (Parakeet variants for
different languages, Whisper Large V3)

---------

Co-authored-by: Alishahryar1 <alishahryar2@gmail.com>
2026-02-28 08:48:59 -08:00
Alishahryar1 cfe43bf5be Updated README 2026-02-28 04:21:05 -08:00
Ali Khokhar 7d99b38b70 Update environment variable syntax in README 2026-02-28 04:04:56 -08:00
Ali Khokhar f9e8226120 Clarify Docker integration acceptance in README
Updated README to clarify Docker integration status.
2026-02-27 20:00:57 -08:00
Ali Khokhar c4d8681000 Backup/before cleanup 20260222 230402 (#58) 2026-02-27 19:50:21 -08:00
Cursor Agent 5d5055f96f docs: update README for removed PROVIDER_TYPE, model prefix format
Co-authored-by: Ali Khokhar <alishahryar2@gmail.com>
2026-02-20 09:37:25 +00:00
Ali Khokhar 4c0c1f125b Update README.md 2026-02-20 01:33:57 -08:00
Rishi Khare 8ffe587a8f docs: rename model picker summary to Multi-Model Support (Model Picker)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 10:40:09 -05:00
Rishi Khare a5496346ca docs: clarify claude-pick avoids needing to edit MODEL in .env
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 10:16:22 -05:00
Rishi Khare 39ad80f6e6 docs: mention source ~/.bashrc as alternative to ~/.zshrc in model picker
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 10:00:43 -05:00
Rishi Khare 5c6d8e150e docs: move model picker to summary within getting started and add demo video
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 09:58:55 -05:00
Claude 45b7e4cafd Make PROVIDER_MAX_CONCURRENCY required with default of 5
- `max_concurrency` is now always an `int` (default 5) — `None`/unlimited
  is no longer a valid state; omitting the env var uses the default
- `GlobalRateLimiter`: semaphore is always created; `concurrency_slot()`
  no longer has None guards; log message always includes concurrency
- `ProviderConfig.max_concurrency`: `int = 5` (was `int | None = None`)
- `Settings.provider_max_concurrency`: `int = Field(default=5, ...)` —
  setting env var to an invalid value (e.g. empty string) raises
- `.env.example`: uncommented `PROVIDER_MAX_CONCURRENCY=5`
- README: updated config table default from `—` to `5`
- Tests: removed `test_concurrency_slot_noop_when_not_configured`;
  updated mock settings to use `5` instead of `None`

https://claude.ai/code/session_014mrF1WMNgmNjtPBuoQHsbg
2026-02-19 14:39:42 +00:00
Claude 41fd316c76 Update README for provider concurrency and removal of MAX_CLI_SESSIONS
- Config table: add PROVIDER_MAX_CONCURRENCY, remove MAX_CLI_SESSIONS
- Discord Bot capabilities: replace "Up to 10 concurrent" with "Unlimited concurrent... (controlled by PROVIDER_MAX_CONCURRENCY)"
- Features table: note optional concurrency cap in Smart Rate Limiting row

https://claude.ai/code/session_014mrF1WMNgmNjtPBuoQHsbg
2026-02-19 14:34:15 +00:00
Alishahryar1 c35ecba9d8 Update Whisper model configuration to use 'base' as the default model ID 2026-02-18 19:36:58 -08:00
Ali Khokhar 889556c2f9 Merge pull request #42 from rishiskhare/model-picker 2026-02-18 18:38:41 -08:00
Alishahryar1 06fff52deb Updated readme 2026-02-18 17:26:46 -08:00
Rishi Khare 406de89ae3 docs: clarify absolute path required for claude-pick alias
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 18:09:26 -05:00
Rishi Khare 142dd587c8 refactor: remove MODEL_PICKER flag — claude-pick always picks
The flag was unnecessary: running claude-pick implies wanting the picker.
Remove MODEL_PICKER from claude-pick and README, restore .env.example
to upstream.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 18:06:15 -05:00
Rishi Khare c66ed28b45 feat: add claude-pick interactive model picker
- Add `claude-pick` bash script: reads PROVIDER_TYPE from .env, fetches
  available models (NVIDIA NIM, OpenRouter, LM Studio), and launches Claude
  with the selected model via fzf. Falls back to direct launch when
  MODEL_PICKER=false.
- Add MODEL_PICKER=false flag to .env.example.
- Document setup in README (fzf install, alias, fixed-model alias pattern).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 18:06:15 -05:00
Alishahryar1 75e066f17f Refactor voice note transcription to use Hugging Face transformers Whisper pipeline
- Updated transcription logic to utilize Hugging Face's Whisper models instead of faster-whisper.
- Introduced new model mapping and pipeline loading functions.
- Adjusted tests to reflect changes in the transcription process.
- Updated documentation in README, .env.example, and settings to align with the new implementation.
- Ensured compatibility with CUDA 13 and removed unnecessary dependencies.
2026-02-18 06:18:28 -08:00
Cursor Agent db646ef2db Remove auto support for whisper_device; only cpu and cuda allowed
- Validate whisper_device in Settings and _get_local_model
- Reject 'auto' with clear ValueError/ValidationError
- Update docs in config, .env.example, README
- Add tests for invalid device and valid cpu/cuda

Co-authored-by: Ali Khokhar <alishahryar2@gmail.com>
2026-02-18 13:38:59 +00:00
Cursor Agent 2135e6da05 Add large-v3 and large-v3-turbo whisper model options
Co-authored-by: Ali Khokhar <alishahryar2@gmail.com>
2026-02-18 13:37:58 +00:00
Cursor Agent eabe8db2e8 Remove CPU fallbacks for voice note transcribe; auto/cuda/cpu fail fast
- Remove _cuda_failed_models and inference-time CPU fallback
- auto: try CUDA only, fail fast on RuntimeError (no CPU fallback)
- cpu/cuda: use device directly, fail fast on errors
- Update docs in config, .env.example, README

Co-authored-by: Ali Khokhar <alishahryar2@gmail.com>
2026-02-18 13:37:23 +00:00
Ali Khokhar ed5162da17 Update README 2026-02-16 20:31:53 -08:00
Alishahryar1 d668f6e476 Add voice note transcription feature
- Introduced voice note handling for Discord and Telegram platforms.
- Added configuration options for voice note functionality in settings.py and .env.example.
- Updated README to include voice note instructions and configuration details.
- Implemented audio attachment processing and transcription using faster-whisper.
- Enabled voice note support through message handlers in both platforms.
2026-02-16 20:14:59 -08:00
Alishahryar1 eaa81f5922 Updated Readme 2026-02-16 18:16:41 -08:00
Cursor Agent 38a7980546 Update README: project structure, command order, provider extension docs
Co-authored-by: Ali Khokhar <alishahryar2@gmail.com>
2026-02-17 02:11:37 +00:00
Ali Khokhar 96553df53d Update README.md 2026-02-16 16:29:18 -08:00
Alishahryar1 6abcdb4017 Add clear command functionality to message handler
- Implemented handling of the `/clear` command to clear specific branches or entire trees based on message replies.
- Added tests for various scenarios of the clear command, including clearing branches, handling unknown replies, and clearing entire trees.
- Enhanced `TreeQueueManager` with methods to cancel branches and remove subtrees, ensuring proper state management in the session store.
- Updated `SessionStore` and `TreeRepository` to support removal of node mappings and trees, improving data integrity during clear operations.
2026-02-16 16:23:26 -08:00
Alishahryar1 e4ae59511e Updated models list 2026-02-16 16:06:32 -08:00
Ali Khokhar c9b436b588 Remove GitHub stars and forks badges
Removed GitHub stars and forks badges from README.
2026-02-16 15:16:54 -08:00
Alishahryar1 01852e1638 Add configurable HTTP timeouts for provider API requests
Updated the README to include new timeout settings. Implemented these timeouts in the provider classes and added corresponding tests to ensure they are correctly passed to the client. Also included environment variable support for the new settings.
2026-02-16 01:40:15 -08:00
Ali Khokhar 5d46e116ca Change model from 'moonshotai/kimi-k2-thinking' to 'stepfun-ai/step-3.5-flash'
Updated model references in the README file.
2026-02-16 00:29:32 -08:00
Ali Khokhar ec21de55fc Add link to browse free models 2026-02-16 00:24:15 -08:00
Ali Khokhar e742ee0525 Add link to browse free models
Added a link to browse free models.
2026-02-16 00:23:23 -08:00
Alishahryar1 6511542bfe Implement Discord bot support and update README for messaging platform changes 2026-02-16 00:08:09 -08:00
Alishahryar1 1ea32e9d13 Updated README 2026-02-15 22:10:49 -08:00
Alishahryar1 83bb1108ae Updated Readme 2026-02-15 22:03:14 -08:00
Ali Khokhar a336b0f3ae Fix formatting issues in README diagram 2026-02-15 20:40:10 -08:00
Alishahryar1 5aa0865871 Updated README 2026-02-15 20:37:20 -08:00
Alishahryar1 b83be84313 Add LM Studio provider support
- Introduced `LMStudioProvider` to the provider system.
- Added a new fixture `lmstudio_provider` in `conftest.py` for testing.
- Updated `get_provider` function to handle `lmstudio` as a valid provider type.
- Enhanced README and `.env.example` to include LM Studio configuration details.
- Updated settings to accommodate LM Studio's base URL and provider type.
- Added tests to verify the functionality of the LM Studio provider.
2026-02-15 19:41:03 -08:00
Alishahryar1 45d4dc25d2 Removed nim setting from .env 2026-02-15 11:17:09 -08:00
Ali Khokhar 31bad25be4 Fix formatting of PROVIDER_TYPE in README.md 2026-02-15 11:09:58 -08:00
Ali Khokhar c58c80ea4f Fix formatting of example model in README 2026-02-15 11:08:12 -08:00
Ali Khokhar 7d806b2100 Update README with popular models and examples
Added popular models and examples for NVIDIA NIM and OpenRouter sections.
2026-02-15 11:07:32 -08:00
Ali Khokhar a5037b0f19 Format model lists in README for better readability 2026-02-15 11:06:47 -08:00
Alishahryar1 054f9869b7 Refactor rate limiting configuration to use unified provider settings
- Replaced NVIDIA NIM and OpenRouter specific rate limit settings with a generic provider rate limit in settings, tests, and environment files.
- Updated README.md to reflect the new provider rate limit configuration.
- Adjusted tests to validate the new provider rate limit attributes.
2026-02-15 11:03:59 -08:00
Alishahryar1 605b69ca1e Updated readme 2026-02-15 10:53:57 -08:00
Alishahryar1 e5a096049d feat: add OpenRouter support and configuration options
- Introduced OpenRouter as a new provider option in settings and environment configuration.
- Updated README.md to include instructions for using OpenRouter.
- Enhanced the message converter to support reasoning content for OpenRouter.
- Added tests for OpenRouter provider functionality and message conversion.
- Updated dependencies to include OpenRouterProvider.
2026-02-15 10:50:53 -08:00