mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-31 03:12:16 +00:00
New log_config.py with setup_logging() configuring the openjarvis logger (WARNING default, DEBUG on --verbose, ERROR on --quiet). RotatingFileHandler (5MB, 3 backups) enabled in verbose mode. Flags added to root CLI group and forwarded via click context. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
74 lines
2.4 KiB
Python
74 lines
2.4 KiB
Python
"""Command-line interface for OpenJarvis (Click-based)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import click
|
|
|
|
import openjarvis
|
|
from openjarvis.cli.add_cmd import add
|
|
from openjarvis.cli.agent_cmd import agent
|
|
from openjarvis.cli.operators_cmd import operators
|
|
from openjarvis.cli.ask import ask
|
|
from openjarvis.cli.bench_cmd import bench
|
|
from openjarvis.cli.channel_cmd import channel
|
|
from openjarvis.cli.chat_cmd import chat
|
|
from openjarvis.cli.daemon_cmd import restart, start, status, stop
|
|
from openjarvis.cli.doctor_cmd import doctor
|
|
from openjarvis.cli.init_cmd import init
|
|
from openjarvis.cli.memory_cmd import memory
|
|
from openjarvis.cli.model import model
|
|
from openjarvis.cli.quickstart_cmd import quickstart
|
|
from openjarvis.cli.scheduler_cmd import scheduler
|
|
from openjarvis.cli.serve import serve
|
|
from openjarvis.cli.skill_cmd import skill
|
|
from openjarvis.cli.telemetry_cmd import telemetry
|
|
from openjarvis.cli.vault_cmd import vault
|
|
from openjarvis.cli.workflow_cmd import workflow
|
|
|
|
|
|
@click.group(help="OpenJarvis — modular AI assistant backend")
|
|
@click.version_option(version=openjarvis.__version__, prog_name="jarvis")
|
|
@click.option("--verbose", is_flag=True, default=False, help="Enable debug logging")
|
|
@click.option("--quiet", is_flag=True, default=False, help="Suppress non-error output")
|
|
@click.pass_context
|
|
def cli(ctx: click.Context, verbose: bool, quiet: bool) -> None:
|
|
"""Top-level CLI group."""
|
|
from openjarvis.cli.log_config import setup_logging
|
|
|
|
ctx.ensure_object(dict)
|
|
ctx.obj["verbose"] = verbose
|
|
ctx.obj["quiet"] = quiet
|
|
setup_logging(verbose=verbose, quiet=quiet)
|
|
|
|
|
|
cli.add_command(init, "init")
|
|
cli.add_command(ask, "ask")
|
|
cli.add_command(chat, "chat")
|
|
cli.add_command(serve, "serve")
|
|
cli.add_command(model, "model")
|
|
cli.add_command(memory, "memory")
|
|
cli.add_command(telemetry, "telemetry")
|
|
cli.add_command(bench, "bench")
|
|
cli.add_command(channel, "channel")
|
|
cli.add_command(scheduler, "scheduler")
|
|
cli.add_command(doctor, "doctor")
|
|
cli.add_command(agent, "agent")
|
|
cli.add_command(workflow, "workflow")
|
|
cli.add_command(skill, "skill")
|
|
cli.add_command(start, "start")
|
|
cli.add_command(stop, "stop")
|
|
cli.add_command(restart, "restart")
|
|
cli.add_command(status, "status")
|
|
cli.add_command(vault, "vault")
|
|
cli.add_command(add, "add")
|
|
cli.add_command(operators, "operators")
|
|
cli.add_command(quickstart, "quickstart")
|
|
|
|
|
|
def main() -> None:
|
|
"""Entry point registered as ``jarvis`` console script."""
|
|
cli()
|
|
|
|
|
|
__all__ = ["cli", "main"]
|