agent-cli 0.69.0__tar.gz → 0.69.2__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.0 → agent_cli-0.69.2}/PKG-INFO +1 -1
- agent_cli-0.69.2/docker/transcription-proxy.Dockerfile +61 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docker/tts.Dockerfile +61 -44
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docker/whisper.Dockerfile +43 -43
- agent_cli-0.69.0/docker/transcription-proxy.Dockerfile +0 -51
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.claude/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.claude-plugin/README.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.claude-plugin/marketplace.json +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.claude-plugin/plugin.json +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.cursorrules +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.env.example +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/logo.svg +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/release-drafter.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/renovate.json +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/scripts/check_extras_sync.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/scripts/sync_requirements.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/workflows/automerge.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/workflows/docker.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/workflows/docs.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/workflows/markdown-code-runner.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/workflows/pytest.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/workflows/release-drafter.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/workflows/release.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.github/workflows/toc.yaml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.gitignore +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.jscpd.json +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.pre-commit-config.yaml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.prompts/docs-review.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/.prompts/pr-review.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/CLAUDE.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/LICENSE +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/README.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/__main__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_extras.json +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/.gitkeep +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/audio.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/faster-whisper.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/kokoro.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/llm.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/memory.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/mlx-whisper.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/piper.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/rag.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/server.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/speed.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_requirements/vad.txt +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/_tools.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/_voice_agent_common.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/assistant.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/autocorrect.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/chat.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/memory/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/memory/add.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/memory/proxy.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/rag_proxy.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/speak.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/transcribe.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/transcribe_daemon.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/agents/voice_edit.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/api.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/cli.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/config.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/config_cmd.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/constants.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/audio.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/audio_format.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/chroma.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/deps.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/openai_proxy.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/process.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/reranker.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/sse.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/transcription_logger.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/utils.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/vad.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/core/watch.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/cli.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/aider.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/base.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/claude.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/codex.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/copilot.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/gemini.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/opencode.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/coding_agents/registry.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/base.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/cursor.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/emacs.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/jetbrains.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/nano.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/neovim.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/registry.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/sublime.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/vim.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/vscode.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/editors/zed.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/project.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/registry.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/skill/SKILL.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/skill/examples.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/apple_terminal.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/base.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/gnome.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/iterm2.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/kitty.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/registry.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/tmux.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/warp.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/terminals/zellij.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/dev/worktree.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/docs_gen.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/example-config.toml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/install/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/install/common.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/install/extras.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/install/hotkeys.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/install/services.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_files.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_filters.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_git.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_indexer.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_ingest.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_persistence.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_prompt.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_retrieval.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_store.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_streaming.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/_tasks.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/api.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/client.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/engine.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/entities.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/memory/models.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/opts.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/py.typed +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/_indexer.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/_indexing.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/_prompt.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/_retriever.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/_store.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/_utils.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/api.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/client.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/engine.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/rag/models.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/.runtime/.gitkeep +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/check_plugin_skill_sync.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/run-openwakeword.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/run-piper-windows.ps1 +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/run-piper.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/run-whisper-linux.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/run-whisper-macos.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/run-whisper-windows.ps1 +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/run-whisper.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/run_faster_whisper_server.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/setup-linux.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/setup-macos.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/setup-windows.ps1 +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/start-all-services.sh +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/scripts/sync_extras.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/cli.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/common.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/model_manager.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/model_registry.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/proxy/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/proxy/api.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/streaming.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/api.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/backends/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/backends/base.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/backends/kokoro.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/backends/piper.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/model_manager.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/model_registry.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/tts/wyoming_handler.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/api.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/backends/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/backends/base.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/backends/mlx.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/languages.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/model_manager.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/model_registry.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/server/whisper/wyoming_handler.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/services/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/services/_wyoming_utils.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/services/asr.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/services/llm.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/services/tts.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/agent_cli/services/wake_word.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docker/docker-compose.yml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/CNAME +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/architecture/index.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/architecture/memory.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/architecture/rag.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/assistant.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/autocorrect.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/chat.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/config.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/dev.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/index.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/install-extras.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/install-hotkeys.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/install-services.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/memory.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/rag-proxy.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/server/index.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/server/transcription-proxy.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/server/tts.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/server/whisper.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/speak.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/start-services.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/transcribe-daemon.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/transcribe.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/commands/voice-edit.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/configuration.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/getting-started.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/iOS_Shortcut_Guide.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/index.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/installation/docker.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/installation/index.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/installation/linux.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/installation/macos.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/installation/nixos.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/installation/windows.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/logo-clean.svg +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/run_markdown_code_runner.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/docs/system-integration.md +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/example.agent-cli-config.toml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/justfile +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/pyproject.toml +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/shell.nix +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_fix_my_text.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_interactive.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_interactive_extra.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_memory_add.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_speak.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_speak_e2e.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_transcribe.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_transcribe_agent.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_transcribe_daemon.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_transcribe_e2e.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_transcribe_recovery.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_tts_common.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_tts_common_extra.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_voice_agent_common.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_voice_edit.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_voice_edit_e2e.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/agents/test_wake_word_assistant.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/conftest.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/core/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/core/test_audio_format.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/core/test_chroma.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/core/test_sse.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/core/test_vad.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/core/test_watch.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/dev/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/dev/test_cli.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/dev/test_coding_agents.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/dev/test_editors.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/dev/test_project.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/dev/test_terminals.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/dev/test_verification.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/dev/test_worktree.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/install/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/install/test_extras.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_api_health.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_api_integration_liveish.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_client.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_engine.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_files.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_filters.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_git_integration.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_indexer.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_memory_integration.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_proxy_passthrough.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_store.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/memory/test_utils.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/mocks/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/mocks/audio.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/mocks/llm.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/mocks/wyoming.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/__init__.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_api.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_engine.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_history.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_indexer.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_indexing.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_rag_client.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_rag_integration_liveish.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_rag_proxy_passthrough.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_retriever.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_store.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/rag/test_utils.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_api.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_api_integration.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_asr.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_asr_recovery.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_audio_e2e.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_cli.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_config.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_config_cmd.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_docs_gen.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_env_vars.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_json_output.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_llm.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_llm_gemini.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_memory_tools.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_mlx_backend.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_process_manager.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_requires_extras.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_server_streaming.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_server_tts.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_server_whisper.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_services.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_tools.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_tts.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_utils.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_wake_word.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/tests/test_wyoming_utils.py +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/uv.lock +0 -0
- {agent_cli-0.69.0 → agent_cli-0.69.2}/zensical.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-cli
|
|
3
|
-
Version: 0.69.
|
|
3
|
+
Version: 0.69.2
|
|
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>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Dockerfile for agent-cli Transcription Proxy server
|
|
2
|
+
# A lightweight proxy that forwards requests to configured ASR providers
|
|
3
|
+
#
|
|
4
|
+
# Build example:
|
|
5
|
+
# docker build -f docker/transcription-proxy.Dockerfile -t agent-cli-transcription-proxy .
|
|
6
|
+
#
|
|
7
|
+
# Run example:
|
|
8
|
+
# docker run -p 61337:61337 agent-cli-transcription-proxy
|
|
9
|
+
|
|
10
|
+
# =============================================================================
|
|
11
|
+
# Builder stage - install dependencies and project
|
|
12
|
+
# =============================================================================
|
|
13
|
+
FROM python:3.13-slim AS builder
|
|
14
|
+
|
|
15
|
+
RUN apt-get update && \
|
|
16
|
+
apt-get install -y --no-install-recommends git && \
|
|
17
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
18
|
+
|
|
19
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
20
|
+
|
|
21
|
+
WORKDIR /app
|
|
22
|
+
|
|
23
|
+
COPY pyproject.toml uv.lock README.md ./
|
|
24
|
+
COPY .git ./.git
|
|
25
|
+
COPY agent_cli ./agent_cli
|
|
26
|
+
COPY scripts ./scripts
|
|
27
|
+
RUN uv sync --frozen --no-dev --no-editable --extra server
|
|
28
|
+
|
|
29
|
+
# =============================================================================
|
|
30
|
+
# Runtime stage - minimal image
|
|
31
|
+
# =============================================================================
|
|
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
|
|
38
|
+
|
|
39
|
+
RUN groupadd -g 1000 transcribe && useradd -m -u 1000 -g transcribe transcribe
|
|
40
|
+
|
|
41
|
+
WORKDIR /app
|
|
42
|
+
|
|
43
|
+
COPY --from=builder /app/.venv /app/.venv
|
|
44
|
+
|
|
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
|
|
47
|
+
|
|
48
|
+
USER transcribe
|
|
49
|
+
|
|
50
|
+
EXPOSE 61337
|
|
51
|
+
|
|
52
|
+
ENV PROXY_HOST=0.0.0.0 \
|
|
53
|
+
PROXY_PORT=61337
|
|
54
|
+
|
|
55
|
+
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
|
56
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${PROXY_PORT}/health')" || exit 1
|
|
57
|
+
|
|
58
|
+
ENTRYPOINT ["sh", "-c", "agent-cli server transcription-proxy \
|
|
59
|
+
--host ${PROXY_HOST} \
|
|
60
|
+
--port ${PROXY_PORT} \
|
|
61
|
+
${PROXY_EXTRA_ARGS:-}"]
|
|
@@ -9,50 +9,76 @@
|
|
|
9
9
|
# docker run -p 10200:10200 -p 10201:10201 --gpus all agent-cli-tts:cuda
|
|
10
10
|
# docker run -p 10200:10200 -p 10201:10201 agent-cli-tts:cpu
|
|
11
11
|
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# Builder stage for CUDA - Kokoro TTS (requires build tools)
|
|
14
|
+
# =============================================================================
|
|
15
|
+
FROM python:3.13-slim AS builder-cuda
|
|
16
|
+
|
|
17
|
+
RUN apt-get update && \
|
|
18
|
+
apt-get install -y --no-install-recommends build-essential git && \
|
|
19
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
20
|
+
|
|
21
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
22
|
+
|
|
23
|
+
WORKDIR /app
|
|
24
|
+
|
|
25
|
+
COPY pyproject.toml uv.lock README.md ./
|
|
26
|
+
COPY .git ./.git
|
|
27
|
+
COPY agent_cli ./agent_cli
|
|
28
|
+
COPY scripts ./scripts
|
|
29
|
+
RUN uv sync --frozen --no-dev --no-editable --extra server --extra kokoro && \
|
|
30
|
+
/app/.venv/bin/python -m spacy download en_core_web_sm
|
|
31
|
+
|
|
32
|
+
# =============================================================================
|
|
33
|
+
# Builder stage for CPU - Piper TTS
|
|
34
|
+
# =============================================================================
|
|
35
|
+
FROM python:3.13-slim AS builder-cpu
|
|
36
|
+
|
|
37
|
+
RUN apt-get update && \
|
|
38
|
+
apt-get install -y --no-install-recommends git && \
|
|
39
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
40
|
+
|
|
41
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
42
|
+
|
|
43
|
+
WORKDIR /app
|
|
44
|
+
|
|
45
|
+
COPY pyproject.toml uv.lock README.md ./
|
|
46
|
+
COPY .git ./.git
|
|
47
|
+
COPY agent_cli ./agent_cli
|
|
48
|
+
COPY scripts ./scripts
|
|
49
|
+
RUN uv sync --frozen --no-dev --no-editable --extra server --extra piper
|
|
50
|
+
|
|
12
51
|
# =============================================================================
|
|
13
52
|
# CUDA target: GPU-accelerated with Kokoro TTS
|
|
14
53
|
# =============================================================================
|
|
15
54
|
FROM nvidia/cuda:12.9.1-cudnn-runtime-ubuntu22.04 AS cuda
|
|
16
55
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
# build-essential is required for compiling C++ extensions (curated-tokenizers)
|
|
56
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
57
|
+
|
|
20
58
|
RUN apt-get update && \
|
|
21
59
|
apt-get install -y --no-install-recommends \
|
|
22
|
-
build-essential \
|
|
23
|
-
curl \
|
|
24
60
|
ffmpeg \
|
|
25
|
-
git \
|
|
26
|
-
ca-certificates \
|
|
27
61
|
espeak-ng \
|
|
28
62
|
libsndfile1 \
|
|
29
|
-
&& apt-get clean
|
|
30
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
63
|
+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
31
64
|
|
|
32
|
-
|
|
33
|
-
|
|
65
|
+
ENV UV_PYTHON_INSTALL_DIR=/opt/python
|
|
66
|
+
RUN uv python install 3.13
|
|
34
67
|
|
|
35
|
-
# Create non-root user with explicit UID:GID 1000:1000
|
|
36
68
|
RUN groupadd -g 1000 tts && useradd -m -u 1000 -g tts tts
|
|
37
69
|
|
|
38
70
|
WORKDIR /app
|
|
39
71
|
|
|
40
|
-
|
|
41
|
-
COPY pyproject.toml uv.lock ./
|
|
42
|
-
ENV UV_PYTHON=3.13
|
|
43
|
-
RUN uv sync --frozen --no-dev --extra server --extra kokoro --no-install-project && \
|
|
44
|
-
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli && \
|
|
45
|
-
/app/.venv/bin/python -m spacy download en_core_web_sm
|
|
72
|
+
COPY --from=builder-cuda /app/.venv /app/.venv
|
|
46
73
|
|
|
47
|
-
|
|
48
|
-
|
|
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 && \
|
|
76
|
+
mkdir -p /home/tts/.cache && chown -R tts:tts /home/tts
|
|
49
77
|
|
|
50
78
|
USER tts
|
|
51
79
|
|
|
52
|
-
# Expose ports: Wyoming (10200) and HTTP API (10201)
|
|
53
80
|
EXPOSE 10200 10201
|
|
54
81
|
|
|
55
|
-
# Default environment variables
|
|
56
82
|
ENV TTS_HOST=0.0.0.0 \
|
|
57
83
|
TTS_PORT=10201 \
|
|
58
84
|
TTS_WYOMING_PORT=10200 \
|
|
@@ -62,9 +88,8 @@ ENV TTS_HOST=0.0.0.0 \
|
|
|
62
88
|
TTS_LOG_LEVEL=info \
|
|
63
89
|
TTS_DEVICE=cuda
|
|
64
90
|
|
|
65
|
-
# Health check
|
|
66
91
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
67
|
-
CMD
|
|
92
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${TTS_PORT}/health')" || exit 1
|
|
68
93
|
|
|
69
94
|
ENTRYPOINT ["sh", "-c", "agent-cli server tts \
|
|
70
95
|
--host ${TTS_HOST} \
|
|
@@ -80,38 +105,31 @@ ENTRYPOINT ["sh", "-c", "agent-cli server tts \
|
|
|
80
105
|
# =============================================================================
|
|
81
106
|
# CPU target: CPU-only with Piper TTS
|
|
82
107
|
# =============================================================================
|
|
83
|
-
FROM
|
|
108
|
+
FROM debian:bookworm-slim AS cpu
|
|
109
|
+
|
|
110
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
84
111
|
|
|
85
|
-
# Install system dependencies
|
|
86
112
|
RUN apt-get update && \
|
|
87
|
-
apt-get install -y --no-install-recommends \
|
|
88
|
-
|
|
89
|
-
git \
|
|
90
|
-
&& apt-get clean \
|
|
91
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
113
|
+
apt-get install -y --no-install-recommends ffmpeg && \
|
|
114
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
92
115
|
|
|
93
|
-
|
|
94
|
-
|
|
116
|
+
ENV UV_PYTHON_INSTALL_DIR=/opt/python
|
|
117
|
+
RUN uv python install 3.13
|
|
95
118
|
|
|
96
|
-
# Create non-root user with explicit UID:GID 1000:1000
|
|
97
119
|
RUN groupadd -g 1000 tts && useradd -m -u 1000 -g tts tts
|
|
98
120
|
|
|
99
121
|
WORKDIR /app
|
|
100
122
|
|
|
101
|
-
|
|
102
|
-
COPY pyproject.toml uv.lock ./
|
|
103
|
-
RUN uv sync --frozen --no-dev --extra server --extra piper --no-install-project && \
|
|
104
|
-
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli
|
|
123
|
+
COPY --from=builder-cpu /app/.venv /app/.venv
|
|
105
124
|
|
|
106
|
-
|
|
107
|
-
|
|
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 && \
|
|
127
|
+
mkdir -p /home/tts/.cache && chown -R tts:tts /home/tts
|
|
108
128
|
|
|
109
129
|
USER tts
|
|
110
130
|
|
|
111
|
-
# Expose ports: Wyoming (10200) and HTTP API (10201)
|
|
112
131
|
EXPOSE 10200 10201
|
|
113
132
|
|
|
114
|
-
# Default environment variables
|
|
115
133
|
ENV TTS_HOST=0.0.0.0 \
|
|
116
134
|
TTS_PORT=10201 \
|
|
117
135
|
TTS_WYOMING_PORT=10200 \
|
|
@@ -121,9 +139,8 @@ ENV TTS_HOST=0.0.0.0 \
|
|
|
121
139
|
TTS_LOG_LEVEL=info \
|
|
122
140
|
TTS_DEVICE=cpu
|
|
123
141
|
|
|
124
|
-
# Health check
|
|
125
142
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
126
|
-
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:${TTS_PORT}/health')" || exit 1
|
|
143
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${TTS_PORT}/health')" || exit 1
|
|
127
144
|
|
|
128
145
|
ENTRYPOINT ["sh", "-c", "agent-cli server tts \
|
|
129
146
|
--host ${TTS_HOST} \
|
|
@@ -9,44 +9,53 @@
|
|
|
9
9
|
# docker run -p 10300:10300 -p 10301:10301 --gpus all agent-cli-whisper:cuda
|
|
10
10
|
# docker run -p 10300:10300 -p 10301:10301 agent-cli-whisper:cpu
|
|
11
11
|
|
|
12
|
+
# =============================================================================
|
|
13
|
+
# Builder stage - install dependencies and project
|
|
14
|
+
# =============================================================================
|
|
15
|
+
FROM python:3.13-slim AS builder
|
|
16
|
+
|
|
17
|
+
RUN apt-get update && \
|
|
18
|
+
apt-get install -y --no-install-recommends git && \
|
|
19
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
20
|
+
|
|
21
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
22
|
+
|
|
23
|
+
WORKDIR /app
|
|
24
|
+
|
|
25
|
+
COPY pyproject.toml uv.lock README.md ./
|
|
26
|
+
COPY .git ./.git
|
|
27
|
+
COPY agent_cli ./agent_cli
|
|
28
|
+
COPY scripts ./scripts
|
|
29
|
+
RUN uv sync --frozen --no-dev --no-editable --extra server --extra faster-whisper
|
|
30
|
+
|
|
12
31
|
# =============================================================================
|
|
13
32
|
# CUDA target: GPU-accelerated with faster-whisper
|
|
14
33
|
# =============================================================================
|
|
15
34
|
FROM nvidia/cuda:12.9.1-cudnn-runtime-ubuntu22.04 AS cuda
|
|
16
35
|
|
|
17
|
-
# Install system dependencies
|
|
18
|
-
RUN apt-get update && \
|
|
19
|
-
apt-get install -y --no-install-recommends \
|
|
20
|
-
curl \
|
|
21
|
-
ffmpeg \
|
|
22
|
-
git \
|
|
23
|
-
ca-certificates \
|
|
24
|
-
&& apt-get clean \
|
|
25
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
26
|
-
|
|
27
|
-
# Install uv
|
|
28
36
|
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
29
37
|
|
|
30
|
-
|
|
38
|
+
RUN apt-get update && \
|
|
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
|
|
44
|
+
|
|
31
45
|
RUN groupadd -g 1000 whisper && useradd -m -u 1000 -g whisper whisper
|
|
32
46
|
|
|
33
47
|
WORKDIR /app
|
|
34
48
|
|
|
35
|
-
|
|
36
|
-
COPY pyproject.toml uv.lock ./
|
|
37
|
-
ENV UV_PYTHON=3.13
|
|
38
|
-
RUN uv sync --frozen --no-dev --extra server --extra faster-whisper --no-install-project && \
|
|
39
|
-
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli
|
|
49
|
+
COPY --from=builder /app/.venv /app/.venv
|
|
40
50
|
|
|
41
|
-
|
|
42
|
-
|
|
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 && \
|
|
53
|
+
mkdir -p /home/whisper/.cache && chown -R whisper:whisper /home/whisper
|
|
43
54
|
|
|
44
55
|
USER whisper
|
|
45
56
|
|
|
46
|
-
# Expose ports: Wyoming (10300) and HTTP API (10301)
|
|
47
57
|
EXPOSE 10300 10301
|
|
48
58
|
|
|
49
|
-
# Default environment variables
|
|
50
59
|
ENV WHISPER_HOST=0.0.0.0 \
|
|
51
60
|
WHISPER_PORT=10301 \
|
|
52
61
|
WHISPER_WYOMING_PORT=10300 \
|
|
@@ -55,9 +64,8 @@ ENV WHISPER_HOST=0.0.0.0 \
|
|
|
55
64
|
WHISPER_LOG_LEVEL=info \
|
|
56
65
|
WHISPER_DEVICE=cuda
|
|
57
66
|
|
|
58
|
-
# Health check
|
|
59
67
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
60
|
-
CMD
|
|
68
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${WHISPER_PORT}/health')" || exit 1
|
|
61
69
|
|
|
62
70
|
ENTRYPOINT ["sh", "-c", "agent-cli server whisper \
|
|
63
71
|
--host ${WHISPER_HOST} \
|
|
@@ -72,38 +80,31 @@ ENTRYPOINT ["sh", "-c", "agent-cli server whisper \
|
|
|
72
80
|
# =============================================================================
|
|
73
81
|
# CPU target: CPU-only with faster-whisper
|
|
74
82
|
# =============================================================================
|
|
75
|
-
FROM
|
|
83
|
+
FROM debian:bookworm-slim AS cpu
|
|
84
|
+
|
|
85
|
+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|
76
86
|
|
|
77
|
-
# Install system dependencies
|
|
78
87
|
RUN apt-get update && \
|
|
79
|
-
apt-get install -y --no-install-recommends \
|
|
80
|
-
|
|
81
|
-
git \
|
|
82
|
-
&& apt-get clean \
|
|
83
|
-
&& rm -rf /var/lib/apt/lists/*
|
|
88
|
+
apt-get install -y --no-install-recommends ffmpeg && \
|
|
89
|
+
apt-get clean && rm -rf /var/lib/apt/lists/*
|
|
84
90
|
|
|
85
|
-
|
|
86
|
-
|
|
91
|
+
ENV UV_PYTHON_INSTALL_DIR=/opt/python
|
|
92
|
+
RUN uv python install 3.13
|
|
87
93
|
|
|
88
|
-
# Create non-root user with explicit UID:GID 1000:1000
|
|
89
94
|
RUN groupadd -g 1000 whisper && useradd -m -u 1000 -g whisper whisper
|
|
90
95
|
|
|
91
96
|
WORKDIR /app
|
|
92
97
|
|
|
93
|
-
|
|
94
|
-
COPY pyproject.toml uv.lock ./
|
|
95
|
-
RUN uv sync --frozen --no-dev --extra server --extra faster-whisper --no-install-project && \
|
|
96
|
-
ln -s /app/.venv/bin/agent-cli /usr/local/bin/agent-cli
|
|
98
|
+
COPY --from=builder /app/.venv /app/.venv
|
|
97
99
|
|
|
98
|
-
|
|
99
|
-
|
|
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 && \
|
|
102
|
+
mkdir -p /home/whisper/.cache && chown -R whisper:whisper /home/whisper
|
|
100
103
|
|
|
101
104
|
USER whisper
|
|
102
105
|
|
|
103
|
-
# Expose ports: Wyoming (10300) and HTTP API (10301)
|
|
104
106
|
EXPOSE 10300 10301
|
|
105
107
|
|
|
106
|
-
# Default environment variables
|
|
107
108
|
ENV WHISPER_HOST=0.0.0.0 \
|
|
108
109
|
WHISPER_PORT=10301 \
|
|
109
110
|
WHISPER_WYOMING_PORT=10300 \
|
|
@@ -112,9 +113,8 @@ ENV WHISPER_HOST=0.0.0.0 \
|
|
|
112
113
|
WHISPER_LOG_LEVEL=info \
|
|
113
114
|
WHISPER_DEVICE=cpu
|
|
114
115
|
|
|
115
|
-
# Health check
|
|
116
116
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
|
|
117
|
-
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:${WHISPER_PORT}/health')" || exit 1
|
|
117
|
+
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${WHISPER_PORT}/health')" || exit 1
|
|
118
118
|
|
|
119
119
|
ENTRYPOINT ["sh", "-c", "agent-cli server whisper \
|
|
120
120
|
--host ${WHISPER_HOST} \
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1
|
|
2
|
-
# Dockerfile for agent-cli Transcription Proxy server
|
|
3
|
-
# A lightweight proxy that forwards requests to configured ASR providers
|
|
4
|
-
#
|
|
5
|
-
# Build example:
|
|
6
|
-
# docker build -f docker/transcription-proxy.Dockerfile -t agent-cli-transcription-proxy .
|
|
7
|
-
#
|
|
8
|
-
# Run example:
|
|
9
|
-
# docker run -p 61337:61337 agent-cli-transcription-proxy
|
|
10
|
-
|
|
11
|
-
# Build stage - install with uv
|
|
12
|
-
FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim AS builder
|
|
13
|
-
|
|
14
|
-
# --refresh bypasses uv cache to ensure latest version from PyPI
|
|
15
|
-
RUN uv tool install --refresh --compile-bytecode "agent-cli[server]"
|
|
16
|
-
|
|
17
|
-
# Runtime stage - minimal image without uv
|
|
18
|
-
FROM python:3.13-slim
|
|
19
|
-
|
|
20
|
-
# Create non-root user with explicit UID:GID 1000:1000
|
|
21
|
-
RUN groupadd -g 1000 transcribe && useradd -m -u 1000 -g transcribe transcribe
|
|
22
|
-
|
|
23
|
-
# Copy installed tool virtualenv from builder with execute permissions
|
|
24
|
-
# Using --chmod=755 avoids a duplicate layer from running chmod after COPY
|
|
25
|
-
COPY --from=builder --chmod=755 /root/.local/share/uv/tools/agent-cli /root/.local/share/uv/tools/agent-cli
|
|
26
|
-
|
|
27
|
-
# Make parent directories accessible to non-root users and create symlinks
|
|
28
|
-
RUN chmod 755 /root /root/.local /root/.local/share /root/.local/share/uv /root/.local/share/uv/tools && \
|
|
29
|
-
ln -s /root/.local/share/uv/tools/agent-cli/bin/agent-cli /usr/local/bin/agent-cli && \
|
|
30
|
-
ln -s /root/.local/share/uv/tools/agent-cli/bin/agent /usr/local/bin/agent && \
|
|
31
|
-
ln -s /root/.local/share/uv/tools/agent-cli/bin/ag /usr/local/bin/ag
|
|
32
|
-
|
|
33
|
-
USER transcribe
|
|
34
|
-
|
|
35
|
-
WORKDIR /app
|
|
36
|
-
|
|
37
|
-
# Expose port
|
|
38
|
-
EXPOSE 61337
|
|
39
|
-
|
|
40
|
-
# Default environment variables
|
|
41
|
-
ENV PROXY_HOST=0.0.0.0 \
|
|
42
|
-
PROXY_PORT=61337
|
|
43
|
-
|
|
44
|
-
# Health check
|
|
45
|
-
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
|
46
|
-
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:${PROXY_PORT}/health')" || exit 1
|
|
47
|
-
|
|
48
|
-
ENTRYPOINT ["sh", "-c", "agent-cli server transcription-proxy \
|
|
49
|
-
--host ${PROXY_HOST} \
|
|
50
|
-
--port ${PROXY_PORT} \
|
|
51
|
-
${PROXY_EXTRA_ARGS:-}"]
|
|
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
|