agent-cli 0.70.5__py3-none-any.whl → 0.71.0__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/agents/assistant.py +23 -27
- agent_cli/agents/autocorrect.py +29 -3
- agent_cli/agents/chat.py +44 -14
- agent_cli/agents/memory/__init__.py +19 -1
- agent_cli/agents/memory/add.py +3 -3
- agent_cli/agents/memory/proxy.py +19 -10
- agent_cli/agents/rag_proxy.py +41 -9
- agent_cli/agents/speak.py +22 -2
- agent_cli/agents/transcribe.py +20 -2
- agent_cli/agents/transcribe_daemon.py +33 -21
- agent_cli/agents/voice_edit.py +17 -9
- agent_cli/cli.py +25 -2
- agent_cli/config_cmd.py +30 -11
- agent_cli/dev/cli.py +295 -65
- agent_cli/docs_gen.py +18 -8
- agent_cli/install/extras.py +39 -10
- agent_cli/install/hotkeys.py +22 -11
- agent_cli/install/services.py +54 -14
- agent_cli/opts.py +23 -20
- agent_cli/server/cli.py +118 -44
- {agent_cli-0.70.5.dist-info → agent_cli-0.71.0.dist-info}/METADATA +456 -187
- {agent_cli-0.70.5.dist-info → agent_cli-0.71.0.dist-info}/RECORD +25 -25
- {agent_cli-0.70.5.dist-info → agent_cli-0.71.0.dist-info}/WHEEL +0 -0
- {agent_cli-0.70.5.dist-info → agent_cli-0.71.0.dist-info}/entry_points.txt +0 -0
- {agent_cli-0.70.5.dist-info → agent_cli-0.71.0.dist-info}/licenses/LICENSE +0 -0
agent_cli/cli.py
CHANGED
|
@@ -14,9 +14,32 @@ from .config import load_config, normalize_provider_defaults
|
|
|
14
14
|
from .core.process import set_process_title
|
|
15
15
|
from .core.utils import console
|
|
16
16
|
|
|
17
|
+
_HELP = """\
|
|
18
|
+
AI-powered voice, text, and development tools.
|
|
19
|
+
|
|
20
|
+
**Voice & Text:**
|
|
21
|
+
|
|
22
|
+
- **Voice-to-text** - Transcribe speech with optional LLM cleanup
|
|
23
|
+
- **Text-to-speech** - Convert text to natural-sounding audio
|
|
24
|
+
- **Voice chat** - Conversational AI with memory and tool use
|
|
25
|
+
- **Text correction** - Fix grammar, spelling, and punctuation
|
|
26
|
+
|
|
27
|
+
**Development:**
|
|
28
|
+
|
|
29
|
+
- **Parallel development** - Git worktrees with integrated coding agents
|
|
30
|
+
- **Local servers** - ASR/TTS with Wyoming + OpenAI-compatible APIs,
|
|
31
|
+
MLX on macOS ARM, CUDA/CPU Whisper, and automatic model TTL
|
|
32
|
+
|
|
33
|
+
**Provider Flexibility:**
|
|
34
|
+
|
|
35
|
+
Mix local (Ollama, Wyoming) and cloud (OpenAI, Gemini) backends freely.
|
|
36
|
+
|
|
37
|
+
Run `agent-cli <command> --help` for detailed command documentation.
|
|
38
|
+
"""
|
|
39
|
+
|
|
17
40
|
app = typer.Typer(
|
|
18
41
|
name="agent-cli",
|
|
19
|
-
help=
|
|
42
|
+
help=_HELP,
|
|
20
43
|
context_settings={"help_option_names": ["-h", "--help"]},
|
|
21
44
|
add_completion=True,
|
|
22
45
|
rich_markup_mode="markdown",
|
|
@@ -56,7 +79,7 @@ def main(
|
|
|
56
79
|
),
|
|
57
80
|
] = False,
|
|
58
81
|
) -> None:
|
|
59
|
-
"""
|
|
82
|
+
"""AI-powered voice, text, and development tools."""
|
|
60
83
|
if ctx.invoked_subcommand is None:
|
|
61
84
|
console.print("[bold red]No command specified.[/bold red]")
|
|
62
85
|
console.print("[bold yellow]Running --help for your convenience.[/bold yellow]")
|
agent_cli/config_cmd.py
CHANGED
|
@@ -20,7 +20,17 @@ from agent_cli.core.utils import console
|
|
|
20
20
|
|
|
21
21
|
config_app = typer.Typer(
|
|
22
22
|
name="config",
|
|
23
|
-
help="Manage agent-cli configuration files.
|
|
23
|
+
help="""Manage agent-cli configuration files.
|
|
24
|
+
|
|
25
|
+
Config files are TOML format and searched in order:
|
|
26
|
+
|
|
27
|
+
1. `./agent-cli-config.toml` (project-local)
|
|
28
|
+
2. `~/.config/agent-cli/config.toml` (user default)
|
|
29
|
+
|
|
30
|
+
Settings in `[defaults]` apply to all commands. Override per-command
|
|
31
|
+
with sections like `[chat]` or `[transcribe]`. CLI arguments override
|
|
32
|
+
config file settings.
|
|
33
|
+
""",
|
|
24
34
|
add_completion=True,
|
|
25
35
|
rich_markup_mode="markdown",
|
|
26
36
|
no_args_is_help=True,
|
|
@@ -40,30 +50,30 @@ CONFIG_PATH_OPTION: Path | None = typer.Option(
|
|
|
40
50
|
None,
|
|
41
51
|
"--path",
|
|
42
52
|
"-p",
|
|
43
|
-
help="
|
|
53
|
+
help="Override auto-detection and use this config file path.",
|
|
44
54
|
)
|
|
45
55
|
CONFIG_PATH_INIT_OPTION: Path | None = typer.Option(
|
|
46
56
|
None,
|
|
47
57
|
"--path",
|
|
48
58
|
"-p",
|
|
49
|
-
help="
|
|
59
|
+
help="Where to create the config file (default: `~/.config/agent-cli/config.toml`).",
|
|
50
60
|
)
|
|
51
61
|
FORCE_OPTION: bool = typer.Option(
|
|
52
62
|
False, # noqa: FBT003
|
|
53
63
|
"--force",
|
|
54
64
|
"-f",
|
|
55
|
-
help="Overwrite existing config without confirmation.",
|
|
65
|
+
help="Overwrite existing config without prompting for confirmation.",
|
|
56
66
|
)
|
|
57
67
|
RAW_OPTION: bool = typer.Option(
|
|
58
68
|
False, # noqa: FBT003
|
|
59
69
|
"--raw",
|
|
60
70
|
"-r",
|
|
61
|
-
help="
|
|
71
|
+
help="Print plain file contents without syntax highlighting or line numbers.",
|
|
62
72
|
)
|
|
63
73
|
JSON_OPTION: bool = typer.Option(
|
|
64
74
|
False, # noqa: FBT003
|
|
65
75
|
"--json",
|
|
66
|
-
help="Output as JSON
|
|
76
|
+
help="Output as JSON with `path`, `exists`, and `content` fields.",
|
|
67
77
|
)
|
|
68
78
|
|
|
69
79
|
|
|
@@ -149,10 +159,13 @@ def config_init(
|
|
|
149
159
|
path: Path | None = CONFIG_PATH_INIT_OPTION,
|
|
150
160
|
force: bool = FORCE_OPTION,
|
|
151
161
|
) -> None:
|
|
152
|
-
"""Create a new config file with all options commented
|
|
162
|
+
"""Create a new config file with all options as commented-out examples.
|
|
153
163
|
|
|
154
|
-
|
|
155
|
-
|
|
164
|
+
Generates a TOML template with `[defaults]` for global settings and
|
|
165
|
+
command-specific sections like `[chat]`, `[transcribe]`, etc. Uncomment
|
|
166
|
+
and edit the options you want to customize.
|
|
167
|
+
|
|
168
|
+
Example: `agent-cli config init && agent-cli config edit`
|
|
156
169
|
"""
|
|
157
170
|
target_path = _get_config_file(path) or USER_CONFIG_PATH
|
|
158
171
|
|
|
@@ -182,7 +195,9 @@ def config_edit(
|
|
|
182
195
|
) -> None:
|
|
183
196
|
"""Open the config file in your default editor.
|
|
184
197
|
|
|
185
|
-
|
|
198
|
+
Editor preference: `$EDITOR` → `$VISUAL` → `nano`/`vim` → `vi` (or
|
|
199
|
+
`notepad` on Windows). If no config exists, run `agent-cli config init`
|
|
200
|
+
first.
|
|
186
201
|
"""
|
|
187
202
|
config_file = _get_config_file(path)
|
|
188
203
|
|
|
@@ -234,7 +249,11 @@ def config_show(
|
|
|
234
249
|
raw: bool = RAW_OPTION,
|
|
235
250
|
json_output: bool = JSON_OPTION,
|
|
236
251
|
) -> None:
|
|
237
|
-
"""Display the config file
|
|
252
|
+
"""Display the active config file path and contents.
|
|
253
|
+
|
|
254
|
+
By default, shows syntax-highlighted TOML with line numbers. Use `--raw`
|
|
255
|
+
for plain output (useful for piping), or `--json` for programmatic access.
|
|
256
|
+
"""
|
|
238
257
|
config_file = _get_config_file(path)
|
|
239
258
|
|
|
240
259
|
if config_file is None:
|