AIScience 是面向计算研究的本地科研协作 OS,用 Codex 协调“接收项目 → 研究设计 → 文献 → 实验 → 分析 → 论文 → 审核 → 交付”。系统默认要求证据先行、实验可追踪、结果可复现,并只在必要决策点引入人类审批。
本项目以 Apache License 2.0 开源。公开仓库只承载框架、可再分发的测试材料和演示项目,不应存放真实研究中的密钥、个人信息、付费或受限全文、敏感数据、伦理受限输入、未公开结果或不可再分发制品。开展真实研究时,请从本模板创建独立的私有仓库;如需持续接收框架更新,可将本仓库保留为 upstream,并把私有仓库设为 origin。
环境固定为 Python 3.12,使用 uv 管理:
uv sync --python 3.12 --locked
uv run --python 3.12 aiscience doctor
uv run --python 3.12 aiscience project init <project_id>
uv run --python 3.12 aiscience status <project_id>主要命令:
aiscience doctor
aiscience repo-scan [--project-id <project_id>]
aiscience project init <project_id>
aiscience status|validate|transition <project_id>
aiscience ledger record <project_id> <object_type> <source>
aiscience gate request|record <project_id>
aiscience run execute <project_id> <plan_id>
aiscience paper build <project_id>
aiscience package prepare|finalize <project_id>
aiscience demo
实验计划固定协议、脚本与输入哈希,但不嵌入自身所在提交的哈希;run execute 只在工作区干净、计划由当前 HEAD 跟踪,且计划、协议、脚本和输入的原始字节与 Git blob 一致时启动,并把该 HEAD 记录为运行的 basis_commit。这会拒绝只在 Git clean filter 后相等的 CRLF/LF 内容,避免记录的原始 SHA-256 在 fresh checkout 中失效;项目模板统一写入 LF。
experiment 规范对象不能通过通用 ledger record 伪造,只能由 run execute 在授权执行后登记。论文与 G2 还会复核日志、脚本、run record 和输出的对象类型、唯一 run record、run_id 及 run-root 身份。
CLI 始终输出 JSON envelope:ok、command、project_id、data、errors、warnings。错误使用稳定代码和中文说明,便于人类审阅和自动化调用。
validate --strict 和 repo-scan 会扫描 Git 已跟踪及暂存的项目文本,阻断疑似 secret、PII 和本机绝对路径。仓库提供本地 pre-commit hook;首次克隆后启用:
git config core.hooksPath .githookspackage finalize 只接受 delivery_ready 状态。CLI 先构造候选完成提交与 annotated tag 对象,再用单个 Git ref transaction 原子更新当前分支和 tag;任何前置失败都会恢复 state、事件流、对象、索引与最终包目录,不留下可达的 delivered 事实。该命令没有跳过 tag 的公共选项,也不会推送远端。
AIScience/
├─ AGENTS.md # 仓库级不变量
├─ .agents/skills/research-orchestrator/ # 科研状态机、协议与项目模板
├─ .codex/agents/ # 六个专职 Custom Agents
├─ src/aiscience/ # CLI、台账、运行与交付实现
├─ projects/<project_id>/ # 相互隔离的研究项目
└─ tests/ # 单元、故障、安全与离线样例
项目状态由中央 CLI 单写,事件日志是追加式哈希链,规范对象按版本不可覆写。子代理只生成获授权的候选制品或独立运行目录,不能直接推进状态或批准 Gate。英文 paper/en/manuscript.md 是权威论文稿;中文 paper/zh/manuscript.md 是供人类阅读的同步稿。
- G0 研究合同:在公开检索前确认目标、范围、数据与伦理边界、预算、成功标准和交付物。
- G1 条件执行:仅在超预算、高成本/风险、敏感数据、外部上传或通信、付费服务、不可逆动作、隔离不足时触发。
- G2 主张冻结与交付:确认双语论文、局限、作者与 AI 披露、复现等级及交付清单。
批准绑定批准包、依赖闭包、制品 SHA-256 与 basis_commit;依赖变化会使批准过期。v1 只提供 Git 可审计的软信任,不提供人类身份的密码学证明。
- 哈希链用于发现意外损坏和不一致,不能防止拥有仓库写权限的人恶意重写历史。
- 保存提示词、配置和工具轨迹只能让 LLM 产物可追踪;不能把非确定性生成宣称为确定性复现。
- Windows Job Object、超时和资源观测能力必须按
hard、best_effort、observed_only如实记录;监控不等同于硬隔离。 partial或unavailable默认阻止 G2,除非人类明确接受且交付物不宣称可独立复现。- v1 不覆盖湿实验、临床、人/动物研究、自动投稿、远程队列、容器编排、数据库或 Web UI。
本项目借鉴 The AI Scientist-v2 的实验树与运行档案、Agent Laboratory 的端到端回退、AI Co-Scientist 的生成—反思—排名—演化,以及 PaperQA2 的证据循环;这些仅是架构启发,不构成代码或结果兼容承诺。
Codex 载体遵循官方 AGENTS.md、Skills 与 Subagents 机制。
uv run --python 3.12 ruff check .
uv run --python 3.12 mypy src
uv run --python 3.12 pytest
uv run --python 3.12 aiscience doctor
uv run --python 3.12 aiscience repo-scan
uv run --python 3.12 aiscience demo