Files
joke/optimizer/main.py
T
bwstudio 595394fcb7 feat: 前后台静态资源路径冲突修复 + 用户管理功能
- 修改 admin/vite.config.js 添加 base: '/admin/' 解决静态资源路径问题
- 修复后台 index.html 资源引用从 /assets/ → /admin/assets/
- 更新优化器默认 API 地址为服务器地址
- 添加友链管理相关代码
- 修复多处分类管理页面
2026-06-10 07:30:49 +08:00

100 lines
2.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""
笑话优化 CLI 工具。
循环检测所有笑话 → AI 质量检测 → AI 润色 → AI 评价分类。
用法:
python optimizer/main.py # 处理所有 pending/approved 笑话
python optimizer/main.py --status rejected # 只处理已拒绝的
python optimizer/main.py --limit 10 # 只处理前 10 条
python optimizer/main.py --id 1,2,3 # 指定 ID 处理
python optimizer/main.py --api-url http://localhost:8001
"""
import argparse
import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from optimizer.optimizer import Optimizer
def parse_args():
parser = argparse.ArgumentParser(description="笑话优化工具 — 质量检测 / AI 润色 / 评价分类")
parser.add_argument(
"--api-url",
type=str,
default=os.getenv("API_URL", "http://39.104.58.51"),
help="API 地址(默认: http://39.104.58.51",
)
parser.add_argument(
"--username",
type=str,
default=os.getenv("API_USERNAME", "admin"),
help="管理员用户名(默认: admin",
)
parser.add_argument(
"--password",
type=str,
default=os.getenv("API_PASSWORD", "admin123"),
help="管理员密码(默认: admin123",
)
parser.add_argument(
"--status",
type=str,
default=None,
choices=["pending", "approved", "rejected"],
help="按状态筛选(默认: 全部)",
)
parser.add_argument(
"--limit",
type=int,
default=None,
help="最多处理 N 条(默认: 全部)",
)
parser.add_argument(
"--id",
type=str,
default=None,
dest="ids",
help="指定笑话 ID,逗号分隔(如: 1,2,3",
)
return parser.parse_args()
def main():
args = parse_args()
ids = None
if args.ids:
ids = [int(x.strip()) for x in args.ids.split(",") if x.strip()]
print(f"=" * 50)
print(f"笑话优化工具")
print(f"API 地址: {args.api_url}")
print(f"筛选状态: {args.status or '全部'}")
if args.limit:
print(f"处理上限: {args.limit} 条")
if ids:
print(f"指定 ID: {ids}")
print(f"=" * 50)
optimizer = Optimizer(
api_base=args.api_url,
username=args.username,
password=args.password,
)
try:
optimizer.run(status=args.status, limit=args.limit, ids=ids)
except KeyboardInterrupt:
print("\n用户中断")
except Exception as e:
print(f"\n[!] 运行错误: {e}")
sys.exit(1)
if __name__ == "__main__":
main()