agent-cli 0.61.2__py3-none-any.whl → 0.70.2__py3-none-any.whl
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/_extras.json +13 -0
- agent_cli/_requirements/.gitkeep +0 -0
- agent_cli/_requirements/audio.txt +79 -0
- agent_cli/_requirements/faster-whisper.txt +215 -0
- agent_cli/_requirements/kokoro.txt +425 -0
- agent_cli/_requirements/llm.txt +183 -0
- agent_cli/_requirements/memory.txt +355 -0
- agent_cli/_requirements/mlx-whisper.txt +222 -0
- agent_cli/_requirements/piper.txt +176 -0
- agent_cli/_requirements/rag.txt +402 -0
- agent_cli/_requirements/server.txt +154 -0
- agent_cli/_requirements/speed.txt +77 -0
- agent_cli/_requirements/vad.txt +155 -0
- agent_cli/agents/assistant.py +3 -1
- agent_cli/agents/autocorrect.py +5 -2
- agent_cli/agents/chat.py +3 -1
- agent_cli/agents/memory/__init__.py +2 -1
- agent_cli/agents/memory/add.py +2 -0
- agent_cli/agents/memory/proxy.py +7 -12
- agent_cli/agents/rag_proxy.py +5 -10
- agent_cli/agents/speak.py +3 -1
- agent_cli/agents/transcribe.py +7 -2
- agent_cli/agents/transcribe_daemon.py +3 -1
- agent_cli/agents/voice_edit.py +3 -1
- agent_cli/cli.py +19 -3
- agent_cli/config_cmd.py +1 -0
- agent_cli/core/chroma.py +4 -4
- agent_cli/core/deps.py +177 -25
- agent_cli/core/openai_proxy.py +9 -4
- agent_cli/core/process.py +2 -2
- agent_cli/core/reranker.py +5 -4
- agent_cli/core/utils.py +5 -3
- agent_cli/core/vad.py +2 -1
- agent_cli/core/watch.py +8 -6
- agent_cli/dev/cli.py +31 -34
- agent_cli/dev/coding_agents/base.py +1 -2
- agent_cli/dev/skill/SKILL.md +141 -0
- agent_cli/dev/skill/examples.md +571 -0
- agent_cli/dev/worktree.py +53 -5
- agent_cli/docs_gen.py +12 -42
- agent_cli/install/__init__.py +1 -1
- agent_cli/install/extras.py +174 -0
- agent_cli/memory/__init__.py +1 -18
- agent_cli/memory/_files.py +4 -1
- agent_cli/memory/_indexer.py +3 -2
- agent_cli/memory/_ingest.py +6 -5
- agent_cli/memory/_retrieval.py +18 -8
- agent_cli/memory/_streaming.py +2 -2
- agent_cli/memory/api.py +1 -1
- agent_cli/memory/client.py +1 -1
- agent_cli/memory/engine.py +1 -1
- agent_cli/rag/__init__.py +0 -19
- agent_cli/rag/_indexer.py +3 -2
- agent_cli/rag/api.py +1 -0
- agent_cli/scripts/.runtime/.gitkeep +0 -0
- agent_cli/scripts/check_plugin_skill_sync.py +50 -0
- agent_cli/scripts/sync_extras.py +138 -0
- agent_cli/server/cli.py +26 -24
- agent_cli/server/common.py +3 -4
- agent_cli/server/tts/api.py +1 -1
- agent_cli/server/whisper/backends/faster_whisper.py +30 -23
- agent_cli/server/whisper/wyoming_handler.py +22 -27
- agent_cli/services/_wyoming_utils.py +4 -2
- agent_cli/services/asr.py +13 -3
- agent_cli/services/llm.py +2 -1
- agent_cli/services/tts.py +5 -2
- agent_cli/services/wake_word.py +6 -3
- {agent_cli-0.61.2.dist-info → agent_cli-0.70.2.dist-info}/METADATA +168 -73
- {agent_cli-0.61.2.dist-info → agent_cli-0.70.2.dist-info}/RECORD +72 -54
- {agent_cli-0.61.2.dist-info → agent_cli-0.70.2.dist-info}/WHEEL +1 -2
- agent_cli-0.61.2.dist-info/top_level.txt +0 -1
- {agent_cli-0.61.2.dist-info → agent_cli-0.70.2.dist-info}/entry_points.txt +0 -0
- {agent_cli-0.61.2.dist-info → agent_cli-0.70.2.dist-info}/licenses/LICENSE +0 -0
agent_cli/services/tts.py
CHANGED
|
@@ -10,8 +10,6 @@ from pathlib import Path
|
|
|
10
10
|
from typing import TYPE_CHECKING
|
|
11
11
|
|
|
12
12
|
from rich.live import Live
|
|
13
|
-
from wyoming.audio import AudioChunk, AudioStart, AudioStop
|
|
14
|
-
from wyoming.tts import Synthesize, SynthesizeVoice
|
|
15
13
|
|
|
16
14
|
from agent_cli import config, constants
|
|
17
15
|
from agent_cli.core.audio import open_audio_stream, setup_output_stream
|
|
@@ -32,6 +30,7 @@ if TYPE_CHECKING:
|
|
|
32
30
|
|
|
33
31
|
from rich.live import Live
|
|
34
32
|
from wyoming.client import AsyncClient
|
|
33
|
+
from wyoming.tts import Synthesize
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
has_audiostretchy = importlib.util.find_spec("audiostretchy") is not None
|
|
@@ -134,6 +133,8 @@ def _create_synthesis_request(
|
|
|
134
133
|
speaker: str | None = None,
|
|
135
134
|
) -> Synthesize:
|
|
136
135
|
"""Create a synthesis request with optional voice parameters."""
|
|
136
|
+
from wyoming.tts import Synthesize, SynthesizeVoice # noqa: PLC0415
|
|
137
|
+
|
|
137
138
|
synthesize_event = Synthesize(text=text)
|
|
138
139
|
|
|
139
140
|
# Add voice parameters if specified
|
|
@@ -152,6 +153,8 @@ async def _process_audio_events(
|
|
|
152
153
|
logger: logging.Logger,
|
|
153
154
|
) -> tuple[bytes, int | None, int | None, int | None]:
|
|
154
155
|
"""Process audio events from TTS server and return audio data with metadata."""
|
|
156
|
+
from wyoming.audio import AudioChunk, AudioStart, AudioStop # noqa: PLC0415
|
|
157
|
+
|
|
155
158
|
audio_data = io.BytesIO()
|
|
156
159
|
sample_rate = None
|
|
157
160
|
sample_width = None
|
agent_cli/services/wake_word.py
CHANGED
|
@@ -6,9 +6,6 @@ import asyncio
|
|
|
6
6
|
from functools import partial
|
|
7
7
|
from typing import TYPE_CHECKING
|
|
8
8
|
|
|
9
|
-
from wyoming.audio import AudioChunk, AudioStart, AudioStop
|
|
10
|
-
from wyoming.wake import Detect, Detection, NotDetected
|
|
11
|
-
|
|
12
9
|
from agent_cli import config, constants
|
|
13
10
|
from agent_cli.core.audio import read_from_queue
|
|
14
11
|
from agent_cli.core.utils import manage_send_receive_tasks
|
|
@@ -38,6 +35,8 @@ async def _send_audio_from_queue_for_wake_detection(
|
|
|
38
35
|
progress_message: str,
|
|
39
36
|
) -> None:
|
|
40
37
|
"""Read from a queue and send to Wyoming wake word server."""
|
|
38
|
+
from wyoming.audio import AudioChunk, AudioStart, AudioStop # noqa: PLC0415
|
|
39
|
+
|
|
41
40
|
await client.write_event(AudioStart(**constants.WYOMING_AUDIO_CONFIG).event())
|
|
42
41
|
seconds_streamed = 0.0
|
|
43
42
|
|
|
@@ -76,6 +75,8 @@ async def _receive_wake_detection(
|
|
|
76
75
|
Name of detected wake word or None if no detection
|
|
77
76
|
|
|
78
77
|
"""
|
|
78
|
+
from wyoming.wake import Detection, NotDetected # noqa: PLC0415
|
|
79
|
+
|
|
79
80
|
while True:
|
|
80
81
|
event = await client.read_event()
|
|
81
82
|
if event is None:
|
|
@@ -108,6 +109,8 @@ async def _detect_wake_word_from_queue(
|
|
|
108
109
|
progress_message: str = "Listening for wake word",
|
|
109
110
|
) -> str | None:
|
|
110
111
|
"""Detect wake word from an audio queue."""
|
|
112
|
+
from wyoming.wake import Detect # noqa: PLC0415
|
|
113
|
+
|
|
111
114
|
try:
|
|
112
115
|
async with wyoming_client_context(
|
|
113
116
|
wake_word_cfg.wake_server_ip,
|
|
@@ -1,78 +1,86 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.70.2
|
|
4
4
|
Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
|
|
5
|
-
Author-email: Bas Nijholt <bas@nijho.lt>
|
|
6
5
|
Project-URL: Homepage, https://github.com/basnijholt/agent-cli
|
|
7
|
-
|
|
8
|
-
Description-Content-Type: text/markdown
|
|
6
|
+
Author-email: Bas Nijholt <bas@nijho.lt>
|
|
9
7
|
License-File: LICENSE
|
|
10
|
-
Requires-
|
|
11
|
-
Requires-Dist: sounddevice
|
|
12
|
-
Requires-Dist: numpy
|
|
13
|
-
Requires-Dist: rich
|
|
14
|
-
Requires-Dist: pyperclip
|
|
15
|
-
Requires-Dist: pydantic-ai-slim[duckduckgo,openai,vertexai]
|
|
16
|
-
Requires-Dist: typer
|
|
17
|
-
Requires-Dist: openai
|
|
8
|
+
Requires-Python: <3.14,>=3.11
|
|
18
9
|
Requires-Dist: dotenv
|
|
19
|
-
Requires-Dist: google-genai>=1.25.0
|
|
20
10
|
Requires-Dist: httpx
|
|
21
|
-
Requires-Dist: psutil; sys_platform ==
|
|
11
|
+
Requires-Dist: psutil; sys_platform == 'win32'
|
|
12
|
+
Requires-Dist: pydantic
|
|
13
|
+
Requires-Dist: pyperclip
|
|
14
|
+
Requires-Dist: rich
|
|
22
15
|
Requires-Dist: setproctitle
|
|
23
|
-
|
|
24
|
-
Requires-Dist:
|
|
25
|
-
Provides-Extra:
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist:
|
|
28
|
-
Requires-Dist:
|
|
29
|
-
Requires-Dist: huggingface-hub>=0.20.0; extra == "rag"
|
|
30
|
-
Requires-Dist: transformers>=4.30.0; extra == "rag"
|
|
31
|
-
Requires-Dist: watchfiles>=0.21.0; extra == "rag"
|
|
32
|
-
Requires-Dist: markitdown[docx,pdf,pptx]>=0.1.3; python_version < "3.14" and extra == "rag"
|
|
33
|
-
Provides-Extra: memory
|
|
34
|
-
Requires-Dist: fastapi[standard]; extra == "memory"
|
|
35
|
-
Requires-Dist: chromadb>=0.4.22; python_version < "3.14" and extra == "memory"
|
|
36
|
-
Requires-Dist: onnxruntime>=1.17.0; python_version < "3.14" and extra == "memory"
|
|
37
|
-
Requires-Dist: huggingface-hub>=0.20.0; extra == "memory"
|
|
38
|
-
Requires-Dist: transformers>=4.30.0; extra == "memory"
|
|
39
|
-
Requires-Dist: watchfiles>=0.21.0; extra == "memory"
|
|
40
|
-
Requires-Dist: pyyaml>=6.0.0; extra == "memory"
|
|
41
|
-
Provides-Extra: vad
|
|
42
|
-
Requires-Dist: silero-vad>=5.1; python_version < "3.14" and extra == "vad"
|
|
43
|
-
Provides-Extra: whisper
|
|
44
|
-
Requires-Dist: fastapi[standard]; extra == "whisper"
|
|
45
|
-
Requires-Dist: faster-whisper>=1.0.0; extra == "whisper"
|
|
46
|
-
Provides-Extra: whisper-mlx
|
|
47
|
-
Requires-Dist: fastapi[standard]; extra == "whisper-mlx"
|
|
48
|
-
Requires-Dist: mlx-whisper>=0.4.0; (sys_platform == "darwin" and platform_machine == "arm64") and extra == "whisper-mlx"
|
|
49
|
-
Provides-Extra: tts
|
|
50
|
-
Requires-Dist: fastapi[standard]; extra == "tts"
|
|
51
|
-
Requires-Dist: piper-tts>=1.2.0; extra == "tts"
|
|
52
|
-
Provides-Extra: tts-kokoro
|
|
53
|
-
Requires-Dist: fastapi[standard]; extra == "tts-kokoro"
|
|
54
|
-
Requires-Dist: kokoro>=0.9.0; extra == "tts-kokoro"
|
|
55
|
-
Requires-Dist: soundfile>=0.12.0; extra == "tts-kokoro"
|
|
56
|
-
Requires-Dist: huggingface-hub>=0.20.0; extra == "tts-kokoro"
|
|
57
|
-
Requires-Dist: pip; extra == "tts-kokoro"
|
|
58
|
-
Provides-Extra: test
|
|
59
|
-
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
60
|
-
Requires-Dist: pytest-asyncio>=0.20.0; extra == "test"
|
|
61
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
|
62
|
-
Requires-Dist: pydantic-ai-slim[openai]; extra == "test"
|
|
63
|
-
Requires-Dist: pytest-timeout; extra == "test"
|
|
64
|
-
Requires-Dist: pytest-mock; extra == "test"
|
|
16
|
+
Requires-Dist: typer
|
|
17
|
+
Requires-Dist: typer-slim[standard]
|
|
18
|
+
Provides-Extra: audio
|
|
19
|
+
Requires-Dist: numpy; extra == 'audio'
|
|
20
|
+
Requires-Dist: sounddevice>=0.4.6; extra == 'audio'
|
|
21
|
+
Requires-Dist: wyoming>=1.5.2; extra == 'audio'
|
|
65
22
|
Provides-Extra: dev
|
|
66
|
-
Requires-Dist:
|
|
67
|
-
Requires-Dist:
|
|
68
|
-
Requires-Dist:
|
|
69
|
-
Requires-Dist:
|
|
70
|
-
Requires-Dist:
|
|
71
|
-
Requires-Dist:
|
|
72
|
-
Requires-Dist:
|
|
23
|
+
Requires-Dist: markdown-code-runner>=2.7.0; extra == 'dev'
|
|
24
|
+
Requires-Dist: markdown-gfm-admonition; extra == 'dev'
|
|
25
|
+
Requires-Dist: notebook; extra == 'dev'
|
|
26
|
+
Requires-Dist: pre-commit-uv>=4.1.4; extra == 'dev'
|
|
27
|
+
Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
|
|
28
|
+
Requires-Dist: pylint>=3.0.0; extra == 'dev'
|
|
29
|
+
Requires-Dist: pytest-asyncio>=0.20.0; extra == 'dev'
|
|
30
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
31
|
+
Requires-Dist: pytest-mock; extra == 'dev'
|
|
32
|
+
Requires-Dist: pytest-timeout; extra == 'dev'
|
|
33
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
34
|
+
Requires-Dist: ruff; extra == 'dev'
|
|
35
|
+
Requires-Dist: versioningit; extra == 'dev'
|
|
36
|
+
Requires-Dist: zensical; extra == 'dev'
|
|
37
|
+
Provides-Extra: faster-whisper
|
|
38
|
+
Requires-Dist: fastapi[standard]; extra == 'faster-whisper'
|
|
39
|
+
Requires-Dist: faster-whisper>=1.0.0; extra == 'faster-whisper'
|
|
40
|
+
Provides-Extra: kokoro
|
|
41
|
+
Requires-Dist: fastapi[standard]; extra == 'kokoro'
|
|
42
|
+
Requires-Dist: huggingface-hub>=0.20.0; extra == 'kokoro'
|
|
43
|
+
Requires-Dist: kokoro>=0.9.0; extra == 'kokoro'
|
|
44
|
+
Requires-Dist: pip; extra == 'kokoro'
|
|
45
|
+
Requires-Dist: soundfile>=0.12.0; extra == 'kokoro'
|
|
46
|
+
Requires-Dist: transformers>=4.40.0; extra == 'kokoro'
|
|
47
|
+
Provides-Extra: llm
|
|
48
|
+
Requires-Dist: pydantic-ai-slim[duckduckgo,google,openai,vertexai]>=0.1.1; extra == 'llm'
|
|
49
|
+
Provides-Extra: memory
|
|
50
|
+
Requires-Dist: chromadb>=0.4.22; extra == 'memory'
|
|
51
|
+
Requires-Dist: fastapi[standard]; extra == 'memory'
|
|
52
|
+
Requires-Dist: huggingface-hub>=0.20.0; extra == 'memory'
|
|
53
|
+
Requires-Dist: onnxruntime>=1.17.0; extra == 'memory'
|
|
54
|
+
Requires-Dist: pyyaml>=6.0.0; extra == 'memory'
|
|
55
|
+
Requires-Dist: transformers>=4.30.0; extra == 'memory'
|
|
56
|
+
Requires-Dist: watchfiles>=0.21.0; extra == 'memory'
|
|
57
|
+
Provides-Extra: mlx-whisper
|
|
58
|
+
Requires-Dist: fastapi[standard]; (sys_platform == 'darwin' and platform_machine == 'arm64') and extra == 'mlx-whisper'
|
|
59
|
+
Requires-Dist: mlx-whisper>=0.4.0; (sys_platform == 'darwin' and platform_machine == 'arm64') and extra == 'mlx-whisper'
|
|
60
|
+
Provides-Extra: piper
|
|
61
|
+
Requires-Dist: fastapi[standard]; extra == 'piper'
|
|
62
|
+
Requires-Dist: piper-tts>=1.2.0; extra == 'piper'
|
|
63
|
+
Provides-Extra: rag
|
|
64
|
+
Requires-Dist: chromadb>=0.4.22; extra == 'rag'
|
|
65
|
+
Requires-Dist: fastapi[standard]; extra == 'rag'
|
|
66
|
+
Requires-Dist: huggingface-hub>=0.20.0; extra == 'rag'
|
|
67
|
+
Requires-Dist: markitdown[docx,pdf,pptx]>=0.1.3; extra == 'rag'
|
|
68
|
+
Requires-Dist: onnxruntime>=1.17.0; extra == 'rag'
|
|
69
|
+
Requires-Dist: transformers>=4.30.0; extra == 'rag'
|
|
70
|
+
Requires-Dist: watchfiles>=0.21.0; extra == 'rag'
|
|
71
|
+
Provides-Extra: server
|
|
72
|
+
Requires-Dist: fastapi[standard]; extra == 'server'
|
|
73
73
|
Provides-Extra: speed
|
|
74
|
-
Requires-Dist: audiostretchy>=1.3.0; extra ==
|
|
75
|
-
|
|
74
|
+
Requires-Dist: audiostretchy>=1.3.0; extra == 'speed'
|
|
75
|
+
Provides-Extra: test
|
|
76
|
+
Requires-Dist: pytest-asyncio>=0.20.0; extra == 'test'
|
|
77
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
|
|
78
|
+
Requires-Dist: pytest-mock; extra == 'test'
|
|
79
|
+
Requires-Dist: pytest-timeout; extra == 'test'
|
|
80
|
+
Requires-Dist: pytest>=7.0.0; extra == 'test'
|
|
81
|
+
Provides-Extra: vad
|
|
82
|
+
Requires-Dist: silero-vad>=5.1; extra == 'vad'
|
|
83
|
+
Description-Content-Type: text/markdown
|
|
76
84
|
|
|
77
85
|
# Agent CLI
|
|
78
86
|
|
|
@@ -124,8 +132,8 @@ Since then I have expanded the tool with many more features, all focused on loca
|
|
|
124
132
|
- **[`memory`](docs/commands/memory.md)**: Long-term memory system with `memory proxy` and `memory add`.
|
|
125
133
|
- **[`rag-proxy`](docs/commands/rag-proxy.md)**: RAG proxy server for chatting with your documents.
|
|
126
134
|
- **[`dev`](docs/commands/dev.md)**: Parallel development with git worktrees and AI coding agents.
|
|
127
|
-
- **[`server`](docs/commands/server.md)**: Local ASR and TTS servers with dual-protocol (Wyoming & OpenAI), TTL-based memory management, and multi-platform acceleration. Whisper uses MLX on Apple Silicon or Faster Whisper on Linux/CUDA. TTS supports Kokoro (GPU) or Piper (CPU).
|
|
128
|
-
- **[`transcribe-daemon`](docs/commands/transcribe-daemon.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"`.
|
|
135
|
+
- **[`server`](docs/commands/server/index.md)**: Local ASR and TTS servers with dual-protocol (Wyoming & OpenAI), TTL-based memory management, and multi-platform acceleration. Whisper uses MLX on Apple Silicon or Faster Whisper on Linux/CUDA. TTS supports Kokoro (GPU) or Piper (CPU).
|
|
136
|
+
- **[`transcribe-daemon`](docs/commands/transcribe-daemon.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]" -p 3.13`.
|
|
129
137
|
|
|
130
138
|
## Quick Start
|
|
131
139
|
|
|
@@ -135,12 +143,16 @@ If you already have AI services running (or plan to use OpenAI), simply install:
|
|
|
135
143
|
|
|
136
144
|
```bash
|
|
137
145
|
# Using uv (recommended)
|
|
138
|
-
uv tool install agent-cli
|
|
146
|
+
uv tool install agent-cli -p 3.13
|
|
139
147
|
|
|
140
148
|
# Using pip
|
|
141
149
|
pip install agent-cli
|
|
142
150
|
```
|
|
143
151
|
|
|
152
|
+
> [!NOTE]
|
|
153
|
+
> The `-p 3.13` flag is required because some dependencies (like `onnxruntime`) don't support Python 3.14 yet.
|
|
154
|
+
> See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
|
|
155
|
+
|
|
144
156
|
Then use it:
|
|
145
157
|
```bash
|
|
146
158
|
agent-cli autocorrect "this has an eror"
|
|
@@ -174,12 +186,12 @@ agent-cli autocorrect "this has an eror"
|
|
|
174
186
|
|
|
175
187
|
> [!NOTE]
|
|
176
188
|
> `agent-cli` uses `sounddevice` for real-time microphone/voice features.
|
|
177
|
-
> On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli`.
|
|
189
|
+
> On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli -p 3.13`.
|
|
178
190
|
> On Windows and macOS, this is handled automatically.
|
|
179
191
|
|
|
180
192
|
```bash
|
|
181
193
|
# 1. Install agent-cli
|
|
182
|
-
uv tool install agent-cli
|
|
194
|
+
uv tool install agent-cli -p 3.13
|
|
183
195
|
|
|
184
196
|
# 2. Install all required services
|
|
185
197
|
agent-cli install-services
|
|
@@ -216,6 +228,7 @@ The setup scripts automatically install:
|
|
|
216
228
|
- [System Integration](#system-integration)
|
|
217
229
|
- [macOS Hotkeys](#macos-hotkeys)
|
|
218
230
|
- [Linux Hotkeys](#linux-hotkeys)
|
|
231
|
+
- [Claude Code Plugin](#claude-code-plugin)
|
|
219
232
|
- [Prerequisites](#prerequisites)
|
|
220
233
|
- [What You Need to Install Manually](#what-you-need-to-install-manually)
|
|
221
234
|
- [What the Setup Scripts Install for You](#what-the-setup-scripts-install-for-you)
|
|
@@ -225,6 +238,7 @@ The setup scripts automatically install:
|
|
|
225
238
|
- [Alternative Local LLM Servers](#alternative-local-llm-servers)
|
|
226
239
|
- [Usage](#usage)
|
|
227
240
|
- [Installation Commands](#installation-commands)
|
|
241
|
+
- [Installing Optional Extras](#installing-optional-extras)
|
|
228
242
|
- [Configuration](#configuration)
|
|
229
243
|
- [Managing Configuration](#managing-configuration)
|
|
230
244
|
- [Provider Defaults](#provider-defaults)
|
|
@@ -258,7 +272,7 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
|
|
|
258
272
|
|
|
259
273
|
```bash
|
|
260
274
|
# Using uv (recommended)
|
|
261
|
-
uv tool install agent-cli
|
|
275
|
+
uv tool install agent-cli -p 3.13
|
|
262
276
|
|
|
263
277
|
# Using pip
|
|
264
278
|
pip install agent-cli
|
|
@@ -363,6 +377,25 @@ This script automatically:
|
|
|
363
377
|
|
|
364
378
|
The script supports Hyprland, GNOME, KDE, Sway, i3, XFCE, and provides instructions for manual configuration on other environments.
|
|
365
379
|
|
|
380
|
+
### Claude Code Plugin
|
|
381
|
+
|
|
382
|
+
The [`dev`](docs/commands/dev.md) command is also available as a **Claude Code plugin**, enabling Claude to automatically spawn parallel AI agents in isolated git worktrees when you ask it to work on multiple features.
|
|
383
|
+
|
|
384
|
+
```bash
|
|
385
|
+
# Option 1: Install skill directly in your project (recommended)
|
|
386
|
+
agent-cli dev install-skill
|
|
387
|
+
|
|
388
|
+
# Option 2: Install via Claude Code plugin marketplace
|
|
389
|
+
claude plugin marketplace add basnijholt/agent-cli
|
|
390
|
+
claude plugin install agent-cli@agent-cli-dev
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
Once installed, Claude Code can automatically use this skill when you ask to:
|
|
394
|
+
- "Work on these 3 features in parallel"
|
|
395
|
+
- "Spawn agents for auth and payments"
|
|
396
|
+
- "Delegate this refactoring to a separate agent"
|
|
397
|
+
|
|
398
|
+
See the [plugin documentation](.claude-plugin/README.md) for more details.
|
|
366
399
|
|
|
367
400
|
## Prerequisites
|
|
368
401
|
|
|
@@ -385,7 +418,7 @@ Our installation scripts automatically handle all dependencies:
|
|
|
385
418
|
|---------|---------|-----------------|
|
|
386
419
|
| **[Ollama](https://ollama.ai/)** | Local LLM for text processing | ✅ Yes, with default model |
|
|
387
420
|
| **[Wyoming Faster Whisper](https://github.com/rhasspy/wyoming-faster-whisper)** | Speech-to-text | ✅ Yes, via `uvx` |
|
|
388
|
-
| **[`agent-cli server whisper`](docs/commands/server.md
|
|
421
|
+
| **[`agent-cli server whisper`](docs/commands/server/whisper.md)** | Speech-to-text (alternative) | ✅ Built-in, `pip install "agent-cli[whisper]"` |
|
|
389
422
|
| **[Wyoming Piper](https://github.com/rhasspy/wyoming-piper)** | Text-to-speech | ✅ Yes, via `uvx` |
|
|
390
423
|
| **[Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI)** | Premium TTS (optional) | ⚙️ Can be added later |
|
|
391
424
|
| **[Wyoming openWakeWord](https://github.com/rhasspy/wyoming-openwakeword)** | Wake word detection | ✅ Yes, for `assistant` |
|
|
@@ -421,10 +454,72 @@ These commands help you set up `agent-cli` and its required services:
|
|
|
421
454
|
|
|
422
455
|
- **`install-services`**: Install all required AI services (Ollama, Whisper, Piper, OpenWakeWord)
|
|
423
456
|
- **`install-hotkeys`**: Set up system-wide hotkeys for quick access to agent-cli features
|
|
457
|
+
- **`install-extras`**: Install optional Python dependencies (rag, memory, vad, etc.) with pinned versions
|
|
424
458
|
- **`start-services`**: Start all services in a Zellij terminal session
|
|
425
459
|
|
|
426
460
|
All necessary scripts are bundled with the package, so you can run these commands immediately after installing `agent-cli`.
|
|
427
461
|
|
|
462
|
+
#### Installing Optional Extras
|
|
463
|
+
|
|
464
|
+
Some features require additional Python dependencies. By default, **agent-cli will auto-install missing extras** when you run a command that needs them. To disable this, set `AGENT_CLI_NO_AUTO_INSTALL=1` or add to your config file:
|
|
465
|
+
|
|
466
|
+
```toml
|
|
467
|
+
[settings]
|
|
468
|
+
auto_install_extras = false
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
You can also manually install extras with `install-extras`:
|
|
472
|
+
|
|
473
|
+
```bash
|
|
474
|
+
# List available extras
|
|
475
|
+
agent-cli install-extras --list
|
|
476
|
+
|
|
477
|
+
# Install specific extras
|
|
478
|
+
agent-cli install-extras rag memory vad
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
<details>
|
|
482
|
+
<summary>See the output of <code>agent-cli install-extras --help</code></summary>
|
|
483
|
+
|
|
484
|
+
<!-- CODE:BASH:START -->
|
|
485
|
+
<!-- echo '```yaml' -->
|
|
486
|
+
<!-- export NO_COLOR=1 -->
|
|
487
|
+
<!-- export TERM=dumb -->
|
|
488
|
+
<!-- export COLUMNS=90 -->
|
|
489
|
+
<!-- export TERMINAL_WIDTH=90 -->
|
|
490
|
+
<!-- agent-cli install-extras --help -->
|
|
491
|
+
<!-- echo '```' -->
|
|
492
|
+
<!-- CODE:END -->
|
|
493
|
+
<!-- OUTPUT:START -->
|
|
494
|
+
<!-- ⚠️ This content is auto-generated by `markdown-code-runner`. -->
|
|
495
|
+
```yaml
|
|
496
|
+
|
|
497
|
+
Usage: agent-cli install-extras [OPTIONS] [EXTRAS]...
|
|
498
|
+
|
|
499
|
+
Install optional extras (rag, memory, vad, etc.) with pinned versions.
|
|
500
|
+
|
|
501
|
+
Examples:
|
|
502
|
+
|
|
503
|
+
• agent-cli install-extras rag # Install RAG dependencies
|
|
504
|
+
• agent-cli install-extras memory vad # Install multiple extras
|
|
505
|
+
• agent-cli install-extras --list # Show available extras
|
|
506
|
+
• agent-cli install-extras --all # Install all extras
|
|
507
|
+
|
|
508
|
+
╭─ Arguments ────────────────────────────────────────────────────────────────────────────╮
|
|
509
|
+
│ extras [EXTRAS]... Extras to install │
|
|
510
|
+
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
511
|
+
╭─ Options ──────────────────────────────────────────────────────────────────────────────╮
|
|
512
|
+
│ --list -l List available extras │
|
|
513
|
+
│ --all -a Install all available extras │
|
|
514
|
+
│ --help -h Show this message and exit. │
|
|
515
|
+
╰────────────────────────────────────────────────────────────────────────────────────────╯
|
|
516
|
+
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
<!-- OUTPUT:END -->
|
|
520
|
+
|
|
521
|
+
</details>
|
|
522
|
+
|
|
428
523
|
### Configuration
|
|
429
524
|
|
|
430
525
|
All `agent-cli` commands can be configured using a TOML file. The configuration file is searched for in the following locations, in order:
|
|
@@ -751,7 +846,7 @@ the `[defaults]` section of your configuration file.
|
|
|
751
846
|
|
|
752
847
|
**Installation:** Requires the `vad` extra:
|
|
753
848
|
```bash
|
|
754
|
-
uv tool install "agent-cli[vad]"
|
|
849
|
+
uv tool install "agent-cli[vad]" -p 3.13
|
|
755
850
|
```
|
|
756
851
|
|
|
757
852
|
**How to Use It:**
|
|
@@ -1,49 +1,62 @@
|
|
|
1
1
|
agent_cli/__init__.py,sha256=-bo57j_5TsCug2tGHh7wClAGDhzN239639K40pgVh4g,187
|
|
2
2
|
agent_cli/__main__.py,sha256=2wx_SxA8KRdejM-hBFLN8JTR2rIgtwnDH03MPAbJH5U,106
|
|
3
|
+
agent_cli/_extras.json,sha256=PCeXMr8zX04n_fcLrticn4lRpisZTfBkT2oqdImVzEY,708
|
|
3
4
|
agent_cli/_tools.py,sha256=u9Ww-k-sbwFnMTW8sreFGd71nJP6o5hKcM0Zd_D9GZk,12136
|
|
4
5
|
agent_cli/api.py,sha256=FQ_HATc7DaedbEFQ275Z18wV90tkDByD_9x_K0wdSLQ,456
|
|
5
|
-
agent_cli/cli.py,sha256=
|
|
6
|
+
agent_cli/cli.py,sha256=W1hrmWjrVeXH94pM4rRaNxGI4uJHqE5ST_q7SEeSeMg,3275
|
|
6
7
|
agent_cli/config.py,sha256=dgwDV6chrQzGnVZIJ0OOg26jFKLCGIInC4Q9oXcj3rM,15413
|
|
7
|
-
agent_cli/config_cmd.py,sha256=
|
|
8
|
+
agent_cli/config_cmd.py,sha256=CiHk1WxtvT21QeMuklTTMCmAdNwjeYENO_w_Qbiys54,9579
|
|
8
9
|
agent_cli/constants.py,sha256=-Q17N6qKIGqPDsu3FxpIKP33G0Cs0RUJlHwYNHxVxek,843
|
|
9
|
-
agent_cli/docs_gen.py,sha256=
|
|
10
|
+
agent_cli/docs_gen.py,sha256=j6mBHwoPcQzMdgIWi_bB2A6yOyhvmW_cntRfwUg_8p8,13374
|
|
10
11
|
agent_cli/example-config.toml,sha256=xd9BXeOqdYx4xFJt58VBs2I49ESy6dF4-mWF_g8sM9o,7552
|
|
11
12
|
agent_cli/opts.py,sha256=qMK_mLxzGAbX7C2IYuCFvOkLgaxCCMO66I9ps8AdrYo,12114
|
|
12
13
|
agent_cli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
+
agent_cli/_requirements/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
agent_cli/_requirements/audio.txt,sha256=KAOtFaFClkj2EAesWI61LZ4N-T1WQvHtvf1sNtDxVgQ,1522
|
|
16
|
+
agent_cli/_requirements/faster-whisper.txt,sha256=V5O-Di0hA_0g3EyZaRlRlR6JVhJ2XuqXyzxMUmYDxMU,4333
|
|
17
|
+
agent_cli/_requirements/kokoro.txt,sha256=HJFVJga6O7Eiz-2oqY6GsnGB9jQu2PM_QdtEN4lKjSU,8932
|
|
18
|
+
agent_cli/_requirements/llm.txt,sha256=nApd9U7gPLTmUaCGZL_dkBN9BmHt3zOrt038XSS1NKc,3582
|
|
19
|
+
agent_cli/_requirements/memory.txt,sha256=b0Ylc3kSqoLqi24VKtjx70wGlR8dhOehM75bwZEQALg,7275
|
|
20
|
+
agent_cli/_requirements/mlx-whisper.txt,sha256=4KxYahgmWzCi3dD1R-P4kqRix0Yyewqo-tHl9QmZHj4,6749
|
|
21
|
+
agent_cli/_requirements/piper.txt,sha256=aoRGqt_7Kr9cNHk-H4q7SVoKmP4d0fhtvEXeUeIqwQI,3455
|
|
22
|
+
agent_cli/_requirements/rag.txt,sha256=aoErAOsLPZnToKgkQJMBAQcH0dSVM8eCwxNfJ1S1udU,8250
|
|
23
|
+
agent_cli/_requirements/server.txt,sha256=v29ib07fYE5_lbL00ULOgS13XA5NAOnLq-lExJZ0zbw,3004
|
|
24
|
+
agent_cli/_requirements/speed.txt,sha256=KwBTrZFXWtgwJ5zrcNtm45zfqvNK0trcR1SbV-wDFp4,1464
|
|
25
|
+
agent_cli/_requirements/vad.txt,sha256=HN7OB8cu5cWuVPhoKWye73I9lAWPE-ijeXeVSshCsxs,4017
|
|
13
26
|
agent_cli/agents/__init__.py,sha256=c1rnncDW5pBvP6BiLzFVpLWDNZzFRaUA7-a97avFVAs,321
|
|
14
27
|
agent_cli/agents/_voice_agent_common.py,sha256=PUAztW84Xf9U7d0C_K5cL7I8OANIE1H6M8dFD_cRqps,4360
|
|
15
|
-
agent_cli/agents/assistant.py,sha256=
|
|
16
|
-
agent_cli/agents/autocorrect.py,sha256=
|
|
17
|
-
agent_cli/agents/chat.py,sha256=
|
|
18
|
-
agent_cli/agents/rag_proxy.py,sha256=
|
|
19
|
-
agent_cli/agents/speak.py,sha256=
|
|
20
|
-
agent_cli/agents/transcribe.py,sha256=
|
|
21
|
-
agent_cli/agents/transcribe_daemon.py,sha256=
|
|
22
|
-
agent_cli/agents/voice_edit.py,sha256=
|
|
23
|
-
agent_cli/agents/memory/__init__.py,sha256=
|
|
24
|
-
agent_cli/agents/memory/add.py,sha256=
|
|
25
|
-
agent_cli/agents/memory/proxy.py,sha256=
|
|
28
|
+
agent_cli/agents/assistant.py,sha256=dXExb-UrWdMiEcI1c6bXvMhii1iGg49Zw4On6-inQUE,14046
|
|
29
|
+
agent_cli/agents/autocorrect.py,sha256=Voxv43g-IbOhCGKAyWHa4WoQ3-dJEe076XLEmEwg9eg,8990
|
|
30
|
+
agent_cli/agents/chat.py,sha256=7qwDBXFQvhqtlRA4IFXJS24hZ9PN6lb0g9boxwHUS1c,17257
|
|
31
|
+
agent_cli/agents/rag_proxy.py,sha256=47maSXkebpRzt4acvsbIN_sPfIBOHcpBED_PHOlgiSs,4434
|
|
32
|
+
agent_cli/agents/speak.py,sha256=xG2ppthpdmpzsYkNeUynwDmWe8JTpJYhdKs3L1jR6eY,7101
|
|
33
|
+
agent_cli/agents/transcribe.py,sha256=3N9cA9ba-3acH4-UPEw-LYIv-HQhzb4bE0efxZzSwqQ,24654
|
|
34
|
+
agent_cli/agents/transcribe_daemon.py,sha256=FPqcAfGNK_PyxfgQw1b-xph4JrFeCvKy8e9b1HIhRUU,17668
|
|
35
|
+
agent_cli/agents/voice_edit.py,sha256=bOZzeRici5GFq9qPUwHTQiW1TFhHcm_AcLG-EdKxwgk,11137
|
|
36
|
+
agent_cli/agents/memory/__init__.py,sha256=RkJYhq0SI_62hgUHicvtkJ1k7k9JEvKLqr0302gxylw,805
|
|
37
|
+
agent_cli/agents/memory/add.py,sha256=lk6q2SmuwNNFAoDnfOQxPpNHbbHjekGCyKaWUgC9x-8,6210
|
|
38
|
+
agent_cli/agents/memory/proxy.py,sha256=metocNGxTFbpLQ-E4dRhjj8YMRNgPf6WYjegTMOHk_E,6326
|
|
26
39
|
agent_cli/core/__init__.py,sha256=c_knH7u9QgjsfMIil9NP4bVizHawLUMYoQWU4H9vMlQ,46
|
|
27
40
|
agent_cli/core/audio.py,sha256=43FpYe2Wu_BYK9xJ_55V4xHjHJeFwQ5aM-CQzlTryt8,15168
|
|
28
41
|
agent_cli/core/audio_format.py,sha256=zk3qlYMAlKYPz1enrjihQQspl_C218v1Rbcm7Uktlew,8773
|
|
29
|
-
agent_cli/core/chroma.py,sha256=
|
|
30
|
-
agent_cli/core/deps.py,sha256=
|
|
31
|
-
agent_cli/core/openai_proxy.py,sha256=
|
|
32
|
-
agent_cli/core/process.py,sha256=
|
|
33
|
-
agent_cli/core/reranker.py,sha256=
|
|
42
|
+
agent_cli/core/chroma.py,sha256=4gC9bT2q6i8zVSrHgEvaKLlBVmmlxlKnJrpQF08fLps,2791
|
|
43
|
+
agent_cli/core/deps.py,sha256=pIeALIfan2Ne7fIYLMUg_zJESoZADb2ZCv2DjPmL3Dg,6441
|
|
44
|
+
agent_cli/core/openai_proxy.py,sha256=VOqh40vyVrOa_u3CvXgolf0Bv-rALIXbKMQfjTBtH3I,4642
|
|
45
|
+
agent_cli/core/process.py,sha256=Ril7HqMJc-F1E-66pHrOi27gEZD3ZR_ZYhGnN61SVSs,5937
|
|
46
|
+
agent_cli/core/reranker.py,sha256=_RPjLKR5ej6L0Lb05tQFoVSyXOt1cXXn3ydEkCIXj2A,3851
|
|
34
47
|
agent_cli/core/sse.py,sha256=SddiWjHh7DENb1wmvf3wDvX-OhbaC61EceFwQxmDUEo,2232
|
|
35
48
|
agent_cli/core/transcription_logger.py,sha256=PVVfQK0leoB9JwUu5jYAhyRDBVq9exiPC0_KNXV8ggY,2057
|
|
36
|
-
agent_cli/core/utils.py,sha256=
|
|
37
|
-
agent_cli/core/vad.py,sha256=
|
|
38
|
-
agent_cli/core/watch.py,sha256=
|
|
49
|
+
agent_cli/core/utils.py,sha256=p3OJrNcU6iwqR0C7Q5Ab3_rwJBmP0EbIYT82a9scPSI,16896
|
|
50
|
+
agent_cli/core/vad.py,sha256=mM8VtC4TS3OpohSrtOw38M7T8f6T625FkIKim7Q_EoM,6591
|
|
51
|
+
agent_cli/core/watch.py,sha256=PakxMyqJycN6bkE6fxeo0qe9zj5wjuRly3p7rN9UgjM,2000
|
|
39
52
|
agent_cli/dev/__init__.py,sha256=doTYiUFEBpnOxsQA69HQP9AA4QHBN0DjuHSTGRq5Xbg,551
|
|
40
|
-
agent_cli/dev/cli.py,sha256=
|
|
53
|
+
agent_cli/dev/cli.py,sha256=jSYqZFyeVHIfS3v0ew_-MYEqoWYYfChSI5AWJyXiXaw,51192
|
|
41
54
|
agent_cli/dev/project.py,sha256=wJMGKTK1rmw8letrV6l6wcLU1fkQQDjCSEixAnsvyaY,18971
|
|
42
55
|
agent_cli/dev/registry.py,sha256=c6t3ClyRFPvU4GGXJT79-D-qV4FqY7W_7P-tLT7LKZs,1887
|
|
43
|
-
agent_cli/dev/worktree.py,sha256=
|
|
56
|
+
agent_cli/dev/worktree.py,sha256=Yw8jlhkf8BeKFc6pPEazGXnUIvryvYwbUmYxTluXILs,26916
|
|
44
57
|
agent_cli/dev/coding_agents/__init__.py,sha256=f2SjWB7HwbiW0IDcJmGFFYal1-oNwBNEckdcni5Rf7s,360
|
|
45
58
|
agent_cli/dev/coding_agents/aider.py,sha256=7iAZj7DG1E3nTw7cJxT05r5ZSzE8EWems1YRi1VpfLg,605
|
|
46
|
-
agent_cli/dev/coding_agents/base.py,sha256=
|
|
59
|
+
agent_cli/dev/coding_agents/base.py,sha256=P9Xlfr5Ufm_g6R_QNgq76enUaiRcwHIZvSh-nb5mPMo,5796
|
|
47
60
|
agent_cli/dev/coding_agents/claude.py,sha256=SG1Pz8yasqo0lQRH8VGEBxQLNWjiuB0FsWYPmUAjyDE,1098
|
|
48
61
|
agent_cli/dev/coding_agents/codex.py,sha256=djpntxubX73EZgaNZDBqKnmG3o3yCiAOYTpyggnSLOE,566
|
|
49
62
|
agent_cli/dev/coding_agents/continue_dev.py,sha256=hgXaMG_Dp-nYwS7JmjQu_3KEkBvsd802umqFUQyOHh4,398
|
|
@@ -64,6 +77,8 @@ agent_cli/dev/editors/sublime.py,sha256=owEfRSMuArSeFKqk-LE2JOXaZy5QlQfHQ-l0I4k2
|
|
|
64
77
|
agent_cli/dev/editors/vim.py,sha256=Fo-IQMPVbIiwBdOfmkFxR37f96QW6xc5LV3Pvr3u-b0,1378
|
|
65
78
|
agent_cli/dev/editors/vscode.py,sha256=GOrl4FwVdDyuSn7t4lglgnVt_T6NtpjLVh1OWBxDMwE,318
|
|
66
79
|
agent_cli/dev/editors/zed.py,sha256=lRMhdN_SKmHBA1ulx8x-p7Th_0EGSIv6ppAE84xobU4,515
|
|
80
|
+
agent_cli/dev/skill/SKILL.md,sha256=I1p7qd9-M95PFfDwCtOY5PUYcSv-H7mg1NtC7pKDdK4,4713
|
|
81
|
+
agent_cli/dev/skill/examples.md,sha256=Q42arhFXC04ptaIwH4s2j58gq95qYcUxzxb77PeKUUk,18702
|
|
67
82
|
agent_cli/dev/terminals/__init__.py,sha256=yUTNtvs1Do2hvhx56XxyfI-5HA5mjiv0IbJuuaL9TeE,371
|
|
68
83
|
agent_cli/dev/terminals/apple_terminal.py,sha256=s7GdxXPgbpSLKK1DUwjNpshQpjR5Nt1QbL_cKPefIRI,2595
|
|
69
84
|
agent_cli/dev/terminals/base.py,sha256=dQFfCCnEQFyOg46PPXWQToHQ74kJcCAD-NPD0kTJbOU,1420
|
|
@@ -74,39 +89,41 @@ agent_cli/dev/terminals/registry.py,sha256=B27XjELpinLLf2PmwWxpAmnXf6KEXan4d2FDw
|
|
|
74
89
|
agent_cli/dev/terminals/tmux.py,sha256=IciviwSoIb_KfKgS1q8iq_cK5iRgoz8vZuoNLAvcKJg,1498
|
|
75
90
|
agent_cli/dev/terminals/warp.py,sha256=j-Jvz_BbWYC3QfLrvl4CbDh03c9OGRFmuCzjyB2udyo,4294
|
|
76
91
|
agent_cli/dev/terminals/zellij.py,sha256=GnQnopimb9XH67CZGHjnbVWpVSWhaLCATGJizCT5TkY,2321
|
|
77
|
-
agent_cli/install/__init__.py,sha256=
|
|
92
|
+
agent_cli/install/__init__.py,sha256=JQPrOrtdNd1Y1NmQDkb3Nmm1qdyn3kPjhQwy9D8ryjI,124
|
|
78
93
|
agent_cli/install/common.py,sha256=WvnmcjnFTW0d1HZrKVGzj5Tg3q8Txk_ZOdc4a1MBFWI,3121
|
|
94
|
+
agent_cli/install/extras.py,sha256=bWLLHHFEm1_3jVAvvmsv7JuXgN7ZuqouQl0QB2mtHPg,5960
|
|
79
95
|
agent_cli/install/hotkeys.py,sha256=bwGoPeEKK6VI-IrKU8Q0RLMW9smkDNU7CdqD3Nbsd-w,1626
|
|
80
96
|
agent_cli/install/services.py,sha256=2s_7ThxaElKCuomBYTn4Z36TF_o_arNeyJ4f8Wh4jEI,2912
|
|
81
|
-
agent_cli/memory/__init__.py,sha256=
|
|
82
|
-
agent_cli/memory/_files.py,sha256=
|
|
97
|
+
agent_cli/memory/__init__.py,sha256=8XNpVzP-qjF8o49A_eXsH_Rbp_FmxTIcknnvxq7vHms,162
|
|
98
|
+
agent_cli/memory/_files.py,sha256=xA06smZNj32UfTQz9Qs-05MvAoJuNrPfKxC-FXuhxcs,7658
|
|
83
99
|
agent_cli/memory/_filters.py,sha256=VzuFyWTGqWKY0JYctfxF1JZFVYfVecW7mLDAM019mzU,2044
|
|
84
100
|
agent_cli/memory/_git.py,sha256=qWOJkwUrWE6TkVYdUW1vVA6VB5w00w0LKDfqHUwQrBY,4738
|
|
85
|
-
agent_cli/memory/_indexer.py,sha256=
|
|
86
|
-
agent_cli/memory/_ingest.py,sha256=
|
|
101
|
+
agent_cli/memory/_indexer.py,sha256=H3ZKW-wJV2qd6Q7ErqNdDklb2DdJ-CE21YePawLGxg4,4759
|
|
102
|
+
agent_cli/memory/_ingest.py,sha256=kAFmONZkzAQcXNPIk40HTHNLBn0feJ6HMiUpgvBpYJ4,13704
|
|
87
103
|
agent_cli/memory/_persistence.py,sha256=7TsphuYsJfJbp-294IvWmtW98G_Sag9GTm8AUGU9dtQ,5401
|
|
88
104
|
agent_cli/memory/_prompt.py,sha256=ncvYM5ewLrYRP8KizdFHtPQl2cWYg0SW0VQxA8rz_9E,4667
|
|
89
|
-
agent_cli/memory/_retrieval.py,sha256=
|
|
105
|
+
agent_cli/memory/_retrieval.py,sha256=K_2TUcgzfntBARPyf0K6VR3NIgHHJrqGFMP_53Nae_w,9778
|
|
90
106
|
agent_cli/memory/_store.py,sha256=m9mD1GxjdTXpnyL-X-MIU4cj28unqxJ_azV3kwM8blM,5086
|
|
91
|
-
agent_cli/memory/_streaming.py,sha256
|
|
107
|
+
agent_cli/memory/_streaming.py,sha256=P1JnkDNTJJj-lXawmXhBZnIia3ZZmKo-N6mUsLYFVgs,1400
|
|
92
108
|
agent_cli/memory/_tasks.py,sha256=XgEkN_3NCVQDWafZ_rqazpAE68yQ87x-amnQKMkfPXg,1469
|
|
93
|
-
agent_cli/memory/api.py,sha256=
|
|
94
|
-
agent_cli/memory/client.py,sha256=
|
|
95
|
-
agent_cli/memory/engine.py,sha256=
|
|
109
|
+
agent_cli/memory/api.py,sha256=riaGTOIw7g3KuDNcPtDy9wO44-D1wDtVadRj3RTT10k,3595
|
|
110
|
+
agent_cli/memory/client.py,sha256=XomHhP-hPSoosORkBKSY1dW3gjheFEVqAac0b-tAULo,9994
|
|
111
|
+
agent_cli/memory/engine.py,sha256=rABVC86b5wU1QxY3BM43RhvfDOxoRT7Ddm98BN_qCL4,11656
|
|
96
112
|
agent_cli/memory/entities.py,sha256=_8wyJz--tNa66CEtSpl2TUN_zeHQvMzm42htnDaOr6g,1219
|
|
97
113
|
agent_cli/memory/models.py,sha256=KK0wToEf-tXssYVL0hYaJlcADlJ3G2lcSXwo1UmA0VU,2352
|
|
98
|
-
agent_cli/rag/__init__.py,sha256=
|
|
99
|
-
agent_cli/rag/_indexer.py,sha256=
|
|
114
|
+
agent_cli/rag/__init__.py,sha256=nWNh4_zFTiweNQAiUzNVt1jq7myJxaeB5kXv1063GUM,54
|
|
115
|
+
agent_cli/rag/_indexer.py,sha256=t6age33nVfs-WaspoIrBOdh3agfgPWijcJwmQwEVSsI,2053
|
|
100
116
|
agent_cli/rag/_indexing.py,sha256=z2z5BWtQVuviPOjUiu151gJ9MzJxaqRYKrSi4Jj06mA,7605
|
|
101
117
|
agent_cli/rag/_prompt.py,sha256=d8_jOhZGafMmjO7BlCl4H125bj4m-dNFWDOLz5_OPrw,954
|
|
102
118
|
agent_cli/rag/_retriever.py,sha256=bzMzZR43P5cROgnWwOh_BrMFsMP5tDm21ToFVZwb0gk,4505
|
|
103
119
|
agent_cli/rag/_store.py,sha256=HksCLnbHp19dnY5ZWglm86azBjjuiWqvZvRPG-oJ8SY,1381
|
|
104
120
|
agent_cli/rag/_utils.py,sha256=OKZvn8UFb3TsB4b0eIWU6Md5xDiaG-g659zMjVUu8oI,5923
|
|
105
|
-
agent_cli/rag/api.py,sha256=
|
|
121
|
+
agent_cli/rag/api.py,sha256=Q_aaRdNxh9avNGvXWEJ5qH-vMTagN7m-iJdTZSeSink,5564
|
|
106
122
|
agent_cli/rag/client.py,sha256=mFiZ4yjI75Vsehie6alsV1My50uIsp-G07Qz6SaNrZw,8913
|
|
107
123
|
agent_cli/rag/engine.py,sha256=XySDer0fNTsEUjbUby5yf7JqB7uCE7tw2A6tYJixHnI,9800
|
|
108
124
|
agent_cli/rag/models.py,sha256=uECWoeBChlkAK7uTM-pUnPGaaMO4EYJ3pJcAf8uh1vI,1043
|
|
109
125
|
agent_cli/scripts/__init__.py,sha256=QvI1gnTagN85mmKDy2IRw96MEU9DKRWKkhSKSBshGVY,78
|
|
126
|
+
agent_cli/scripts/check_plugin_skill_sync.py,sha256=abuiSjvj34mazYeKOG-Mw6y14uN_1Ie8dkcCs_M_RF0,1656
|
|
110
127
|
agent_cli/scripts/run-openwakeword.sh,sha256=jXZ3hegiL5TINFttvOPnnfDWuIR6x8Mv_pAEWij7Z08,446
|
|
111
128
|
agent_cli/scripts/run-piper-windows.ps1,sha256=jpy4-3NxCoBpT3mnNbmCCSGbahjbv34KozlQ3lCDpV4,1134
|
|
112
129
|
agent_cli/scripts/run-piper.sh,sha256=MAI1yTnmcn3z-t7UWwK5oSvpr9KNgh6Z2h7ns_dbYNc,877
|
|
@@ -122,6 +139,8 @@ agent_cli/scripts/setup-macos.sh,sha256=iKWhhONLGDTqYawSDqutnl0mfQomSVPPAsx09-0E
|
|
|
122
139
|
agent_cli/scripts/setup-windows.ps1,sha256=NhyxOuwCjjSw24q2QOqggATos_n06DDbfvMQWuAB3tM,2938
|
|
123
140
|
agent_cli/scripts/start-all-services-windows.ps1,sha256=uOODaPFzniEU7asDgMyf5MEOWcEFsGg_mCLLlDgKoa8,2643
|
|
124
141
|
agent_cli/scripts/start-all-services.sh,sha256=c6pjXoyoQkeF-cYpldeMMo38XxRMmS43FHG5w3ElLxg,7756
|
|
142
|
+
agent_cli/scripts/sync_extras.py,sha256=VpuhNg7iP3YT3l1jqoSBeWbzDEkeUEGGba7_lGUxBjA,4737
|
|
143
|
+
agent_cli/scripts/.runtime/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
125
144
|
agent_cli/scripts/linux-hotkeys/README.md,sha256=OW48Xyv096XkUosSJkzED_nnEEncSzhl87FNgEfq8wg,2037
|
|
126
145
|
agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh,sha256=sme-dil3EU4nkdRwxSvARr-hBN9UjrU1IFabLCrvwl8,1251
|
|
127
146
|
agent_cli/scripts/linux-hotkeys/toggle-transcription.sh,sha256=_syhVCk-ggDh9tpjbF7d_cCvQe76H2KvOYqmRc1dG3U,1777
|
|
@@ -137,15 +156,15 @@ agent_cli/scripts/nvidia-asr-server/server.py,sha256=kPNQIVF3exblvqMtIVk38Y6sZy2
|
|
|
137
156
|
agent_cli/scripts/nvidia-asr-server/shell.nix,sha256=IT20j5YNj_wc7MdXi7ndogGodDNSGwyq8G0bNoZEpmg,1003
|
|
138
157
|
agent_cli/scripts/nvidia-asr-server/uv.lock,sha256=5WWaqWOuV_moMPC-LIZK-A-Y5oaHr1tUn_vbR-IupzY,728608
|
|
139
158
|
agent_cli/server/__init__.py,sha256=NZuJHlLHck9KWrepNZHrJONptYCQI9P-uTqknSFI5Ds,71
|
|
140
|
-
agent_cli/server/cli.py,sha256=
|
|
141
|
-
agent_cli/server/common.py,sha256=
|
|
159
|
+
agent_cli/server/cli.py,sha256=sCSXk6iSjlxRhEeBI1Vt_3RhBVcp92pid_T0cusdFPU,22897
|
|
160
|
+
agent_cli/server/common.py,sha256=hBBp6i-2-yhDY260ffwmFBg_ndcoT5SNcfa6uFyP7Vc,6391
|
|
142
161
|
agent_cli/server/model_manager.py,sha256=93l_eeZeqnPALyDIK24or61tvded9TbM8tnde0okVjY,9225
|
|
143
162
|
agent_cli/server/model_registry.py,sha256=KrRV1XxbFYuXu5rJlHFh6PTl_2BKiWnWsaNrf-0c6wQ,6988
|
|
144
163
|
agent_cli/server/streaming.py,sha256=nX_kMNQBxdzvPKUcFQWth7dDBYALRGy_j9mDunKXaJE,2191
|
|
145
164
|
agent_cli/server/proxy/__init__.py,sha256=fOq5bs5B9XKfr7XbdZ825RIxheAJA0VKmKantykjTE4,83
|
|
146
165
|
agent_cli/server/proxy/api.py,sha256=gTfa_yxfiTv_L44Ii56-cW9lQ9ih8elwoNvGJuXIQpk,13829
|
|
147
166
|
agent_cli/server/tts/__init__.py,sha256=o1TlYmsGeqo-LDZg86KEhLJYWzN7jtMNGS5S8HFUSkw,93
|
|
148
|
-
agent_cli/server/tts/api.py,sha256=
|
|
167
|
+
agent_cli/server/tts/api.py,sha256=GLOJEC4yMlWjz6AjrWBdZLs368DddP27PMvgqVlVCFc,10598
|
|
149
168
|
agent_cli/server/tts/model_manager.py,sha256=TlBc0Q1iitDfNi8uYXyb1CaJr8Kt62SDyFIsCyVm7DY,6116
|
|
150
169
|
agent_cli/server/tts/model_registry.py,sha256=Znqt6vhJkr3eqkE1oZrYJhd6RLXzuRdzXbFzuNn8cOI,737
|
|
151
170
|
agent_cli/server/tts/wyoming_handler.py,sha256=Hx3cOsQ73tx6RNpB37RMRtCnp1kGvbQzWd7yeetUpIU,7674
|
|
@@ -158,20 +177,19 @@ agent_cli/server/whisper/api.py,sha256=_2z04tUfuQ6QnKMaZnikb5Ji7LbtCfKYs42MG6v-Q
|
|
|
158
177
|
agent_cli/server/whisper/languages.py,sha256=Tv3qsIOSQQLxw-v5Wy41jSS6uHG_YBiG-T2uJVVt3u0,2686
|
|
159
178
|
agent_cli/server/whisper/model_manager.py,sha256=LI92mkueu8o8m6AhzlUaaIWygnZucJa295-j7ymx7Ss,4925
|
|
160
179
|
agent_cli/server/whisper/model_registry.py,sha256=qoRkB0ex6aRtUlsUN5BGik-oIZlwJbVHGQKaCbf_yVg,789
|
|
161
|
-
agent_cli/server/whisper/wyoming_handler.py,sha256=
|
|
180
|
+
agent_cli/server/whisper/wyoming_handler.py,sha256=HjN565YfDHeVfaGjQfoy9xjCZPx_TvYvjRYgbKn3aOI,6634
|
|
162
181
|
agent_cli/server/whisper/backends/__init__.py,sha256=DfgyigwMLKiSfaRzZ1TTeV7fa9HWSmT1UJnJa-6el7k,2338
|
|
163
182
|
agent_cli/server/whisper/backends/base.py,sha256=gQi5EyMCFS464mKXGIKbh1vgtBm99eNkf93SCIYRYg0,2597
|
|
164
|
-
agent_cli/server/whisper/backends/faster_whisper.py,sha256
|
|
183
|
+
agent_cli/server/whisper/backends/faster_whisper.py,sha256=GN51L-qBjH-YU8ASiu317NrkMKMsK_znXDOTxi90EzU,6966
|
|
165
184
|
agent_cli/server/whisper/backends/mlx.py,sha256=wSkD9wL3K8PvQToJ5qkTj_HZQJD9Brs_bjNz-X0Sku8,9328
|
|
166
185
|
agent_cli/services/__init__.py,sha256=8REdXC5eXfhAJJ6j85tgCinbj89PLwv8A50dysA8VUc,10004
|
|
167
|
-
agent_cli/services/_wyoming_utils.py,sha256=
|
|
168
|
-
agent_cli/services/asr.py,sha256=
|
|
169
|
-
agent_cli/services/llm.py,sha256=
|
|
170
|
-
agent_cli/services/tts.py,sha256=
|
|
171
|
-
agent_cli/services/wake_word.py,sha256=
|
|
172
|
-
agent_cli-0.
|
|
173
|
-
agent_cli-0.
|
|
174
|
-
agent_cli-0.
|
|
175
|
-
agent_cli-0.
|
|
176
|
-
agent_cli-0.
|
|
177
|
-
agent_cli-0.61.2.dist-info/RECORD,,
|
|
186
|
+
agent_cli/services/_wyoming_utils.py,sha256=pKPa4fOSdqcG3-kNHJOHHsMnZ1yZJZi6XohVwjAwabo,1971
|
|
187
|
+
agent_cli/services/asr.py,sha256=aRaCLVCygsJ15qyQEPECOZsdSrnlLPbyY4RwAqY0qIw,17258
|
|
188
|
+
agent_cli/services/llm.py,sha256=i01utl1eYWlM13gvW2eR6ErL_ndH-g0d-BSleZra_7k,7229
|
|
189
|
+
agent_cli/services/tts.py,sha256=NX5Qnq7ddLI3mwm3nzhbR3zB1Os4Ip4sSVSjDZDTBcI,14855
|
|
190
|
+
agent_cli/services/wake_word.py,sha256=JFJ1SA22H4yko9DXiQ1t7fcoxeALLAe3iBrLs0z8rX4,4664
|
|
191
|
+
agent_cli-0.70.2.dist-info/METADATA,sha256=dbmxmB1vMxwjh_HSrSVHY1yQKEePFYDB5xzVCEDK2ew,156132
|
|
192
|
+
agent_cli-0.70.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
193
|
+
agent_cli-0.70.2.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
|
|
194
|
+
agent_cli-0.70.2.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
|
|
195
|
+
agent_cli-0.70.2.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
agent_cli
|
|
File without changes
|
|
File without changes
|