agent-cli 0.69.1__tar.gz → 0.69.3__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.69.1 → agent_cli-0.69.3}/.github/workflows/docker.yml +10 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/PKG-INFO +1 -1
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docker/transcription-proxy.Dockerfile +9 -3
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docker/tts.Dockerfile +18 -9
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docker/whisper.Dockerfile +21 -15
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.claude/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.claude-plugin/README.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.claude-plugin/marketplace.json +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.claude-plugin/plugin.json +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.cursorrules +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.env.example +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/logo.svg +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/release-drafter.yml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/renovate.json +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/scripts/check_extras_sync.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/scripts/sync_requirements.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/workflows/automerge.yml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/workflows/docs.yml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/workflows/markdown-code-runner.yml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/workflows/pytest.yml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/workflows/release-drafter.yml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/workflows/release.yml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.github/workflows/toc.yaml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.gitignore +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.jscpd.json +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.pre-commit-config.yaml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.prompts/docs-review.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/.prompts/pr-review.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/CLAUDE.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/LICENSE +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/README.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/__main__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_extras.json +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/.gitkeep +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/audio.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/faster-whisper.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/kokoro.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/llm.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/memory.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/mlx-whisper.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/piper.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/rag.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/server.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/speed.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_requirements/vad.txt +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/_tools.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/_voice_agent_common.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/assistant.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/autocorrect.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/chat.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/memory/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/memory/add.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/memory/proxy.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/rag_proxy.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/speak.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/transcribe.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/transcribe_daemon.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/agents/voice_edit.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/api.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/cli.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/config.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/config_cmd.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/constants.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/audio.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/audio_format.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/chroma.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/deps.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/openai_proxy.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/process.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/reranker.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/sse.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/transcription_logger.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/utils.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/vad.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/core/watch.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/cli.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/aider.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/base.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/claude.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/codex.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/copilot.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/gemini.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/opencode.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/coding_agents/registry.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/base.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/cursor.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/emacs.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/jetbrains.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/nano.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/neovim.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/registry.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/sublime.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/vim.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/vscode.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/editors/zed.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/project.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/registry.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/skill/SKILL.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/skill/examples.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/apple_terminal.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/base.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/gnome.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/iterm2.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/kitty.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/registry.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/tmux.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/warp.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/terminals/zellij.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/dev/worktree.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/docs_gen.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/example-config.toml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/install/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/install/common.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/install/extras.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/install/hotkeys.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/install/services.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_files.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_filters.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_git.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_indexer.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_ingest.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_persistence.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_prompt.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_retrieval.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_store.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_streaming.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/_tasks.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/api.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/client.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/engine.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/entities.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/memory/models.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/opts.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/py.typed +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/_indexer.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/_indexing.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/_prompt.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/_retriever.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/_store.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/_utils.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/api.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/client.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/engine.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/rag/models.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/.runtime/.gitkeep +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/check_plugin_skill_sync.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/run-openwakeword.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/run-piper-windows.ps1 +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/run-piper.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/run-whisper-linux.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/run-whisper-macos.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/run-whisper-windows.ps1 +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/run-whisper.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/run_faster_whisper_server.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/setup-linux.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/setup-macos.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/setup-windows.ps1 +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/start-all-services.sh +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/scripts/sync_extras.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/cli.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/common.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/model_manager.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/model_registry.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/proxy/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/proxy/api.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/streaming.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/api.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/backends/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/backends/base.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/backends/kokoro.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/backends/piper.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/model_manager.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/model_registry.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/tts/wyoming_handler.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/api.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/backends/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/backends/base.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/backends/mlx.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/languages.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/model_manager.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/model_registry.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/server/whisper/wyoming_handler.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/services/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/services/_wyoming_utils.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/services/asr.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/services/llm.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/services/tts.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/agent_cli/services/wake_word.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docker/docker-compose.yml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/CNAME +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/architecture/index.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/architecture/memory.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/architecture/rag.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/assistant.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/autocorrect.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/chat.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/config.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/dev.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/index.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/install-extras.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/install-hotkeys.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/install-services.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/memory.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/rag-proxy.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/server/index.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/server/transcription-proxy.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/server/tts.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/server/whisper.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/speak.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/start-services.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/transcribe-daemon.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/transcribe.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/commands/voice-edit.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/configuration.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/getting-started.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/iOS_Shortcut_Guide.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/index.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/installation/docker.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/installation/index.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/installation/linux.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/installation/macos.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/installation/nixos.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/installation/windows.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/logo-clean.svg +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/run_markdown_code_runner.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/docs/system-integration.md +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/example.agent-cli-config.toml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/justfile +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/pyproject.toml +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/shell.nix +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_fix_my_text.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_interactive.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_interactive_extra.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_memory_add.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_speak.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_speak_e2e.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_transcribe.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_transcribe_agent.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_transcribe_daemon.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_transcribe_e2e.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_transcribe_recovery.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_tts_common.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_tts_common_extra.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_voice_agent_common.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_voice_edit.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_voice_edit_e2e.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/agents/test_wake_word_assistant.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/conftest.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/core/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/core/test_audio_format.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/core/test_chroma.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/core/test_sse.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/core/test_vad.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/core/test_watch.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/dev/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/dev/test_cli.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/dev/test_coding_agents.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/dev/test_editors.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/dev/test_project.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/dev/test_terminals.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/dev/test_verification.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/dev/test_worktree.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/install/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/install/test_extras.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_api_health.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_api_integration_liveish.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_client.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_engine.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_files.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_filters.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_git_integration.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_indexer.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_memory_integration.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_proxy_passthrough.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_store.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/memory/test_utils.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/mocks/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/mocks/audio.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/mocks/llm.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/mocks/wyoming.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/__init__.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_api.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_engine.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_history.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_indexer.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_indexing.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_rag_client.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_rag_integration_liveish.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_rag_proxy_passthrough.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_retriever.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_store.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/rag/test_utils.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_api.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_api_integration.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_asr.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_asr_recovery.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_audio_e2e.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_cli.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_config.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_config_cmd.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_docs_gen.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_env_vars.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_json_output.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_llm.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_llm_gemini.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_memory_tools.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_mlx_backend.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_process_manager.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_requires_extras.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_server_streaming.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_server_tts.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_server_whisper.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_services.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_tools.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_tts.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_utils.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_wake_word.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/tests/test_wyoming_utils.py +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/uv.lock +0 -0
- {agent_cli-0.69.1 → agent_cli-0.69.3}/zensical.toml +0 -0
|
@@ -39,8 +39,16 @@ jobs:
|
|
|
39
39
|
suffix: cpu
|
|
40
40
|
|
|
41
41
|
steps:
|
|
42
|
+
- name: Free disk space
|
|
43
|
+
run: |
|
|
44
|
+
sudo rm -rf /usr/share/dotnet
|
|
45
|
+
sudo rm -rf /usr/local/lib/android
|
|
46
|
+
df -h
|
|
47
|
+
|
|
42
48
|
- name: Checkout repository
|
|
43
49
|
uses: actions/checkout@v6
|
|
50
|
+
with:
|
|
51
|
+
fetch-depth: 0 # Full history for version detection
|
|
44
52
|
|
|
45
53
|
- name: Set up Docker Buildx
|
|
46
54
|
uses: docker/setup-buildx-action@v3
|
|
@@ -100,6 +108,8 @@ jobs:
|
|
|
100
108
|
steps:
|
|
101
109
|
- name: Checkout repository
|
|
102
110
|
uses: actions/checkout@v6
|
|
111
|
+
with:
|
|
112
|
+
fetch-depth: 0 # Full history for version detection
|
|
103
113
|
|
|
104
114
|
- name: Set up Docker Buildx
|
|
105
115
|
uses: docker/setup-buildx-action@v3
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-cli
|
|
3
|
-
Version: 0.69.
|
|
3
|
+
Version: 0.69.3
|
|
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>
|
|
@@ -29,7 +29,12 @@ RUN uv sync --frozen --no-dev --no-editable --extra server
|
|
|
29
29
|
# =============================================================================
|
|
30
30
|
# Runtime stage - minimal image
|
|
31
31
|
# =============================================================================
|
|
32
|
-
FROM
|
|
32
|
+
FROM debian:bookworm-slim
|
|
33
|
+
|
|
34
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
35
|
+
|
|
36
|
+
ENV UV_PYTHON_INSTALL_DIR=/opt/python
|
|
37
|
+
RUN uv python install 3.13
|
|
33
38
|
|
|
34
39
|
RUN groupadd -g 1000 transcribe && useradd -m -u 1000 -g transcribe transcribe
|
|
35
40
|
|
|
@@ -37,7 +42,8 @@ WORKDIR /app
|
|
|
37
42
|
|
|
38
43
|
COPY --from=builder /app/.venv /app/.venv
|
|
39
44
|
|
|
40
|
-
RUN ln -
|
|
45
|
+
RUN ln -sf $(uv python find 3.13) /app/.venv/bin/python && \
|
|
46
|
+
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli
|
|
41
47
|
|
|
42
48
|
USER transcribe
|
|
43
49
|
|
|
@@ -47,7 +53,7 @@ ENV PROXY_HOST=0.0.0.0 \
|
|
|
47
53
|
PROXY_PORT=61337
|
|
48
54
|
|
|
49
55
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
|
50
|
-
CMD
|
|
56
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${PROXY_PORT}/health')" || exit 1
|
|
51
57
|
|
|
52
58
|
ENTRYPOINT ["sh", "-c", "agent-cli server transcription-proxy \
|
|
53
59
|
--host ${PROXY_HOST} \
|
|
@@ -53,15 +53,17 @@ RUN uv sync --frozen --no-dev --no-editable --extra server --extra piper
|
|
|
53
53
|
# =============================================================================
|
|
54
54
|
FROM nvidia/cuda:12.9.1-cudnn-runtime-ubuntu22.04 AS cuda
|
|
55
55
|
|
|
56
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
57
|
+
|
|
56
58
|
RUN apt-get update && \
|
|
57
59
|
apt-get install -y --no-install-recommends \
|
|
58
|
-
python3.13 \
|
|
59
|
-
python3.13-venv \
|
|
60
60
|
ffmpeg \
|
|
61
61
|
espeak-ng \
|
|
62
62
|
libsndfile1 \
|
|
63
|
-
&& apt-get clean
|
|
64
|
-
|
|
63
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
64
|
+
|
|
65
|
+
ENV UV_PYTHON_INSTALL_DIR=/opt/python
|
|
66
|
+
RUN uv python install 3.13
|
|
65
67
|
|
|
66
68
|
RUN groupadd -g 1000 tts && useradd -m -u 1000 -g tts tts
|
|
67
69
|
|
|
@@ -69,7 +71,8 @@ WORKDIR /app
|
|
|
69
71
|
|
|
70
72
|
COPY --from=builder-cuda /app/.venv /app/.venv
|
|
71
73
|
|
|
72
|
-
RUN ln -
|
|
74
|
+
RUN ln -sf $(uv python find 3.13) /app/.venv/bin/python && \
|
|
75
|
+
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli && \
|
|
73
76
|
mkdir -p /home/tts/.cache && chown -R tts:tts /home/tts
|
|
74
77
|
|
|
75
78
|
USER tts
|
|
@@ -86,7 +89,7 @@ ENV TTS_HOST=0.0.0.0 \
|
|
|
86
89
|
TTS_DEVICE=cuda
|
|
87
90
|
|
|
88
91
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
89
|
-
CMD
|
|
92
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${TTS_PORT}/health')" || exit 1
|
|
90
93
|
|
|
91
94
|
ENTRYPOINT ["sh", "-c", "agent-cli server tts \
|
|
92
95
|
--host ${TTS_HOST} \
|
|
@@ -102,19 +105,25 @@ ENTRYPOINT ["sh", "-c", "agent-cli server tts \
|
|
|
102
105
|
# =============================================================================
|
|
103
106
|
# CPU target: CPU-only with Piper TTS
|
|
104
107
|
# =============================================================================
|
|
105
|
-
FROM
|
|
108
|
+
FROM debian:bookworm-slim AS cpu
|
|
109
|
+
|
|
110
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
106
111
|
|
|
107
112
|
RUN apt-get update && \
|
|
108
113
|
apt-get install -y --no-install-recommends ffmpeg && \
|
|
109
114
|
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
110
115
|
|
|
116
|
+
ENV UV_PYTHON_INSTALL_DIR=/opt/python
|
|
117
|
+
RUN uv python install 3.13
|
|
118
|
+
|
|
111
119
|
RUN groupadd -g 1000 tts && useradd -m -u 1000 -g tts tts
|
|
112
120
|
|
|
113
121
|
WORKDIR /app
|
|
114
122
|
|
|
115
123
|
COPY --from=builder-cpu /app/.venv /app/.venv
|
|
116
124
|
|
|
117
|
-
RUN ln -
|
|
125
|
+
RUN ln -sf $(uv python find 3.13) /app/.venv/bin/python && \
|
|
126
|
+
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli && \
|
|
118
127
|
mkdir -p /home/tts/.cache && chown -R tts:tts /home/tts
|
|
119
128
|
|
|
120
129
|
USER tts
|
|
@@ -131,7 +140,7 @@ ENV TTS_HOST=0.0.0.0 \
|
|
|
131
140
|
TTS_DEVICE=cpu
|
|
132
141
|
|
|
133
142
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
134
|
-
CMD
|
|
143
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${TTS_PORT}/health')" || exit 1
|
|
135
144
|
|
|
136
145
|
ENTRYPOINT ["sh", "-c", "agent-cli server tts \
|
|
137
146
|
--host ${TTS_HOST} \
|
|
@@ -33,13 +33,14 @@ RUN uv sync --frozen --no-dev --no-editable --extra server --extra faster-whispe
|
|
|
33
33
|
# =============================================================================
|
|
34
34
|
FROM nvidia/cuda:12.9.1-cudnn-runtime-ubuntu22.04 AS cuda
|
|
35
35
|
|
|
36
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
37
|
+
|
|
36
38
|
RUN apt-get update && \
|
|
37
|
-
apt-get install -y --no-install-recommends \
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
39
|
+
apt-get install -y --no-install-recommends ffmpeg && \
|
|
40
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
41
|
+
|
|
42
|
+
ENV UV_PYTHON_INSTALL_DIR=/opt/python
|
|
43
|
+
RUN uv python install 3.13
|
|
43
44
|
|
|
44
45
|
RUN groupadd -g 1000 whisper && useradd -m -u 1000 -g whisper whisper
|
|
45
46
|
|
|
@@ -47,7 +48,8 @@ WORKDIR /app
|
|
|
47
48
|
|
|
48
49
|
COPY --from=builder /app/.venv /app/.venv
|
|
49
50
|
|
|
50
|
-
RUN ln -
|
|
51
|
+
RUN ln -sf $(uv python find 3.13) /app/.venv/bin/python && \
|
|
52
|
+
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli && \
|
|
51
53
|
mkdir -p /home/whisper/.cache && chown -R whisper:whisper /home/whisper
|
|
52
54
|
|
|
53
55
|
USER whisper
|
|
@@ -63,7 +65,7 @@ ENV WHISPER_HOST=0.0.0.0 \
|
|
|
63
65
|
WHISPER_DEVICE=cuda
|
|
64
66
|
|
|
65
67
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
66
|
-
CMD
|
|
68
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${WHISPER_PORT}/health')" || exit 1
|
|
67
69
|
|
|
68
70
|
ENTRYPOINT ["sh", "-c", "agent-cli server whisper \
|
|
69
71
|
--host ${WHISPER_HOST} \
|
|
@@ -78,13 +80,16 @@ ENTRYPOINT ["sh", "-c", "agent-cli server whisper \
|
|
|
78
80
|
# =============================================================================
|
|
79
81
|
# CPU target: CPU-only with faster-whisper
|
|
80
82
|
# =============================================================================
|
|
81
|
-
FROM
|
|
83
|
+
FROM debian:bookworm-slim AS cpu
|
|
84
|
+
|
|
85
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
82
86
|
|
|
83
87
|
RUN apt-get update && \
|
|
84
|
-
apt-get install -y --no-install-recommends \
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
apt-get install -y --no-install-recommends ffmpeg && \
|
|
89
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
90
|
+
|
|
91
|
+
ENV UV_PYTHON_INSTALL_DIR=/opt/python
|
|
92
|
+
RUN uv python install 3.13
|
|
88
93
|
|
|
89
94
|
RUN groupadd -g 1000 whisper && useradd -m -u 1000 -g whisper whisper
|
|
90
95
|
|
|
@@ -92,7 +97,8 @@ WORKDIR /app
|
|
|
92
97
|
|
|
93
98
|
COPY --from=builder /app/.venv /app/.venv
|
|
94
99
|
|
|
95
|
-
RUN ln -
|
|
100
|
+
RUN ln -sf $(uv python find 3.13) /app/.venv/bin/python && \
|
|
101
|
+
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli && \
|
|
96
102
|
mkdir -p /home/whisper/.cache && chown -R whisper:whisper /home/whisper
|
|
97
103
|
|
|
98
104
|
USER whisper
|
|
@@ -108,7 +114,7 @@ ENV WHISPER_HOST=0.0.0.0 \
|
|
|
108
114
|
WHISPER_DEVICE=cpu
|
|
109
115
|
|
|
110
116
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
111
|
-
CMD
|
|
117
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${WHISPER_PORT}/health')" || exit 1
|
|
112
118
|
|
|
113
119
|
ENTRYPOINT ["sh", "-c", "agent-cli server whisper \
|
|
114
120
|
--host ${WHISPER_HOST} \
|
|
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
|
|
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
|