feat: add myagents backends command (list supported agent backends)

This commit is contained in:
Zhengshou Lai
2026-07-25 00:42:56 +08:00
parent 7b6da50c93
commit 37961feb21
2 changed files with 26 additions and 0 deletions
+9
View File
@@ -48,6 +48,15 @@ def cli(ctx: click.Context) -> None:
ctx.exit(0) ctx.exit(0)
@cli.command("backends")
def backends_cmd() -> None:
"""List available agent backends (one per line, for machine consumption)."""
from myagents.launcher import _BACKENDS
for name in _BACKENDS:
click.echo(name)
cli.add_command(build_cli("claude"), name="claude") cli.add_command(build_cli("claude"), name="claude")
cli.add_command(build_cli("kimi"), name="kimi") cli.add_command(build_cli("kimi"), name="kimi")
cli.add_command(build_cli("codex"), name="codex") cli.add_command(build_cli("codex"), name="codex")
+17
View File
@@ -40,6 +40,23 @@ class TestMyagentsHelp:
assert result.exit_code == 0 assert result.exit_code == 0
assert "Usage:" in result.output assert "Usage:" in result.output
def test_backends_lists_all(self) -> None:
"""``myagents backends`` lists all supported agent backends."""
runner = CliRunner()
result = runner.invoke(cli, ["backends"])
assert result.exit_code == 0
assert "claude" in result.output
assert "kimi" in result.output
assert "codex" in result.output
assert "hermes" in result.output
def test_help_lists_backends(self) -> None:
"""--help should list backends subcommand."""
runner = CliRunner()
result = runner.invoke(cli, ["--help"])
assert result.exit_code == 0
assert "backends" in result.output
class TestClaudeSubcommand: class TestClaudeSubcommand:
"""Tests for ``myagents claude``.""" """Tests for ``myagents claude``."""