modelhub-agent-contrib

ModelHub XC(信创模盒)适配智能体 Phase1 本地骨架。

不代注册;Victor 已批准队列闸门 live 代提。 发布智能体本身 不得分。积分来自成功适配,数字一律 待平台核实。 冲突裁决:适配 W1 优先;本仓默认 live 开启,仅在实时验证队列低于阈值时提交。

契约要点

项 值
端口 8080
健康检查 GET /health → {"status":"ok"}
启动 必须有非空 STRATEGY_ID,否则 exit ≠0
Live 默认开启;ALLOW_LIVE_SUBMIT=0 为停交开关;必须提供 STRATEGY_ID
Base 镜像 平台 xc_agent_platform/python:3.11-slim(保留 FROM)

Victor 的确认已内置,LIVE_CONFIRM 仍接受但不再必需。每次 task/add 前, 通过 Xc-Token 全量分页读取 onlyMine task/page;非终态计入队列,读取失败停交。 LIVE_QUEUE_THRESHOLD=95(严格小于),LIVE_MAX_SUBMITS_PER_CYCLE=3, LIVE_CYCLE_SECONDS=600(最小 60 秒)。环境队列提示仅可额外阻塞。 候选来自 PENDING_SUBMIT_MD / PENDING_SUBMIT_TXT,否则使用 src/data/pending-submit.md(若存在);A verified_reuse → 其他 A → B。 禁提、重复、GPU 未映射、占位符候选跳过。LIVE_STATE_FILE 默认 /tmp/live-submitted.json,在请求前持久化去重;失败请求也不自动重试。 配置优先 build-config,失败使用 sample 并记录来源及原因。token 缺失只 hold。

快速开始

cd /workspace/modelhub-agent-contrib
make test
make smoke-health    # 自动起本地 server(需 STRATEGY_ID,脚本可注入测试值)
make dry-run         # 写出 reports/dry-run-*.md
make build           # 需 Docker + 可达平台 base;失败见 docs/build-notes.md

本地起服务:

export STRATEGY_ID=local-dev
export ALLOW_LIVE_SUBMIT=0  # 本地开发停交
python3 -m src.server
# → http://127.0.0.1:8080/health

目录

Dockerfile  Makefile  README.md
src/        # server / health / strategy / gate
config/     # example.env, candidates.example.json
scripts/    # smoke_health.py, dry_run.py, tag_release.py
reports/    # dry-run 输出(gitignore)
docs/       # 契约 / runbook / kickoff / issues
tests/      # stdlib unittest

Makefile 目标

  • test / build / smoke-health / dry-run
  • 没有 register / submit / deploy / push

文档

资源声明

按平台量级设计:约 100m–1 CPU / 256–512Mi。

许可与边界

本仓库用于 Victor 本地/Gitea 交付。Victor 已批准上述队列闸门自动提交;不自动注册。 make dry-run-pending 仍仅生成草稿;测试全部 mock 平台接口。

Description
No description provided
Readme 300 KiB
Languages
Python 98.5%
Makefile 0.9%
Dockerfile 0.6%