Files
ttshop/REAMME.md
T

2.4 KiB
Executable File
Raw Blame History

TTSHOP 同步脚本

TTSHOP 的代码仓库地址为 git.ops.roasbloom.site,报告目录地址为 ops.roasbloom.site/<仓库名>/;本仓库对应的报告目录为 ops.roasbloom.site/ttshop/。

sync.py 使用 Python 标准库和 requests 读取公开 Google Sheets 工作簿,并把所有工作表合并成一个 UTF-8 HTML 表格,固定写入 data/merged.html。生成的 data/merged.html 供 Google Sheets 的 IMPORTHTML 使用,不改成 index.html 或 data.json。工作表名称和顺序来自 XLSX 导出,单元格使用公开 gviz 接口返回的显示值。

合并规则:每张表第一行是标题;列按首次出现顺序取并集;源表已有的 LinkName 会改名为 LinkName_Source、LinkName_Source_2 等并保留;脚本最后追加生成的 LinkName 列。HTML 文本会进行转义。内容没有变化时不产生 Git 提交,变化时只提交 data/merged.html 并推送到 main。

AgentStage 自动更新

AgentStage 服务器会自动执行仓库根目录的 update.sh,不使用 Gitea Actions workflow。update.sh 会进入脚本所在目录并使用 python3 执行 sync.py;脚本失败时会以非零状态退出。

schedule.conf 是一个表示间隔小时数的数字:默认值为 1(每小时一次),本仓库设置为 24,表示每天刷新一次。服务器执行更新后,报告可从 ops.roasbloom.site/<仓库名>/ 访问。

本地运行

python3 -m pip install -r requirements.txt
./update.sh

脚本默认使用固定工作簿 ID 1DPbdVsX3SG_kgDXs2j34mDAgplRSfcAWKKG9yqalFmw、仓库 ttshop、分支 main 和输出路径 data/merged.html。本地运行需要当前目录是该仓库,并且 Git 已配置可推送的 origin;不要把凭据写入 remote URL。

环境变量

  • GIT_CREDENTIAL_SECRET:可选的 Git 密码/token。脚本通过临时 GIT_ASKPASS 使用,不写入 URL、日志或提交文件。
  • GITEA_OWNER:Git askpass 的用户名提示值。
  • SYNC_FAILURE_WEBHOOK_URL:可选的失败通知 URL。失败时最多发送一次简短通知,通知失败不会覆盖原始异常。

AgentStage 运行不需要 Gitea Actions、Google OAuth 或 Google 服务账号。请勿把 token、密码或其他密钥写入脚本、仓库 URL、提交文件或日志;本地密钥和临时文件应被 .gitignore 规则忽略,避免进入提交。