From d0ee94833913caeba8f4c5e1fbdb0a2453acf6f2 Mon Sep 17 00:00:00 2001 From: qing <1776177662@qq.com> Date: Mon, 10 Aug 2026 12:02:47 +0800 Subject: [PATCH] =?UTF-8?q?ai=5Freview:=20CLI=20=E6=A0=87=E5=87=86?= =?UTF-8?q?=E5=8C=96=EF=BC=88argparse=20+=20--host/--port/--log-level/--in?= =?UTF-8?q?stance=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 --host/--port 覆盖 $AI_REVIEW_HOST/$AI_REVIEW_PORT(CLI > ENV > 默认值) - 新增 --log-level debug|info|warn|error(启动打印,ai_review 无 db 日志客户端故仅作标准接口) - 新增 --instance 实例名(注册中心用) - 配置加载从模块顶层移入 __main__,argparse 解析 - services.yaml: ai_review 声明 --instance 和 --log-level --- ai_review/ai_review.py | 30 ++++++++++++++++++++++++++++++ core/services.yaml | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/ai_review/ai_review.py b/ai_review/ai_review.py index dd24241..ac687d4 100644 --- a/ai_review/ai_review.py +++ b/ai_review/ai_review.py @@ -165,9 +165,39 @@ def rag_list(): return jsonify({"total": len(entries), "entries": entries}), 200 +def _parse_args(): + """解析命令行参数(标准化:CLI > ENV > 默认值)。""" + import argparse + p = argparse.ArgumentParser( + prog="ai_review", + description="AI Review Service — 基于 DeepSeek + RAG 的内容审核微服务", + ) + p.add_argument("--host", default=None, + help="绑定地址(默认读取 $AI_REVIEW_HOST,否则 127.0.0.1)") + p.add_argument("--port", type=int, default=None, + help="监听端口(默认读取 $AI_REVIEW_PORT,否则 8007)") + p.add_argument("--log-level", default="info", + choices=["debug", "info", "warn", "error"], + help="日志级别(默认 info)") + p.add_argument("--instance", default="ai_review", + help="实例名(注册中心用,默认 ai_review)") + return p.parse_args() + + +# ── 配置默认值(ENV 覆盖,CLI 最高优先级)─────────────────────────── ADDR = os.getenv("AI_REVIEW_HOST", "127.0.0.1") PORT = int(os.getenv("AI_REVIEW_PORT", "8007")) if __name__ == "__main__": + args = _parse_args() + + # CLI 覆盖(最高优先级) + if args.host is not None: + ADDR = args.host + if args.port is not None: + PORT = args.port + print(f'AI Review Service listening at http://{ADDR}:{PORT}') + print(f'[ai_review] instance={args.instance} log-level={args.log_level}') + print(f'[ai_review] 配置来源: CLI > ENV > 默认值') serve(app, host=ADDR, port=PORT) diff --git a/core/services.yaml b/core/services.yaml index 2fcdfcb..763021c 100644 --- a/core/services.yaml +++ b/core/services.yaml @@ -21,7 +21,7 @@ services: # --- AI 审核 --- - name: ai_review cmd: bash /opt/micro_servers/ai_review/_run.sh - args: [] + args: ["--instance", "ai_review", "--log-level", "info"] depends_on: [db2] sleep_before: 2