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