Skip to content

AI4S-YB/tune

Repository files navigation

Tune

面向生物信息分析的自然语言智能体平台。

当前状态

v0.0.1 是 Tune 的首次开源版本。

这是一个非常早期的公开版本,核心方向已经明确,但系统仍在快速迭代中。当前版本的接口、分析流程、任务编排方式、前后端交互和内部架构都可能发生较大变化,不承诺稳定性与兼容性。

如果你希望:

  • 用自然语言驱动 RNA-Seq 等组学分析
  • 在网页里查看任务、日志、结果和资源状态
  • 让系统逐步从“规则工作流”演进到“项目管理型智能体”

那么这个仓库适合你关注和参与。

如果你希望今天就获得一个成熟、稳定、即装即用的生产系统,那么当前版本还不适合直接投入关键生产环境。

项目目标

Tune 想解决的问题是:

  • 让实验人员不用手写复杂命令,也能驱动生物信息分析
  • 让系统不仅会“执行命令”,还会“管理分析项目”
  • 让事实层、语义层、LLM 决策层、经验记忆层逐步协同起来
  • 让分析过程从黑盒执行,变成可确认、可追踪、可恢复、可积累经验的系统

当前项目重点仍然放在 RNA-Seq 主链路、任务编排闭环、异常恢复、任务监控、资源绑定与确认机制上。

目前已具备的能力

  • 数据扫描与项目化组织
  • Web 界面聊天式分析入口
  • 分析任务创建、执行、日志流式展示
  • 任务面板、授权/修复/提醒等交互
  • 分析计划确认与执行图确认
  • 面向 RNA-Seq 的基础分析链路
  • 结果目录与任务删除联动清理
  • 基于项目上下文的任务管理与恢复机制

当前仍不成熟的部分

  • 不同组学类型的覆盖还不完整
  • 多条复杂分析链路的稳定性仍需继续验证
  • Agent 化编排与自动回退策略还在持续收口
  • 错误恢复与自愈能力还没有完全成熟
  • 开源首发版本更适合技术预览、试用、共建,而不是稳定生产依赖

系统要求

  • Linux 服务器或本地 Linux/macOS 开发环境
  • Python 3.11+
  • PostgreSQL 15+,并启用 pgvector
  • Pixi 包管理器
  • OpenAI 或 Anthropic 的 API Key

安装方式

当前更推荐从源码安装与运行:

git clone <your-repo-url>
cd tune
pip install -e .

如果后续发布到包仓库,也可以使用标准安装方式。

初始化

tune init

初始化时需要配置:

  • 工作区根目录:Tune 会自动使用该目录下的 data/analysis/.tune/
  • 主模型:OpenAI 或 Anthropic
  • 备用模型:可选,用于提高可用性

启动服务

tune start --workspace-root /path/to/workspace

浏览器打开:

http://localhost:8000

如果是本地开发,推荐使用项目自带脚本:

bash scripts/service.sh start --workspace-root workspace
bash scripts/service.sh status
bash scripts/service.sh restart
bash scripts/service.sh stop

开发模式:

bash scripts/dev.sh --workspace-root workspace

兼容说明:

  • 旧参数 --analysis-dir 仍然可用
  • workspace/analysisanalysis/workspace 和工作区根目录都能被兼容解析,但只作为兼容入口保留
  • 当前推荐统一使用 --workspace-root workspace

基本使用流程

  1. 系统扫描数据目录并识别文件
  2. 在数据页面查看项目、样本和资源
  3. 在聊天界面描述你的分析目标
  4. 系统生成初始分析计划并等待确认
  5. 系统展开执行图并再次等待确认
  6. 系统执行任务,并在需要时请求授权、修复或澄清
  7. 在任务面板中查看状态、日志、诊断和结果

一个典型例子

你:帮我对这个项目内的 RNA-Seq 数据做差异表达分析

Tune:
1. 读取项目内 FASTQ 与实验元数据
2. 做质控与必要预处理
3. 进行比对与定量
4. 进行差异表达分析
5. 输出结果表、可视化和分析摘要

请先确认这个分析计划。

当前重点支持的数据与能力

支持的常见文件类型:

  • FASTQ:.fastq .fastq.gz .fq .fq.gz
  • BAM/SAM:.bam .sam
  • VCF:.vcf .vcf.gz .bcf
  • 表格:.csv .tsv .xlsx
  • 注释:.gtf .gff .gff3
  • 报告与图像:.html .pdf .png

当前主力分析能力:

  • 上游:FastQC、MultiQC、fastp、HISAT2、STAR、samtools、featureCounts
  • 下游:DESeq2、富集分析、R/Python 脚本扩展

系统架构概览

浏览器
  <->
FastAPI + WebSocket
  |- 数据扫描与元数据管理
  |- 任务与线程系统
  |- 计划确认 / 执行图确认
  |- 绑定、渲染、执行
  |- 授权 / 修复 / 资源澄清
  |- Watchdog / Supervisor / 任务监控
  |- LLM 网关
  `- 经验沉淀与后续 Agent 化演进

设计方向

Tune 当前不是“只把一串命令交给工作流执行”的系统。

项目正在往下面这个方向演进:

  • 事实层:文件、样本、实验、资源、任务、结果
  • 语义层:项目上下文、分析意图、资源含义、错误归因
  • LLM 决策层:计划生成、执行图生成、异常诊断、交互决策
  • 经验记忆层:历史修复、项目经验、可复用技能

目标是把 Tune 做成一个“项目管理型分析智能体”,而不是单纯的聊天壳子或固定工作流。

配置文件

配置默认保存在:

{workspace_root}/.tune/config.yaml

推荐工作区结构:

workspace/
  .tune/
    config.yaml
  data/
    proj1/
    proj2/
  analysis/
    proj1/
    proj2/

数据与隐私

  • 原始数据目录应保持只读
  • 所有分析输出只写入 workspace/
  • 外部模型调用会发送必要的提示信息到你配置的模型提供商
  • 在正式投入敏感数据环境前,请先自行审查部署方式、日志内容和外部 API 使用策略

开源首发说明

v0.0.1 的定位是:

  • 第一次公开源代码
  • 展示项目方向与当前实现
  • 便于协作、讨论、试用和共建
  • 不代表已经完成稳定化

因此如果你在使用中遇到:

  • 流程中断
  • 某些任务需要人工介入
  • 不同分析类型支持不完整
  • 前后端交互仍在调整

这都符合当前版本阶段。

适合谁参与

  • 希望用自然语言做组学分析的研究人员
  • 想参与 Agent + Bioinformatics 系统设计的开发者
  • 对任务编排、故障恢复、语义绑定、项目管理型智能体感兴趣的人

后续版本预期

当前版本:v0.0.1

后续大致会沿着下面方向演进:

  • v0.0.x:持续修复主链路和交互问题
  • v0.1.x:RNA-Seq 主链路进一步稳定
  • 更高版本:逐步扩展到更多组学类型和更完整的 Agent 能力

贡献与反馈

欢迎通过 Issue、PR 或讨论提出:

  • 分析流程问题
  • 交互体验问题
  • 真实组学数据场景需求
  • 架构演进建议

当前阶段最有价值的反馈通常不是“界面细节”,而是:

  • 哪个分析任务卡住了
  • 卡在什么步骤
  • 你期望系统怎么回退、怎么确认、怎么恢复

许可证

本项目采用 MIT License

许可证全文见仓库根目录下的 LICENSE 文件。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors