agent-cli 0.72.7__tar.gz → 0.74.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_cli-0.72.7 → agent_cli-0.74.0}/PKG-INFO +13 -7
- {agent_cli-0.72.7 → agent_cli-0.74.0}/README.md +12 -4
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_extras.json +0 -6
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/memory/proxy.py +6 -1
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/rag_proxy.py +10 -5
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/install/extras.py +3 -1
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/api.py +2 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/client.py +2 -1
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/opts.py +8 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/api.py +2 -1
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/sync_extras.py +0 -1
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docker/docker-compose.yml +3 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docker/transcribe-proxy.Dockerfile +1 -1
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/install-extras.md +0 -1
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/memory.md +1 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/rag-proxy.md +1 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/pyproject.toml +5 -6
- {agent_cli-0.72.7 → agent_cli-0.74.0}/uv.lock +1 -5
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.claude/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.claude-plugin/README.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.claude-plugin/marketplace.json +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.claude-plugin/plugin.json +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.cursorrules +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.dockerignore +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.env.example +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/logo.svg +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/release-drafter.yml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/renovate.json +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/scripts/check_extras_sync.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/scripts/sync_requirements.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/workflows/automerge.yml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/workflows/docker.yml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/workflows/docs.yml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/workflows/markdown-code-runner.yml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/workflows/pytest.yml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/workflows/release-drafter.yml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/workflows/release.yml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.github/workflows/toc.yaml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.gitignore +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.jscpd.json +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.pre-commit-config.yaml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.prompts/docs-review.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/.prompts/pr-review.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/CLAUDE.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/LICENSE +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/__main__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/.gitkeep +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/audio.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/faster-whisper.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/kokoro.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/llm.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/memory.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/mlx-whisper.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/piper.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/rag.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/server.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/speed.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/vad.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_requirements/wyoming.txt +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/_tools.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/_voice_agent_common.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/assistant.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/autocorrect.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/chat.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/memory/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/memory/add.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/speak.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/transcribe.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/transcribe_daemon.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/agents/voice_edit.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/api.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/cli.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/config.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/config_cmd.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/constants.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/audio.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/audio_format.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/chroma.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/deps.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/openai_proxy.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/process.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/reranker.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/sse.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/transcription_logger.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/utils.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/vad.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/core/watch.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/cli.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/aider.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/base.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/claude.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/codex.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/copilot.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/gemini.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/opencode.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/coding_agents/registry.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/base.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/cursor.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/emacs.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/jetbrains.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/nano.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/neovim.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/registry.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/sublime.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/vim.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/vscode.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/editors/zed.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/project.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/registry.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/skill/SKILL.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/skill/examples.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/apple_terminal.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/base.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/gnome.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/iterm2.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/kitty.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/registry.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/tmux.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/warp.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/terminals/zellij.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/dev/worktree.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/docs_gen.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/example-config.toml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/install/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/install/common.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/install/hotkeys.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/install/services.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_files.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_filters.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_git.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_indexer.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_ingest.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_persistence.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_prompt.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_retrieval.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_store.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_streaming.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/_tasks.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/engine.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/entities.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/memory/models.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/py.typed +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/_indexer.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/_indexing.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/_prompt.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/_retriever.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/_store.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/_utils.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/client.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/engine.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/rag/models.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/.runtime/.gitkeep +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/check_plugin_skill_sync.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/run-openwakeword.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/run-piper-windows.ps1 +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/run-piper.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/run-whisper-linux.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/run-whisper-macos.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/run-whisper-windows.ps1 +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/run-whisper.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/run_faster_whisper_server.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/setup-linux.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/setup-macos.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/setup-windows.ps1 +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/scripts/start-all-services.sh +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/cli.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/common.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/model_manager.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/model_registry.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/proxy/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/proxy/api.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/streaming.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/api.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/backends/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/backends/base.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/backends/kokoro.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/backends/piper.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/model_manager.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/model_registry.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/tts/wyoming_handler.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/api.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/backends/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/backends/base.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/backends/mlx.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/languages.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/model_manager.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/model_registry.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/server/whisper/wyoming_handler.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/services/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/services/_wyoming_utils.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/services/asr.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/services/llm.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/services/tts.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/agent_cli/services/wake_word.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docker/memory-proxy.Dockerfile +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docker/rag-proxy.Dockerfile +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docker/tts.Dockerfile +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docker/whisper.Dockerfile +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/CNAME +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/architecture/index.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/architecture/memory.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/architecture/rag.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/assistant.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/autocorrect.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/chat.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/config.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/dev.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/index.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/install-hotkeys.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/install-services.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/server/index.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/server/transcribe-proxy.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/server/tts.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/server/whisper.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/speak.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/start-services.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/transcribe-daemon.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/transcribe.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/commands/voice-edit.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/configuration.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/getting-started.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/iOS_Shortcut_Guide.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/index.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/installation/docker.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/installation/index.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/installation/linux.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/installation/macos.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/installation/nixos.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/installation/windows.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/logo-clean.svg +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/run_markdown_code_runner.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/docs/system-integration.md +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/example.agent-cli-config.toml +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/justfile +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/shell.nix +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_fix_my_text.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_interactive.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_interactive_extra.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_memory_add.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_speak.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_speak_e2e.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_transcribe.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_transcribe_agent.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_transcribe_daemon.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_transcribe_e2e.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_transcribe_recovery.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_tts_common.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_tts_common_extra.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_voice_agent_common.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_voice_edit.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_voice_edit_e2e.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/agents/test_wake_word_assistant.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/conftest.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/core/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/core/test_audio_format.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/core/test_chroma.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/core/test_sse.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/core/test_vad.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/core/test_watch.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/dev/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/dev/test_cli.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/dev/test_coding_agents.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/dev/test_editors.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/dev/test_project.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/dev/test_terminals.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/dev/test_verification.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/dev/test_worktree.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/install/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/install/test_extras.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_api_health.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_api_integration_liveish.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_client.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_engine.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_files.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_filters.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_git_integration.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_indexer.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_memory_integration.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_proxy_passthrough.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_store.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/memory/test_utils.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/mocks/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/mocks/audio.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/mocks/llm.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/mocks/wyoming.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/__init__.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_api.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_engine.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_history.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_indexer.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_indexing.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_rag_client.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_rag_integration_liveish.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_rag_proxy_passthrough.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_retriever.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_store.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/rag/test_utils.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_api.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_api_integration.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_asr.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_asr_recovery.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_audio_e2e.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_cli.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_config.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_config_cmd.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_docs_gen.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_env_vars.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_json_output.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_llm.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_llm_gemini.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_memory_tools.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_mlx_backend.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_process_manager.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_requires_extras.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_server_streaming.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_server_tts.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_server_whisper.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_services.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_tools.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_tts.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_utils.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_wake_word.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/tests/test_wyoming_utils.py +0 -0
- {agent_cli-0.72.7 → agent_cli-0.74.0}/zensical.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.74.0
|
|
4
4
|
Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
|
|
5
5
|
Project-URL: Homepage, https://github.com/basnijholt/agent-cli
|
|
6
6
|
Author-email: Bas Nijholt <bas@nijho.lt>
|
|
@@ -46,8 +46,6 @@ Requires-Dist: soundfile>=0.12.0; extra == 'kokoro'
|
|
|
46
46
|
Requires-Dist: transformers>=4.40.0; extra == 'kokoro'
|
|
47
47
|
Provides-Extra: llm
|
|
48
48
|
Requires-Dist: pydantic-ai-slim[duckduckgo,google,openai,vertexai]>=0.1.1; extra == 'llm'
|
|
49
|
-
Provides-Extra: llm-core
|
|
50
|
-
Requires-Dist: pydantic-ai-slim[google,openai]>=0.1.1; extra == 'llm-core'
|
|
51
49
|
Provides-Extra: memory
|
|
52
50
|
Requires-Dist: chromadb>=0.4.22; extra == 'memory'
|
|
53
51
|
Requires-Dist: fastapi[standard]; extra == 'memory'
|
|
@@ -2066,8 +2064,12 @@ uv tool install "agent-cli[vad]" -p 3.13
|
|
|
2066
2064
|
│ [env var: OPENAI_API_KEY] │
|
|
2067
2065
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2068
2066
|
╭─ LLM Configuration ────────────────────────────────────────────────────────────────────╮
|
|
2069
|
-
│ --embedding-
|
|
2070
|
-
│
|
|
2067
|
+
│ --embedding-base-url TEXT Base URL for embedding API. Falls back to │
|
|
2068
|
+
│ --openai-base-url if not set. Useful when using │
|
|
2069
|
+
│ different providers for chat vs embeddings. │
|
|
2070
|
+
│ [env var: EMBEDDING_BASE_URL] │
|
|
2071
|
+
│ --embedding-model TEXT Embedding model to use for vectorization. │
|
|
2072
|
+
│ [default: text-embedding-3-small] │
|
|
2071
2073
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2072
2074
|
╭─ Server Configuration ─────────────────────────────────────────────────────────────────╮
|
|
2073
2075
|
│ --host TEXT Host/IP to bind API servers to. │
|
|
@@ -2229,8 +2231,12 @@ The `memory proxy` command is the core feature—a middleware server that gives
|
|
|
2229
2231
|
│ [env var: OPENAI_API_KEY] │
|
|
2230
2232
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2231
2233
|
╭─ LLM Configuration ────────────────────────────────────────────────────────────────────╮
|
|
2232
|
-
│ --embedding-
|
|
2233
|
-
│
|
|
2234
|
+
│ --embedding-base-url TEXT Base URL for embedding API. Falls back to │
|
|
2235
|
+
│ --openai-base-url if not set. Useful when using │
|
|
2236
|
+
│ different providers for chat vs embeddings. │
|
|
2237
|
+
│ [env var: EMBEDDING_BASE_URL] │
|
|
2238
|
+
│ --embedding-model TEXT Embedding model to use for vectorization. │
|
|
2239
|
+
│ [default: text-embedding-3-small] │
|
|
2234
2240
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2235
2241
|
╭─ Server Configuration ─────────────────────────────────────────────────────────────────╮
|
|
2236
2242
|
│ --host TEXT Host/IP to bind API servers to. │
|
|
@@ -1974,8 +1974,12 @@ uv tool install "agent-cli[vad]" -p 3.13
|
|
|
1974
1974
|
│ [env var: OPENAI_API_KEY] │
|
|
1975
1975
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
1976
1976
|
╭─ LLM Configuration ────────────────────────────────────────────────────────────────────╮
|
|
1977
|
-
│ --embedding-
|
|
1978
|
-
│
|
|
1977
|
+
│ --embedding-base-url TEXT Base URL for embedding API. Falls back to │
|
|
1978
|
+
│ --openai-base-url if not set. Useful when using │
|
|
1979
|
+
│ different providers for chat vs embeddings. │
|
|
1980
|
+
│ [env var: EMBEDDING_BASE_URL] │
|
|
1981
|
+
│ --embedding-model TEXT Embedding model to use for vectorization. │
|
|
1982
|
+
│ [default: text-embedding-3-small] │
|
|
1979
1983
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
1980
1984
|
╭─ Server Configuration ─────────────────────────────────────────────────────────────────╮
|
|
1981
1985
|
│ --host TEXT Host/IP to bind API servers to. │
|
|
@@ -2137,8 +2141,12 @@ The `memory proxy` command is the core feature—a middleware server that gives
|
|
|
2137
2141
|
│ [env var: OPENAI_API_KEY] │
|
|
2138
2142
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2139
2143
|
╭─ LLM Configuration ────────────────────────────────────────────────────────────────────╮
|
|
2140
|
-
│ --embedding-
|
|
2141
|
-
│
|
|
2144
|
+
│ --embedding-base-url TEXT Base URL for embedding API. Falls back to │
|
|
2145
|
+
│ --openai-base-url if not set. Useful when using │
|
|
2146
|
+
│ different providers for chat vs embeddings. │
|
|
2147
|
+
│ [env var: EMBEDDING_BASE_URL] │
|
|
2148
|
+
│ --embedding-model TEXT Embedding model to use for vectorization. │
|
|
2149
|
+
│ [default: text-embedding-3-small] │
|
|
2142
2150
|
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
2143
2151
|
╭─ Server Configuration ─────────────────────────────────────────────────────────────────╮
|
|
2144
2152
|
│ --host TEXT Host/IP to bind API servers to. │
|
|
@@ -23,6 +23,7 @@ def proxy(
|
|
|
23
23
|
rich_help_panel="Memory Configuration",
|
|
24
24
|
),
|
|
25
25
|
openai_base_url: str | None = opts.OPENAI_BASE_URL,
|
|
26
|
+
embedding_base_url: str | None = opts.EMBEDDING_BASE_URL,
|
|
26
27
|
embedding_model: str = opts.EMBEDDING_MODEL,
|
|
27
28
|
openai_api_key: str | None = opts.OPENAI_API_KEY,
|
|
28
29
|
default_top_k: int = typer.Option(
|
|
@@ -135,12 +136,15 @@ def proxy(
|
|
|
135
136
|
entries_dir, _ = ensure_store_dirs(memory_path)
|
|
136
137
|
if openai_base_url is None:
|
|
137
138
|
openai_base_url = constants.DEFAULT_OPENAI_BASE_URL
|
|
139
|
+
effective_embedding_url = embedding_base_url or openai_base_url
|
|
138
140
|
|
|
139
141
|
console.print(f"[bold green]Starting Memory Proxy on {host}:{port}[/bold green]")
|
|
140
142
|
console.print(f" 💾 Memory store: [blue]{memory_path}[/blue]")
|
|
141
143
|
console.print(f" 📁 Entries: [blue]{entries_dir}[/blue]")
|
|
142
144
|
console.print(f" 🤖 Backend: [blue]{openai_base_url}[/blue]")
|
|
143
|
-
console.print(
|
|
145
|
+
console.print(
|
|
146
|
+
f" 🧠 Embeddings: [blue]{embedding_model}[/blue] via [blue]{effective_embedding_url}[/blue]",
|
|
147
|
+
)
|
|
144
148
|
console.print(f" 🔍 Memory top_k: [blue]{default_top_k}[/blue] entries per query")
|
|
145
149
|
console.print(f" 🧹 Max entries per conversation: [blue]{max_entries}[/blue]")
|
|
146
150
|
console.print(
|
|
@@ -154,6 +158,7 @@ def proxy(
|
|
|
154
158
|
fastapi_app = create_app(
|
|
155
159
|
memory_path,
|
|
156
160
|
openai_base_url,
|
|
161
|
+
embedding_base_url=effective_embedding_url,
|
|
157
162
|
embedding_model=embedding_model,
|
|
158
163
|
embedding_api_key=openai_api_key,
|
|
159
164
|
chat_api_key=openai_api_key,
|
|
@@ -32,6 +32,7 @@ def rag_proxy(
|
|
|
32
32
|
rich_help_panel="RAG Configuration",
|
|
33
33
|
),
|
|
34
34
|
openai_base_url: str | None = opts.OPENAI_BASE_URL,
|
|
35
|
+
embedding_base_url: str | None = opts.EMBEDDING_BASE_URL,
|
|
35
36
|
embedding_model: str = opts.EMBEDDING_MODEL,
|
|
36
37
|
openai_api_key: str | None = opts.OPENAI_API_KEY,
|
|
37
38
|
limit: int = typer.Option(
|
|
@@ -138,22 +139,26 @@ def rag_proxy(
|
|
|
138
139
|
|
|
139
140
|
if openai_base_url is None:
|
|
140
141
|
openai_base_url = constants.DEFAULT_OPENAI_BASE_URL
|
|
142
|
+
effective_embedding_url = embedding_base_url or openai_base_url
|
|
141
143
|
|
|
142
144
|
console.print(f"[bold green]Starting RAG Proxy on {host}:{port}[/bold green]")
|
|
143
145
|
console.print(f" 📂 Docs: [blue]{docs_folder}[/blue]")
|
|
144
146
|
console.print(f" 💾 DB: [blue]{chroma_path}[/blue]")
|
|
145
147
|
console.print(f" 🤖 Backend: [blue]{openai_base_url}[/blue]")
|
|
146
|
-
console.print(
|
|
148
|
+
console.print(
|
|
149
|
+
f" 🧠 Embeddings: [blue]{embedding_model}[/blue] via [blue]{effective_embedding_url}[/blue]",
|
|
150
|
+
)
|
|
147
151
|
console.print(f" 🔍 Limit: [blue]{limit}[/blue] chunks per query")
|
|
148
152
|
|
|
149
153
|
fastapi_app = create_app(
|
|
150
154
|
docs_folder,
|
|
151
155
|
chroma_path,
|
|
152
156
|
openai_base_url,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
openai_api_key,
|
|
156
|
-
|
|
157
|
+
embedding_base_url=effective_embedding_url,
|
|
158
|
+
embedding_model=embedding_model,
|
|
159
|
+
embedding_api_key=openai_api_key,
|
|
160
|
+
chat_api_key=openai_api_key,
|
|
161
|
+
limit=limit,
|
|
157
162
|
enable_rag_tools=enable_rag_tools,
|
|
158
163
|
)
|
|
159
164
|
|
|
@@ -63,7 +63,9 @@ def _install_via_uv_tool(extras: list[str], *, quiet: bool = False) -> bool:
|
|
|
63
63
|
"""Reinstall agent-cli via uv tool with the specified extras."""
|
|
64
64
|
extras_str = ",".join(extras)
|
|
65
65
|
package_spec = f"agent-cli[{extras_str}]"
|
|
66
|
-
|
|
66
|
+
# Cap at Python 3.13 for compatibility - some deps (e.g., silero-vad-lite) don't support 3.14 yet
|
|
67
|
+
major, minor = sys.version_info[:2]
|
|
68
|
+
python_version = f"{major}.{min(minor, 13)}"
|
|
67
69
|
cmd = ["uv", "tool", "install", package_spec, "--force", "--python", python_version]
|
|
68
70
|
if quiet:
|
|
69
71
|
cmd.append("-q")
|
|
@@ -22,6 +22,7 @@ LOGGER = logging.getLogger(__name__)
|
|
|
22
22
|
def create_app(
|
|
23
23
|
memory_path: Path,
|
|
24
24
|
openai_base_url: str,
|
|
25
|
+
embedding_base_url: str | None = None,
|
|
25
26
|
embedding_model: str = DEFAULT_OPENAI_EMBEDDING_MODEL,
|
|
26
27
|
embedding_api_key: str | None = None,
|
|
27
28
|
chat_api_key: str | None = None,
|
|
@@ -39,6 +40,7 @@ def create_app(
|
|
|
39
40
|
client = MemoryClient(
|
|
40
41
|
memory_path=memory_path,
|
|
41
42
|
openai_base_url=openai_base_url,
|
|
43
|
+
embedding_base_url=embedding_base_url,
|
|
42
44
|
embedding_model=embedding_model,
|
|
43
45
|
embedding_api_key=embedding_api_key,
|
|
44
46
|
chat_api_key=chat_api_key,
|
|
@@ -41,6 +41,7 @@ class MemoryClient:
|
|
|
41
41
|
self,
|
|
42
42
|
memory_path: Path,
|
|
43
43
|
openai_base_url: str,
|
|
44
|
+
embedding_base_url: str | None = None,
|
|
44
45
|
embedding_model: str = DEFAULT_OPENAI_EMBEDDING_MODEL,
|
|
45
46
|
embedding_api_key: str | None = None,
|
|
46
47
|
chat_api_key: str | None = None,
|
|
@@ -74,7 +75,7 @@ class MemoryClient:
|
|
|
74
75
|
self.collection: Collection = init_memory_collection(
|
|
75
76
|
self.memory_path,
|
|
76
77
|
embedding_model=embedding_model,
|
|
77
|
-
openai_base_url=self.openai_base_url,
|
|
78
|
+
openai_base_url=embedding_base_url or self.openai_base_url,
|
|
78
79
|
openai_api_key=embedding_api_key,
|
|
79
80
|
)
|
|
80
81
|
|
|
@@ -109,6 +109,14 @@ EMBEDDING_MODEL: str = typer.Option(
|
|
|
109
109
|
help="Embedding model to use for vectorization.",
|
|
110
110
|
rich_help_panel="LLM Configuration",
|
|
111
111
|
)
|
|
112
|
+
EMBEDDING_BASE_URL: str | None = typer.Option(
|
|
113
|
+
None,
|
|
114
|
+
"--embedding-base-url",
|
|
115
|
+
envvar="EMBEDDING_BASE_URL",
|
|
116
|
+
help="Base URL for embedding API. Falls back to `--openai-base-url` if not set. "
|
|
117
|
+
"Useful when using different providers for chat vs embeddings.",
|
|
118
|
+
rich_help_panel="LLM Configuration",
|
|
119
|
+
)
|
|
112
120
|
|
|
113
121
|
# --- ASR (Audio) Configuration ---
|
|
114
122
|
# General ASR
|
|
@@ -32,6 +32,7 @@ def create_app(
|
|
|
32
32
|
docs_folder: Path,
|
|
33
33
|
chroma_path: Path,
|
|
34
34
|
openai_base_url: str,
|
|
35
|
+
embedding_base_url: str | None = None,
|
|
35
36
|
embedding_model: str = DEFAULT_OPENAI_EMBEDDING_MODEL,
|
|
36
37
|
embedding_api_key: str | None = None,
|
|
37
38
|
chat_api_key: str | None = None,
|
|
@@ -47,7 +48,7 @@ def create_app(
|
|
|
47
48
|
chroma_path,
|
|
48
49
|
name="docs",
|
|
49
50
|
embedding_model=embedding_model,
|
|
50
|
-
openai_base_url=openai_base_url,
|
|
51
|
+
openai_base_url=embedding_base_url or openai_base_url,
|
|
51
52
|
openai_api_key=embedding_api_key,
|
|
52
53
|
)
|
|
53
54
|
|
|
@@ -33,7 +33,6 @@ EXTRA_METADATA: dict[str, tuple[str, list[str]]] = {
|
|
|
33
33
|
"openai": ("OpenAI API provider", ["openai"]),
|
|
34
34
|
"gemini": ("Google Gemini provider", ["google.genai"]),
|
|
35
35
|
"llm": ("LLM framework (pydantic-ai)", ["pydantic_ai"]),
|
|
36
|
-
"llm-core": ("Minimal LLM support for Docker images", ["pydantic_ai"]),
|
|
37
36
|
# Feature extras
|
|
38
37
|
"rag": ("RAG proxy (ChromaDB, embeddings)", ["chromadb", "pydantic_ai"]),
|
|
39
38
|
"memory": ("Long-term memory proxy", ["chromadb", "yaml", "pydantic_ai"]),
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
# RAG_LIMIT - Number of document chunks per query (default: 3)
|
|
47
47
|
# RAG_ENABLE_TOOLS - Enable read_full_document tool (default: true)
|
|
48
48
|
# EMBEDDING_MODEL - Embedding model for RAG/memory (default: text-embedding-3-small)
|
|
49
|
+
# EMBEDDING_BASE_URL - Separate endpoint for embeddings (falls back to OPENAI_BASE_URL)
|
|
49
50
|
#
|
|
50
51
|
# MEMORY_PORT - Memory proxy port (default: 8100)
|
|
51
52
|
# MEMORY_TOP_K - Number of memories per query (default: 5)
|
|
@@ -262,6 +263,7 @@ services:
|
|
|
262
263
|
- RAG_LIMIT=${RAG_LIMIT:-3}
|
|
263
264
|
- RAG_ENABLE_TOOLS=${RAG_ENABLE_TOOLS:-true}
|
|
264
265
|
- EMBEDDING_MODEL=${EMBEDDING_MODEL:-text-embedding-3-small}
|
|
266
|
+
- EMBEDDING_BASE_URL=${EMBEDDING_BASE_URL:-}
|
|
265
267
|
- LOG_LEVEL=${LOG_LEVEL:-info}
|
|
266
268
|
# OpenAI-compatible backend configuration
|
|
267
269
|
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-http://ollama:11434/v1}
|
|
@@ -295,6 +297,7 @@ services:
|
|
|
295
297
|
- MEMORY_SUMMARIZATION=${MEMORY_SUMMARIZATION:-true}
|
|
296
298
|
- MEMORY_GIT_VERSIONING=${MEMORY_GIT_VERSIONING:-true}
|
|
297
299
|
- EMBEDDING_MODEL=${EMBEDDING_MODEL:-text-embedding-3-small}
|
|
300
|
+
- EMBEDDING_BASE_URL=${EMBEDDING_BASE_URL:-}
|
|
298
301
|
- LOG_LEVEL=${LOG_LEVEL:-info}
|
|
299
302
|
# OpenAI-compatible backend configuration
|
|
300
303
|
- OPENAI_BASE_URL=${OPENAI_BASE_URL:-http://ollama:11434/v1}
|
|
@@ -36,7 +36,7 @@ COPY pyproject.toml uv.lock README.md ./
|
|
|
36
36
|
COPY .git ./.git
|
|
37
37
|
COPY agent_cli ./agent_cli
|
|
38
38
|
COPY scripts ./scripts
|
|
39
|
-
RUN uv sync --frozen --no-dev --no-editable --extra server --extra wyoming --extra llm
|
|
39
|
+
RUN uv sync --frozen --no-dev --no-editable --extra server --extra wyoming --extra llm
|
|
40
40
|
|
|
41
41
|
# =============================================================================
|
|
42
42
|
# Runtime stage - minimal Alpine image
|
|
@@ -35,7 +35,6 @@ Available extras:
|
|
|
35
35
|
| `faster-whisper` | TODO: add description |
|
|
36
36
|
| `kokoro` | TODO: add description |
|
|
37
37
|
| `llm` | LLM framework (pydantic-ai) |
|
|
38
|
-
| `llm-core` | Minimal LLM support for Docker images |
|
|
39
38
|
| `memory` | Long-term memory proxy |
|
|
40
39
|
| `mlx-whisper` | TODO: add description |
|
|
41
40
|
| `piper` | TODO: add description |
|
|
@@ -98,6 +98,7 @@ agent-cli chat --openai-base-url http://localhost:8100/v1 --llm-provider openai
|
|
|
98
98
|
|
|
99
99
|
| Option | Default | Description |
|
|
100
100
|
|--------|---------|-------------|
|
|
101
|
+
| `--embedding-base-url` | - | Base URL for embedding API. Falls back to `--openai-base-url` if not set. Useful when using different providers for chat vs embeddings. |
|
|
101
102
|
| `--embedding-model` | `text-embedding-3-small` | Embedding model to use for vectorization. |
|
|
102
103
|
|
|
103
104
|
### Server Configuration
|
|
@@ -78,6 +78,7 @@ agent-cli chat --openai-base-url http://localhost:8000/v1 --llm-provider openai
|
|
|
78
78
|
|
|
79
79
|
| Option | Default | Description |
|
|
80
80
|
|--------|---------|-------------|
|
|
81
|
+
| `--embedding-base-url` | - | Base URL for embedding API. Falls back to `--openai-base-url` if not set. Useful when using different providers for chat vs embeddings. |
|
|
81
82
|
| `--embedding-model` | `text-embedding-3-small` | Embedding model to use for vectorization. |
|
|
82
83
|
|
|
83
84
|
### Server Configuration
|
|
@@ -33,15 +33,14 @@ Homepage = "https://github.com/basnijholt/agent-cli"
|
|
|
33
33
|
# Provider extras (previously base dependencies, now optional)
|
|
34
34
|
wyoming = ["wyoming>=1.5.2"] # Wyoming protocol only (for servers)
|
|
35
35
|
audio = ["numpy", "sounddevice>=0.4.6", "agent-cli[wyoming]"] # Local audio recording
|
|
36
|
-
llm
|
|
37
|
-
llm = ["pydantic-ai-slim[openai,google,duckduckgo,vertexai]>=0.1.1"] # Full LLM with tools
|
|
36
|
+
llm = ["pydantic-ai-slim[openai,google,duckduckgo,vertexai]>=0.1.1"] # LLM framework with tools
|
|
38
37
|
|
|
39
38
|
# Feature extras
|
|
40
39
|
server = [
|
|
41
40
|
"fastapi[standard]",
|
|
42
41
|
]
|
|
43
42
|
rag = [
|
|
44
|
-
"
|
|
43
|
+
"pydantic-ai-slim[openai,google]>=0.1.1", # pydantic-ai for LLM integration
|
|
45
44
|
"fastapi[standard]",
|
|
46
45
|
"chromadb>=0.4.22",
|
|
47
46
|
"openai>=1.0.0", # Required by chromadb's OpenAIEmbeddingFunction
|
|
@@ -49,11 +48,11 @@ rag = [
|
|
|
49
48
|
"huggingface-hub>=0.20.0",
|
|
50
49
|
"transformers>=4.30.0",
|
|
51
50
|
"watchfiles>=0.21.0",
|
|
52
|
-
# Until here same as 'memory' extras
|
|
51
|
+
# Until here same as 'memory' extras
|
|
53
52
|
"markitdown[docx,pdf,pptx]>=0.1.3",
|
|
54
53
|
]
|
|
55
54
|
memory = [
|
|
56
|
-
"
|
|
55
|
+
"pydantic-ai-slim[openai,google]>=0.1.1", # pydantic-ai for LLM integration
|
|
57
56
|
"fastapi[standard]",
|
|
58
57
|
"chromadb>=0.4.22",
|
|
59
58
|
"openai>=1.0.0", # Required by chromadb's OpenAIEmbeddingFunction
|
|
@@ -61,7 +60,7 @@ memory = [
|
|
|
61
60
|
"huggingface-hub>=0.20.0",
|
|
62
61
|
"transformers>=4.30.0",
|
|
63
62
|
"watchfiles>=0.21.0",
|
|
64
|
-
# Until here same as 'rag' extras
|
|
63
|
+
# Until here same as 'rag' extras
|
|
65
64
|
"pyyaml>=6.0.0",
|
|
66
65
|
]
|
|
67
66
|
vad = [
|
|
@@ -71,9 +71,6 @@ kokoro = [
|
|
|
71
71
|
llm = [
|
|
72
72
|
{ name = "pydantic-ai-slim", extra = ["duckduckgo", "google", "openai", "vertexai"] },
|
|
73
73
|
]
|
|
74
|
-
llm-core = [
|
|
75
|
-
{ name = "pydantic-ai-slim", extra = ["google", "openai"] },
|
|
76
|
-
]
|
|
77
74
|
memory = [
|
|
78
75
|
{ name = "chromadb" },
|
|
79
76
|
{ name = "fastapi", extra = ["standard"] },
|
|
@@ -178,7 +175,6 @@ requires-dist = [
|
|
|
178
175
|
{ name = "psutil", marker = "sys_platform == 'win32'" },
|
|
179
176
|
{ name = "pydantic" },
|
|
180
177
|
{ name = "pydantic-ai-slim", extras = ["duckduckgo", "google", "openai", "vertexai"], marker = "extra == 'llm'", specifier = ">=0.1.1" },
|
|
181
|
-
{ name = "pydantic-ai-slim", extras = ["google", "openai"], marker = "extra == 'llm-core'", specifier = ">=0.1.1" },
|
|
182
178
|
{ name = "pydantic-ai-slim", extras = ["google", "openai"], marker = "extra == 'memory'", specifier = ">=0.1.1" },
|
|
183
179
|
{ name = "pydantic-ai-slim", extras = ["google", "openai"], marker = "extra == 'rag'", specifier = ">=0.1.1" },
|
|
184
180
|
{ name = "pylint", marker = "extra == 'dev'", specifier = ">=3.0.0" },
|
|
@@ -212,7 +208,7 @@ requires-dist = [
|
|
|
212
208
|
{ name = "wyoming", marker = "extra == 'wyoming'", specifier = ">=1.5.2" },
|
|
213
209
|
{ name = "zensical", marker = "extra == 'dev'" },
|
|
214
210
|
]
|
|
215
|
-
provides-extras = ["audio", "dev", "faster-whisper", "kokoro", "llm", "
|
|
211
|
+
provides-extras = ["audio", "dev", "faster-whisper", "kokoro", "llm", "memory", "mlx-whisper", "piper", "rag", "server", "speed", "test", "vad", "wyoming"]
|
|
216
212
|
|
|
217
213
|
[package.metadata.requires-dev]
|
|
218
214
|
dev = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|