forked from luopingyi/xc_agent_platform_demo
3adf13ad22fcbae53eb01a4f18f8ca59c918b090
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
文档
docs/kickoff-for-victor.md— 一页开工 + 验收勾选docs/platform-contract-agent.md— 契约表docs/register-runbook.md— 仅人工注册docs/api-probe-design.md— 写接口禁止代调docs/diff-vs-demo.md— 对照官方 demodocs/issues.md— M0–M4 / Phase 清单docs/build-notes.md— 镜像构建说明
资源声明
按平台量级设计:约 100m–1 CPU / 256–512Mi。
许可与边界
本仓库用于 Victor 本地/Gitea 交付。Victor 已批准上述队列闸门自动提交;不自动注册。
make dry-run-pending 仍仅生成草稿;测试全部 mock 平台接口。
Description
Languages
Python
98.5%
Makefile
0.9%
Dockerfile
0.6%