agent-cli 0.69.3__tar.gz → 0.70.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/workflows/docker.yml +3 -3
- {agent_cli-0.69.3 → agent_cli-0.70.0}/PKG-INFO +1 -1
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/cli.py +4 -4
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docker/docker-compose.yml +3 -3
- agent_cli-0.69.3/docker/transcription-proxy.Dockerfile → agent_cli-0.70.0/docker/transcribe-proxy.Dockerfile +3 -3
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/server/index.md +4 -4
- agent_cli-0.69.3/docs/commands/server/transcription-proxy.md → agent_cli-0.70.0/docs/commands/server/transcribe-proxy.md +9 -9
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/iOS_Shortcut_Guide.md +1 -1
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/installation/docker.md +1 -1
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_api_integration.py +7 -7
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_cli.py +7 -7
- {agent_cli-0.69.3 → agent_cli-0.70.0}/zensical.toml +1 -1
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.claude/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.claude-plugin/README.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.claude-plugin/marketplace.json +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.claude-plugin/plugin.json +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.cursorrules +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.env.example +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/logo.svg +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/release-drafter.yml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/renovate.json +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/scripts/check_extras_sync.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/scripts/sync_requirements.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/workflows/automerge.yml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/workflows/docs.yml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/workflows/markdown-code-runner.yml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/workflows/pytest.yml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/workflows/release-drafter.yml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/workflows/release.yml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.github/workflows/toc.yaml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.gitignore +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.jscpd.json +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.pre-commit-config.yaml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.prompts/docs-review.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/.prompts/pr-review.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/CLAUDE.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/LICENSE +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/README.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/__main__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_extras.json +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/.gitkeep +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/audio.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/faster-whisper.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/kokoro.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/llm.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/memory.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/mlx-whisper.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/piper.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/rag.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/server.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/speed.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_requirements/vad.txt +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/_tools.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/_voice_agent_common.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/assistant.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/autocorrect.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/chat.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/memory/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/memory/add.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/memory/proxy.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/rag_proxy.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/speak.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/transcribe.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/transcribe_daemon.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/agents/voice_edit.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/api.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/cli.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/config.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/config_cmd.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/constants.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/audio.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/audio_format.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/chroma.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/deps.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/openai_proxy.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/process.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/reranker.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/sse.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/transcription_logger.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/utils.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/vad.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/core/watch.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/cli.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/aider.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/base.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/claude.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/codex.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/copilot.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/gemini.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/opencode.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/coding_agents/registry.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/base.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/cursor.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/emacs.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/jetbrains.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/nano.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/neovim.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/registry.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/sublime.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/vim.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/vscode.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/editors/zed.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/project.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/registry.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/skill/SKILL.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/skill/examples.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/apple_terminal.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/base.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/gnome.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/iterm2.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/kitty.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/registry.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/tmux.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/warp.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/terminals/zellij.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/dev/worktree.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/docs_gen.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/example-config.toml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/install/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/install/common.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/install/extras.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/install/hotkeys.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/install/services.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_files.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_filters.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_git.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_indexer.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_ingest.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_persistence.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_prompt.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_retrieval.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_store.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_streaming.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/_tasks.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/api.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/client.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/engine.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/entities.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/memory/models.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/opts.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/py.typed +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/_indexer.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/_indexing.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/_prompt.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/_retriever.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/_store.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/_utils.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/api.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/client.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/engine.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/rag/models.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/.runtime/.gitkeep +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/check_plugin_skill_sync.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/run-openwakeword.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/run-piper-windows.ps1 +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/run-piper.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/run-whisper-linux.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/run-whisper-macos.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/run-whisper-windows.ps1 +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/run-whisper.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/run_faster_whisper_server.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/setup-linux.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/setup-macos.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/setup-windows.ps1 +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/start-all-services.sh +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/scripts/sync_extras.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/common.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/model_manager.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/model_registry.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/proxy/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/proxy/api.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/streaming.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/api.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/backends/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/backends/base.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/backends/kokoro.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/backends/piper.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/model_manager.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/model_registry.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/tts/wyoming_handler.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/api.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/backends/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/backends/base.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/backends/mlx.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/languages.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/model_manager.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/model_registry.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/server/whisper/wyoming_handler.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/services/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/services/_wyoming_utils.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/services/asr.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/services/llm.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/services/tts.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/agent_cli/services/wake_word.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docker/tts.Dockerfile +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docker/whisper.Dockerfile +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/CNAME +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/architecture/index.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/architecture/memory.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/architecture/rag.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/assistant.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/autocorrect.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/chat.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/config.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/dev.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/index.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/install-extras.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/install-hotkeys.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/install-services.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/memory.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/rag-proxy.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/server/tts.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/server/whisper.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/speak.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/start-services.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/transcribe-daemon.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/transcribe.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/commands/voice-edit.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/configuration.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/getting-started.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/index.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/installation/index.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/installation/linux.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/installation/macos.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/installation/nixos.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/installation/windows.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/logo-clean.svg +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/run_markdown_code_runner.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/docs/system-integration.md +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/example.agent-cli-config.toml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/justfile +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/pyproject.toml +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/shell.nix +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_fix_my_text.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_interactive.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_interactive_extra.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_memory_add.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_speak.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_speak_e2e.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_transcribe.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_transcribe_agent.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_transcribe_daemon.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_transcribe_e2e.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_transcribe_recovery.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_tts_common.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_tts_common_extra.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_voice_agent_common.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_voice_edit.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_voice_edit_e2e.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/agents/test_wake_word_assistant.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/conftest.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/core/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/core/test_audio_format.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/core/test_chroma.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/core/test_sse.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/core/test_vad.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/core/test_watch.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/dev/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/dev/test_cli.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/dev/test_coding_agents.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/dev/test_editors.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/dev/test_project.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/dev/test_terminals.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/dev/test_verification.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/dev/test_worktree.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/install/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/install/test_extras.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_api_health.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_api_integration_liveish.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_client.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_engine.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_files.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_filters.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_git_integration.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_indexer.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_memory_integration.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_proxy_passthrough.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_store.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/memory/test_utils.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/mocks/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/mocks/audio.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/mocks/llm.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/mocks/wyoming.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/__init__.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_api.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_engine.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_history.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_indexer.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_indexing.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_rag_client.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_rag_integration_liveish.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_rag_proxy_passthrough.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_retriever.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_store.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/rag/test_utils.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_api.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_asr.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_asr_recovery.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_audio_e2e.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_config.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_config_cmd.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_docs_gen.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_env_vars.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_json_output.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_llm.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_llm_gemini.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_memory_tools.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_mlx_backend.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_process_manager.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_requires_extras.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_server_streaming.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_server_tts.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_server_whisper.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_services.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_tools.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_tts.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_utils.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_wake_word.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/tests/test_wyoming_utils.py +0 -0
- {agent_cli-0.69.3 → agent_cli-0.70.0}/uv.lock +0 -0
|
@@ -91,7 +91,7 @@ jobs:
|
|
|
91
91
|
cache-from: type=gha
|
|
92
92
|
cache-to: type=gha,mode=max
|
|
93
93
|
|
|
94
|
-
# Single-target images (
|
|
94
|
+
# Single-target images (transcribe-proxy)
|
|
95
95
|
build-single-target:
|
|
96
96
|
runs-on: ubuntu-latest
|
|
97
97
|
if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }}
|
|
@@ -102,8 +102,8 @@ jobs:
|
|
|
102
102
|
strategy:
|
|
103
103
|
matrix:
|
|
104
104
|
include:
|
|
105
|
-
- image:
|
|
106
|
-
dockerfile: docker/
|
|
105
|
+
- image: transcribe-proxy
|
|
106
|
+
dockerfile: docker/transcribe-proxy.Dockerfile
|
|
107
107
|
|
|
108
108
|
steps:
|
|
109
109
|
- name: Checkout repository
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.70.0
|
|
4
4
|
Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
|
|
5
5
|
Project-URL: Homepage, https://github.com/basnijholt/agent-cli
|
|
6
6
|
Author-email: Bas Nijholt <bas@nijho.lt>
|
|
@@ -421,9 +421,9 @@ def whisper_cmd( # noqa: PLR0912, PLR0915
|
|
|
421
421
|
)
|
|
422
422
|
|
|
423
423
|
|
|
424
|
-
@app.command("
|
|
424
|
+
@app.command("transcribe-proxy")
|
|
425
425
|
@requires_extras("server")
|
|
426
|
-
def
|
|
426
|
+
def transcribe_proxy_cmd(
|
|
427
427
|
host: Annotated[
|
|
428
428
|
str,
|
|
429
429
|
typer.Option("--host", help="Host to bind the server to"),
|
|
@@ -450,10 +450,10 @@ def transcription_proxy_cmd(
|
|
|
450
450
|
|
|
451
451
|
Examples:
|
|
452
452
|
# Run on default port
|
|
453
|
-
agent-cli server
|
|
453
|
+
agent-cli server transcribe-proxy
|
|
454
454
|
|
|
455
455
|
# Run on custom port
|
|
456
|
-
agent-cli server
|
|
456
|
+
agent-cli server transcribe-proxy --port 8080
|
|
457
457
|
|
|
458
458
|
"""
|
|
459
459
|
_check_server_deps()
|
|
@@ -181,11 +181,11 @@ services:
|
|
|
181
181
|
# Transcription Proxy
|
|
182
182
|
# ===========================================================================
|
|
183
183
|
|
|
184
|
-
|
|
185
|
-
image: ghcr.io/basnijholt/agent-cli-
|
|
184
|
+
transcribe-proxy:
|
|
185
|
+
image: ghcr.io/basnijholt/agent-cli-transcribe-proxy:latest
|
|
186
186
|
build:
|
|
187
187
|
context: ..
|
|
188
|
-
dockerfile: docker/
|
|
188
|
+
dockerfile: docker/transcribe-proxy.Dockerfile
|
|
189
189
|
profiles: [cuda, cpu]
|
|
190
190
|
ports:
|
|
191
191
|
- "61337:61337"
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
# A lightweight proxy that forwards requests to configured ASR providers
|
|
3
3
|
#
|
|
4
4
|
# Build example:
|
|
5
|
-
# docker build -f docker/
|
|
5
|
+
# docker build -f docker/transcribe-proxy.Dockerfile -t agent-cli-transcribe-proxy .
|
|
6
6
|
#
|
|
7
7
|
# Run example:
|
|
8
|
-
# docker run -p 61337:61337 agent-cli-
|
|
8
|
+
# docker run -p 61337:61337 agent-cli-transcribe-proxy
|
|
9
9
|
|
|
10
10
|
# =============================================================================
|
|
11
11
|
# Builder stage - install dependencies and project
|
|
@@ -55,7 +55,7 @@ ENV PROXY_HOST=0.0.0.0 \
|
|
|
55
55
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
|
56
56
|
CMD /app/.venv/bin/python -c "import urllib.request; urllib.request.urlopen('http://localhost:${PROXY_PORT}/health')" || exit 1
|
|
57
57
|
|
|
58
|
-
ENTRYPOINT ["sh", "-c", "agent-cli server
|
|
58
|
+
ENTRYPOINT ["sh", "-c", "agent-cli server transcribe-proxy \
|
|
59
59
|
--host ${PROXY_HOST} \
|
|
60
60
|
--port ${PROXY_PORT} \
|
|
61
61
|
${PROXY_EXTRA_ARGS:-}"]
|
|
@@ -18,7 +18,7 @@ agent-cli server [COMMAND] [OPTIONS]
|
|
|
18
18
|
|--------|-------------|--------------|
|
|
19
19
|
| [whisper](whisper.md) | Local Whisper ASR server with GPU acceleration and TTL-based memory management | 10301 (HTTP), 10300 (Wyoming) |
|
|
20
20
|
| [tts](tts.md) | Local TTS server with Kokoro (GPU) or Piper (CPU) backends | 10201 (HTTP), 10200 (Wyoming) |
|
|
21
|
-
| [
|
|
21
|
+
| [transcribe-proxy](transcribe-proxy.md) | Proxy server that forwards to configured ASR providers | 61337 |
|
|
22
22
|
|
|
23
23
|
## Quick Start
|
|
24
24
|
|
|
@@ -44,7 +44,7 @@ agent-cli server [COMMAND] [OPTIONS]
|
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
46
|
pip install "agent-cli[server]"
|
|
47
|
-
agent-cli server
|
|
47
|
+
agent-cli server transcribe-proxy
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
Proxy runs at `http://localhost:61337`, forwarding to your configured ASR provider.
|
|
@@ -79,8 +79,8 @@ All servers share these capabilities:
|
|
|
79
79
|
| High-quality GPU TTS | [tts](tts.md) `--backend kokoro` |
|
|
80
80
|
| CPU-friendly TTS | [tts](tts.md) `--backend piper` |
|
|
81
81
|
| Home Assistant voice integration | [whisper](whisper.md) + [tts](tts.md) (both have Wyoming protocol) |
|
|
82
|
-
| iOS Shortcuts integration | [
|
|
83
|
-
| Forwarding to cloud providers | [
|
|
82
|
+
| iOS Shortcuts integration | [transcribe-proxy](transcribe-proxy.md) |
|
|
83
|
+
| Forwarding to cloud providers | [transcribe-proxy](transcribe-proxy.md) |
|
|
84
84
|
| Privacy-focused (no cloud) | [whisper](whisper.md) + [tts](tts.md) |
|
|
85
85
|
| Memory-constrained system | Both servers support TTL unloading; use smaller whisper models or [tts](tts.md) `--backend piper` (CPU-only) |
|
|
86
86
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
icon: lucide/arrow-right-left
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
#
|
|
5
|
+
# transcribe-proxy
|
|
6
6
|
|
|
7
7
|
Run a proxy server that forwards transcription requests to your configured ASR provider (Wyoming, OpenAI, or Gemini).
|
|
8
8
|
|
|
@@ -11,27 +11,27 @@ This is useful for integrating agent-cli's transcription capabilities into other
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
agent-cli server
|
|
14
|
+
agent-cli server transcribe-proxy [OPTIONS]
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Examples
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
20
|
# Run on default port
|
|
21
|
-
agent-cli server
|
|
21
|
+
agent-cli server transcribe-proxy
|
|
22
22
|
|
|
23
23
|
# Custom port
|
|
24
|
-
agent-cli server
|
|
24
|
+
agent-cli server transcribe-proxy --port 8080
|
|
25
25
|
|
|
26
26
|
# Development mode with auto-reload
|
|
27
|
-
agent-cli server
|
|
27
|
+
agent-cli server transcribe-proxy --reload
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
## Options
|
|
31
31
|
|
|
32
32
|
<!-- CODE:START -->
|
|
33
33
|
<!-- from agent_cli.docs_gen import all_options_for_docs -->
|
|
34
|
-
<!-- print(all_options_for_docs("server.
|
|
34
|
+
<!-- print(all_options_for_docs("server.transcribe-proxy")) -->
|
|
35
35
|
<!-- CODE:END -->
|
|
36
36
|
<!-- OUTPUT:START -->
|
|
37
37
|
<!-- ⚠️ This content is auto-generated by `markdown-code-runner`. -->
|
|
@@ -100,10 +100,10 @@ Run using the published container image:
|
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
102
|
# Run standalone
|
|
103
|
-
docker run -p 61337:61337 ghcr.io/basnijholt/agent-cli-
|
|
103
|
+
docker run -p 61337:61337 ghcr.io/basnijholt/agent-cli-transcribe-proxy:latest
|
|
104
104
|
|
|
105
105
|
# Or use docker-compose (included in both cuda and cpu profiles)
|
|
106
|
-
docker compose -f docker/docker-compose.yml --profile cpu up
|
|
106
|
+
docker compose -f docker/docker-compose.yml --profile cpu up transcribe-proxy
|
|
107
107
|
```
|
|
108
108
|
|
|
109
109
|
To use a custom config, mount it as a volume:
|
|
@@ -111,5 +111,5 @@ To use a custom config, mount it as a volume:
|
|
|
111
111
|
```bash
|
|
112
112
|
docker run -p 61337:61337 \
|
|
113
113
|
-v ./config.toml:/home/transcribe/.config/agent-cli/config.toml:ro \
|
|
114
|
-
ghcr.io/basnijholt/agent-cli-
|
|
114
|
+
ghcr.io/basnijholt/agent-cli-transcribe-proxy:latest
|
|
115
115
|
```
|
|
@@ -21,7 +21,7 @@ This guide shows how to create an iOS Shortcut that records audio, sends it to y
|
|
|
21
21
|
|
|
22
22
|
2. Start the server:
|
|
23
23
|
```bash
|
|
24
|
-
agent-cli server
|
|
24
|
+
agent-cli server transcribe-proxy --host 0.0.0.0 --port 61337
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
3. Test the server is working:
|
|
@@ -59,7 +59,7 @@ The Docker setup provides:
|
|
|
59
59
|
| ----------------------- | --------------------------------- | ----------- | ------------------------------ |
|
|
60
60
|
| **whisper** | agent-cli-whisper (custom) | 10300/10301 | Speech-to-text (Faster Whisper)|
|
|
61
61
|
| **tts** | agent-cli-tts (custom) | 10200/10201 | Text-to-speech (Kokoro/Piper) |
|
|
62
|
-
| **
|
|
62
|
+
| **transcribe-proxy** | agent-cli-transcribe-proxy | 61337 | ASR proxy for iOS/external apps|
|
|
63
63
|
| **ollama** | ollama/ollama | 11434 | LLM server |
|
|
64
64
|
| **openwakeword** | rhasspy/wyoming-openwakeword | 10400 | Wake word detection |
|
|
65
65
|
|
|
@@ -99,13 +99,13 @@ def test_server_command_in_cli() -> None:
|
|
|
99
99
|
# Strip ANSI color codes for more reliable testing
|
|
100
100
|
clean_output = re.sub(r"\x1b\[[0-9;]*m", "", result.stdout)
|
|
101
101
|
assert "whisper" in clean_output
|
|
102
|
-
assert "
|
|
102
|
+
assert "transcribe-proxy" in clean_output
|
|
103
103
|
|
|
104
104
|
|
|
105
|
-
def
|
|
106
|
-
"""Test that the server
|
|
105
|
+
def test_server_transcribe_proxy_command_in_cli() -> None:
|
|
106
|
+
"""Test that the server transcribe-proxy command is registered in CLI."""
|
|
107
107
|
runner = CliRunner()
|
|
108
|
-
result = runner.invoke(cli_app, ["server", "
|
|
108
|
+
result = runner.invoke(cli_app, ["server", "transcribe-proxy", "--help"])
|
|
109
109
|
|
|
110
110
|
assert result.exit_code == 0
|
|
111
111
|
|
|
@@ -131,10 +131,10 @@ def test_server_whisper_command_in_cli() -> None:
|
|
|
131
131
|
|
|
132
132
|
|
|
133
133
|
@patch("uvicorn.run")
|
|
134
|
-
def
|
|
135
|
-
"""Test the server
|
|
134
|
+
def test_server_transcribe_proxy_runs_uvicorn(mock_uvicorn_run: MagicMock) -> None:
|
|
135
|
+
"""Test the server transcribe-proxy command runs uvicorn."""
|
|
136
136
|
runner = CliRunner()
|
|
137
|
-
runner.invoke(cli_app, ["server", "
|
|
137
|
+
runner.invoke(cli_app, ["server", "transcribe-proxy", "--port", "8080"])
|
|
138
138
|
|
|
139
139
|
# The command should attempt to run uvicorn
|
|
140
140
|
mock_uvicorn_run.assert_called_once()
|
|
@@ -37,26 +37,26 @@ def test_server_command() -> None:
|
|
|
37
37
|
result = runner.invoke(app, ["server", "--help"])
|
|
38
38
|
assert result.exit_code == 0
|
|
39
39
|
assert "whisper" in result.stdout
|
|
40
|
-
assert "
|
|
40
|
+
assert "transcribe-proxy" in result.stdout
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
@patch("uvicorn.run")
|
|
44
|
-
def
|
|
45
|
-
"""Test the server
|
|
46
|
-
result = runner.invoke(app, ["server", "
|
|
44
|
+
def test_server_transcribe_proxy_command(mock_uvicorn_run: pytest.MagicMock) -> None:
|
|
45
|
+
"""Test the server transcribe-proxy command."""
|
|
46
|
+
result = runner.invoke(app, ["server", "transcribe-proxy", "--port", "61337"])
|
|
47
47
|
assert result.exit_code == 0
|
|
48
48
|
assert "Starting Agent CLI transcription proxy" in result.stdout
|
|
49
49
|
mock_uvicorn_run.assert_called_once()
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
@patch("uvicorn.run")
|
|
53
|
-
def
|
|
53
|
+
def test_server_transcribe_proxy_command_with_options(
|
|
54
54
|
mock_uvicorn_run: pytest.MagicMock,
|
|
55
55
|
) -> None:
|
|
56
|
-
"""Test the server
|
|
56
|
+
"""Test the server transcribe-proxy command with custom options."""
|
|
57
57
|
result = runner.invoke(
|
|
58
58
|
app,
|
|
59
|
-
["server", "
|
|
59
|
+
["server", "transcribe-proxy", "--host", "127.0.0.1", "--port", "8080", "--reload"],
|
|
60
60
|
)
|
|
61
61
|
assert result.exit_code == 0
|
|
62
62
|
assert "Starting Agent CLI transcription proxy on 127.0.0.1:8080" in result.stdout
|
|
@@ -44,7 +44,7 @@ nav = [
|
|
|
44
44
|
{ "Overview" = "commands/server/index.md" },
|
|
45
45
|
{ "whisper" = "commands/server/whisper.md" },
|
|
46
46
|
{ "tts" = "commands/server/tts.md" },
|
|
47
|
-
{ "
|
|
47
|
+
{ "transcribe-proxy" = "commands/server/transcribe-proxy.md" },
|
|
48
48
|
] },
|
|
49
49
|
] },
|
|
50
50
|
{ "Setup" = [
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|