Codex-based experiment orchestration CLI for research labs
Project description
MyLab
MyLab 是一个专为科研实验设计的基于Codex的Agent框架。
我们希望 AI 能够在一步步的试错中不断探索,从一次次的先前实验中学习到经验;同时,我们也能从 AI 的一次次试错中找到真正的重点,帮助 AI 完成任务。
How It Works
我们把每一次的实验,变成一个Trial:
- MyLab 不只执行一次命令,而是围绕同一个目标持续实验、沉淀总结,再进入下一轮试错
- 每一轮都会将关键信息沉淀为一个Trial,包括 trial 定义、总结、结果、执行脚本和结构化日志,能让经验一直留存下来
- 会持续积累“实验怎么跑、哪些方法有效、哪些坑已经踩过”,后续的MyLab会根据当前的目标,从所有历史 Trial 中“选择性地”提取最相关的经验
- 人可以从这些 Trial 中快速看到 MyLab 到底试了什么、为什么失败、下一个优化方向到哪里,保留有价值的 Trial 作为基石,删除无用的 Trial 以剔除噪音,或者直接在 Trial 文件中写下你的点评
Quick Start
Prerequisites
- Codex 安装并且登录
- 科研实验仓库使用Git管理
Install
pip install mylab
Publish to PyPI
GitHub Actions 提供了基于 tag/release 的 PyPI 发布流程,见 .github/workflows/publish.yml。
发布前需要在 PyPI 项目里把这个 GitHub 仓库配置为 Trusted Publisher,然后创建一个 GitHub Release;工作流会自动构建并发布当前版本。
Start a Run
# 创建并启动一个新的 run
mylab start --repo /path/to/repo --goal "reproduce table 1" --mode unlimit
# 给 run 指定名字
mylab start --repo /path/to/repo --goal ./goal.md --run run_xx --mode unlimit
# 恢复一个已有 run
mylab start --run run_xx --mode unlimit
Manage Trials
# 先切到要管理的 run
mylab run use run_xx
# 列出当前 run 的 trial
mylab trial ls
# 查看某个 trial
mylab trial cat trial-001
# 删除某个 trial
mylab trial rm trial-001
Documentation
Refer to the documentation for more information on MyLab:
- Overview: 项目目标、核心工作方式和设计边界
- Concepts:
run、trial、trial.md、shared asset、Telegram guidance、workflow skill - CLI Reference: 常用命令、运行方式和低级工具命令
- Layout: run 根目录与 trial 目录结构说明
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mylab-0.1.1.tar.gz.
File metadata
- Download URL: mylab-0.1.1.tar.gz
- Upload date:
- Size: 80.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
951af55226ba8b36f20ee77a7ff9dc86e9846bbeeeb849ea0f844be0f18bf5fb
|
|
| MD5 |
5314acb9b4669c1980c70b2c28fc4435
|
|
| BLAKE2b-256 |
1c1bd609b4aff7d73c1c396d575e6b77bd5934a1cfa3dbdd50f8f5d0c70f3d35
|
Provenance
The following attestation bundles were made for mylab-0.1.1.tar.gz:
Publisher:
publish.yml on mikumifa/mylab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mylab-0.1.1.tar.gz -
Subject digest:
951af55226ba8b36f20ee77a7ff9dc86e9846bbeeeb849ea0f844be0f18bf5fb - Sigstore transparency entry: 1155099520
- Sigstore integration time:
-
Permalink:
mikumifa/mylab@2633ea9e20c890039fd1c83aada18308f376c2e5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/mikumifa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2633ea9e20c890039fd1c83aada18308f376c2e5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mylab-0.1.1-py3-none-any.whl.
File metadata
- Download URL: mylab-0.1.1-py3-none-any.whl
- Upload date:
- Size: 77.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d77bf12bb997953100832cdfaa129004f9bd18ba0f30dd019c38f42e266670b9
|
|
| MD5 |
71aa5e236398bc5511376d517d7ff814
|
|
| BLAKE2b-256 |
ec284aa2b76f6bfd8118b3bbf898d1e6a19059f511c759810758c46c895dae1e
|
Provenance
The following attestation bundles were made for mylab-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on mikumifa/mylab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mylab-0.1.1-py3-none-any.whl -
Subject digest:
d77bf12bb997953100832cdfaa129004f9bd18ba0f30dd019c38f42e266670b9 - Sigstore transparency entry: 1155099522
- Sigstore integration time:
-
Permalink:
mikumifa/mylab@2633ea9e20c890039fd1c83aada18308f376c2e5 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/mikumifa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2633ea9e20c890039fd1c83aada18308f376c2e5 -
Trigger Event:
release
-
Statement type: