mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-04-10 11:50:06 +08:00
73 lines
1.7 KiB
Python
73 lines
1.7 KiB
Python
"""CowAgent CLI entry point."""
|
|
|
|
import click
|
|
from cli import __version__
|
|
from cli.commands.skill import skill
|
|
from cli.commands.process import start, stop, restart, status, logs
|
|
from cli.commands.context import context
|
|
|
|
|
|
HELP_TEXT = """Usage: cow COMMAND [ARGS]...
|
|
|
|
CowAgent CLI - Manage your CowAgent instance.
|
|
|
|
Commands:
|
|
help Show this message.
|
|
version Show the version.
|
|
start Start CowAgent.
|
|
stop Stop CowAgent.
|
|
restart Restart CowAgent.
|
|
status Show CowAgent running status.
|
|
logs View CowAgent logs.
|
|
context View or manage conversation context.
|
|
skill Manage CowAgent skills.
|
|
|
|
Tip: You can also send /help, /skill list, etc. in chat."""
|
|
|
|
|
|
class CowCLI(click.Group):
|
|
|
|
def format_help(self, ctx, formatter):
|
|
formatter.write(HELP_TEXT.strip())
|
|
formatter.write("\n")
|
|
|
|
def parse_args(self, ctx, args):
|
|
if args and args[0] == 'help':
|
|
click.echo(HELP_TEXT.strip())
|
|
ctx.exit(0)
|
|
return super().parse_args(ctx, args)
|
|
|
|
|
|
@click.group(cls=CowCLI, invoke_without_command=True, context_settings=dict(help_option_names=[]))
|
|
@click.pass_context
|
|
def main(ctx):
|
|
"""CowAgent CLI - Manage your CowAgent instance."""
|
|
if ctx.invoked_subcommand is None:
|
|
click.echo(HELP_TEXT.strip())
|
|
|
|
|
|
@main.command()
|
|
def version():
|
|
"""Show the version."""
|
|
click.echo(f"cow {__version__}")
|
|
|
|
|
|
@main.command(name='help')
|
|
@click.pass_context
|
|
def help_cmd(ctx):
|
|
"""Show this message."""
|
|
click.echo(HELP_TEXT.strip())
|
|
|
|
|
|
main.add_command(skill)
|
|
main.add_command(start)
|
|
main.add_command(stop)
|
|
main.add_command(restart)
|
|
main.add_command(status)
|
|
main.add_command(logs)
|
|
main.add_command(context)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|