mirror of
https://github.com/OpenBMB/ChatDev.git
synced 2026-04-25 11:18:06 +00:00
76 lines
1.8 KiB
Python
Executable File
76 lines
1.8 KiB
Python
Executable File
import argparse
|
|
import logging
|
|
from pathlib import Path
|
|
|
|
from runtime.bootstrap.schema import ensure_schema_registry_populated
|
|
from server.app import app
|
|
|
|
|
|
ensure_schema_registry_populated()
|
|
|
|
|
|
def main():
|
|
import uvicorn
|
|
|
|
parser = argparse.ArgumentParser(description="DevAll Workflow Server")
|
|
parser.add_argument(
|
|
"--host",
|
|
type=str,
|
|
default="0.0.0.0",
|
|
help="Server host (default: 0.0.0.0)"
|
|
)
|
|
parser.add_argument(
|
|
"--port",
|
|
type=int,
|
|
default=8000,
|
|
help="Server port (default: 8000)"
|
|
)
|
|
parser.add_argument(
|
|
"--log-level",
|
|
choices=["debug", "info", "warning", "error", "critical"],
|
|
default="info",
|
|
help="Log level (default: info)"
|
|
)
|
|
parser.add_argument(
|
|
"--reload",
|
|
action="store_true",
|
|
help="Enable auto-reload for development"
|
|
)
|
|
|
|
args = parser.parse_args()
|
|
|
|
# Configure structured logging
|
|
import os
|
|
os.environ['LOG_LEVEL'] = args.log_level.upper()
|
|
|
|
# Ensure log directory exists
|
|
log_dir = Path("logs")
|
|
log_dir.mkdir(exist_ok=True)
|
|
|
|
# Configure logging
|
|
logging.basicConfig(
|
|
level=getattr(logging, args.log_level.upper()),
|
|
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
|
handlers=[
|
|
logging.FileHandler(log_dir / "server.log"),
|
|
logging.StreamHandler()
|
|
]
|
|
)
|
|
|
|
logger = logging.getLogger(__name__)
|
|
logger.info(f"Starting DevAll Workflow Server on {args.host}:{args.port}")
|
|
|
|
# Launch the server
|
|
uvicorn.run(
|
|
"server.app:app",
|
|
host=args.host,
|
|
port=args.port,
|
|
reload=args.reload,
|
|
log_level=args.log_level,
|
|
ws="wsproto",
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|