用途:在独立的实验超级项目(如 phace-exp/)中运行、记录和分析 Cherries 实验,并管理不可变的本地或远程 CAS 记录。使用前应阅读 Cherries 检出目录的 docs/README.md,已安装版本可能尚未包含全部文档化能力。
主要能力:以普通 Python 或 uv run python 运行实验,无需 bootstrap、守护进程或手动保存;自动捕获入口源码、Git HEAD、二进制差异、参数、输入绑定、日志、指标与声明输出,成功运行后封装为规范 SHA-256 对象与不可变记录。input() 支持本地路径、sha256: 文件 ID、sha256-tree: 包 ID 或 run:<record-id>/<logical-path>,并校验、暂存独立副本、登记血缘;output() 声明 outputs/ 下必需路径,log_output() 复制外部输出,temp() 提供临时目录。
使用方式:在 cherries.local.toml 配置本地数据卷(不要用 /tmp),用 cherries --project-dir . --storage <路径> init --collection-id "<uuid>" 初始化集合。用 browse、show、read、path 检查记录,path 会创建读取租约,需用返回的 lease ID 释放;Python 后续工作可用 with cherries.open_run("<record-id>") as saved。用 cherries note <RUN-ID> --file <路径> 附加文档版本,用 review、label、mark、link、analysis 管理评审与轻量分析。归档用 archive --remote,恢复用 restore,同步用 sync --remote。
适用场景:需要可追溯、可复现的科学实验记录、运行文档维护、评审标注与归档同步。
限制:本地记录器目前仅支持 Linux 与 Python 3.12 及以上;main 返回前须完成异步原生操作与工作目录写入,Cherries 无法跟踪外部原生线程;不得在 main 中修改已暂存输入;非有限指标以 NaN/Infinity 字符串保留;rerun 不自动等于 replay_verified;归档仅前台执行,rclone 远程需 --coordinated;维护操作需暂停凭据与计划,不授权远程或分布式删除。其余细节暂未提供。