ai4s-research/open-science

GitHub: ai4s-research/open-science

面向科学家的开源、本地优先、可复现的 AI 研究桌面工作台,将文献检索、代码执行、图表生成、报告撰写和可追溯性审查整合为完整工作流。

Stars: 193 | Forks: 27

[![Open Science — 面向科学家的开放 AI 工作台](https://static.pigsec.cn/wp-content/uploads/repos/cas/b4/b4c16f71714007fdd82ad17d6c57af5c7e8dfb4ff3db652d0f0957e4dc9c0693.webp)](https://github.com/ai4s-research/open-science) # Open Science **面向科学家的开放 AI 工作台。** 致力于严谨科学的研究伙伴。 一个开源、**本地优先**、**模型无关**、**可复现**的 AI 研究 工作台 —— Claude Science 及类似 AI 科研产品的开放替代方案。 不是简单的聊天框:而是一个将文献、代码、图表、报告和审查 紧密结合为一个可审计、可复现工作流的工作台。

English · 中文

License: MIT v0.1 Platforms Built with Tauri + React OpenCode runtime PRs Welcome linux.do

## 目录 - [✨ 独特之处](#-why-it-is-different) - [🎬 实际演示](#-see-it-in-action) - [🧭 工作原理](#-how-it-works) - [🧪 核心功能](#-whats-inside) - [🔌 技能与连接器](#-skills--connectors) - [🚀 快速开始](#-getting-started) - [💬 使用指南](#-using-it) - [🔒 安全与隐私](#-safety--privacy) - [🗂️ 仓库结构](#️-repository-layout) - [📌 状态与路线图](#-status--roadmap) - [🤝 贡献指南](#-contributing) - [⚖️ 许可证](#-license) - [🙏 致谢](#-acknowledgments) ## ✨ 独特之处 - **是工作台,不是聊天框** —— 规划 → 批准 → 执行 → 产物 → 审查。 - **产物可追溯,而非仅仅是文本** —— 每张图表和报告都能 回溯到生成它的代码、数据、环境以及对话记录。 - **本地优先** —— 你的数据和计算过程保留在你的机器上;应用会 明确说明有哪些数据(如果有)离开了你的设备。 - **模型无关** —— 通过 OpenRouter、OpenAI 兼容接口、Anthropic 或本地 模型支持自带密钥 (BYOK);内置免费模型开箱即用,无需任何设置。 - **可复现** —— 保留代码、数据、图表、报告、日志和 `provenance.jsonl`, 每个产物版本均可恢复。 - **多领域支持** —— 从 AI4S 起步,逐渐扩展到材料、化学、生物、 医学和工程领域。 ## 🎬 实际演示 **一个 prompt → 完整且可追溯的分析。** 模拟数据,拟合模型,保存 达到出版级别的图表,并撰写一份每个数字都能追溯到代码的报告。 ![端到端的剂量-反应分析:agent 运行代码并生成拟合图表和报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/ac/acec0ef3e259d9f4f43f559c04bae8c9859a618a1168172ec9f41591f5aeb882.webp) **每个产物都能回溯到其代码、输入和对话** —— 只需点击 图表,即可查看生成它的脚本及其背后的各个版本。 ![产物检查器显示图表的生成代码、输入和出处](https://static.pigsec.cn/wp-content/uploads/repos/cas/99/99c0f2dac67aba4bb849d89abe476977f2fd34eaf53ba7b65ed32390e5c0d2e6.webp) **文献 → 可验证的报告。** 检索论文,起草一份渲染为 PDF 的手稿,并对其引用、无来源的数字以及图表与代码的一致性进行审查。 ![文献调研生成渲染的 PDF 手稿并附带可追溯性审查](https://static.pigsec.cn/wp-content/uploads/repos/cas/e7/e748747faefe8df68591aedf749a6d2de54e1a4605243b8db295b56815752aa4.webp)
更多截图 —— notebooks、实验扫描和技能库
**对话优先的 notebooks。** agent 驱动真实的 Jupyter kernel;单元格和 图表会实时显示在聊天界面旁边。 ![agent 驱动 Jupyter notebook 并显示实时的 matplotlib 图表](https://static.pigsec.cn/wp-content/uploads/repos/cas/24/24f952be5b69032f73610f2780bd62eb8e9aa5f680067fd2ae7211acb1ea1136.webp) **运行并跟踪实验。** 扫描参数,保持持久化 kernel,并以 可追溯产物的形式展示结果。 ![实验扫描表以及实时的分析 notebook](https://static.pigsec.cn/wp-content/uploads/repos/cas/19/19d199b6e302e72532c6b4686d9112d4de62ea17085b00acc014557fae019281.webp) **可插拔的科学技能。** 内置用于文献、实验、图表 和完整性的技能 —— 还有一键开源连接器以及自带工具支持。 ![列出内置科学技能的技能库](https://static.pigsec.cn/wp-content/uploads/repos/cas/ba/ba8bfab251cd1e7c7a52763100983bee83e9f595fde8ce055371b63dc5478d1a.webp)
## 🧭 工作原理 ``` your prompt │ ▼ [ plan ] ──▶ [ approve ] ──▶ [ execute ] local Python / Jupyter kernel, ▲ ▲ │ shell, MCP tools — on your machine │ │ ▼ │ you answer [ artifacts ] ──▶ figures · tables · notebooks · reports │ questions / │ each linked to code + data + env │ permissions ▼ └────────────────────── [ review ] citation audit · untraceable-number flags · figure ↔ code consistency ``` 一切都通过内置的 [OpenCode](https://opencode.ai) agent 运行时 处理(这是一个单文件 sidecar,由应用锁定版本并管理)。UI 绝不直接与 模型通信 —— 它通过一个轻量级 SDK 进行交互,从而保持技能、MCP server 和模型 提供商的可插拔性。 ## 🧪 核心功能 | 功能 | 作用 | |---|---| | **完整工作流** | 一个 prompt 驱动数据 → 代码 → 图表 → 报告 → 可复现的记录。一键启动模板助你快速上手。 | | **本地计算** | 一个持久的本地 Python kernel 和可选的隔离 Jupyter 环境(通过内置的 `uv` 配置 —— 完全不触碰你的系统 Python)。 | | **产物溯源** | 每次 agent 写入都会向 `.openscience/provenance.jsonl` 追加一条版本记录;历史记录面板会显示每个版本的代码、模型和来源对话。 | | **可追溯性审查** | 解析引文(Crossref / arXiv / PubMed),标记没有可追溯来源的数字,并根据生成图表的代码对其进行检查。 | | **原生查看器** | 内联支持 PDF、表格、图像、HTML 和 Office 文档;matplotlib/plotly 图表默认渲染为出版级画质。 | | **统一设计系统** | 原生 UI 和 agent 生成的 matplotlib 图表共享同一套经过验证的图表调色板 —— 在浅色和深色模式下均显示正常。 | | **键盘优先** | 命令面板 (⌘K) 可触达所有主要操作。 | | **模型选择** | 通过 OpenCode 支持约 150 家提供商;支持 BYOK、OpenAI/Anthropic 兼容端点、本地 Ollama 或免费的内置模型。 | ## 🔌 技能与连接器 **内置科学技能**(应用自带并保持同步的 agent 行动指南): - `research-explorer`、`literature-survey`、`experiment-suite`、`paper-writer`、 `mindmap-render`、`integrity-auditor`、`ai4s-agent` — [ai4s-skills](https://github.com/ai4s-research/ai4s-skills) 技能包。 - `traceability-review` 和 `publication-figures` — 用于可验证 审查和系统内生成图表的第一方技能。 **一键开源连接器**(通过内置的 `uv` 配置到隔离环境中): - **文献** — arXiv、PubMed、Crossref、Semantic Scholar、bioRxiv/medRxiv ([paper-search-mcp](https://github.com/openags/paper-search-mcp))。 - **生物医学** — PubMed、ClinicalTrials.gov、基因组变异 ([biomcp](https://github.com/genomoncology/biomcp))。 **自带工具** — 任何 MCP server(本地命令或远程 URL)或技能;详见 [`docs/CONNECT_YOUR_TOOLS.md`](./docs/CONNECT_YOUR_TOOLS.md)。 ## 🚀 快速开始 从源码构建桌面应用: ``` git clone https://github.com/ai4s-research/open-science cd open-science pnpm install # 获取固定的 sidecars 和打包的 skills(已排除在 git 之外): bash scripts/dev/fetch-opencode.sh # the OpenCode agent runtime bash scripts/dev/fetch-uv.sh # uv, for isolated Python/Jupyter envs bash scripts/dev/fetch-skills.sh # the ai4s-skills pack # 开发,或构建安装程序(.dmg / .app / NSIS / .msi): pnpm --filter @ai4s/desktop tauri dev pnpm --filter @ai4s/desktop tauri build ``` 首次启动时,应用会自动运行内置运行时,并开箱即用地配合 免费模型工作 —— 你可以随时在 **设置** 中选择你自己的提供商。 常见检查: ``` pnpm test # unit tests (Vitest) pnpm typecheck # TypeScript pnpm lint # ESLint ``` ## 💬 使用指南 - **从工作流开始** —— 空会话提供一键启动模板(运行演示 分析、分析你的数据、审查报告),或者直接输入你想要的内容。 - **在需要时回答** —— 当 agent 需要做出决定时,它会通过内联选项询问; 当它想要运行命令或写入文件时,它会请求许可(允许一次 / 始终允许 / 拒绝)。默认需要人工批准。 - **检查任何产物** —— 点击图表、报告或 notebook 在 右侧窗格中打开它;打开其 **历史记录** 查看每一个版本,并跳转回 生成它的对话。 - **用 ⌘K 触达一切** —— 命令面板可运行所有主要操作。 - **添加数据** —— 将文件放入工作区 (`~/Documents/OpenScience`) 或在 输入框中附加它们;agent 会在那里进行读取和写入。 ## 🔒 安全与隐私 - **默认本地化** —— 你的工作区文件、原始数据、代码执行、会话 历史记录和出处都保留在你的机器上。设置中会以通俗易懂的语言 准确说明哪些内容被发送到你选择的模型提供商(即你的消息以及 agent 为完成任务而读取的文件 / 命令输出),以及哪些内容永远不会离开本地。 - **人在回路** —— 命令执行、文件删除、依赖安装和 远程连接都需要批准;该应用以手动批准模式发布。 - **凭证** —— 提供商密钥存放在应用私有的文件中,绝不会出现在工作区、 出处、日志或导出数据中。 ## 🗂️ 仓库结构 | 路径 | 用途 | | --- | --- | | `apps/desktop/` | Tauri 2 + React + TypeScript + Vite 桌面外壳 (`src/` 前端,`src-tauri/` Rust) | | `packages/shared/` | 共享的领域类型和图表设计系统 | | `packages/sdk/` | `OpenCodeClient` SDK 封装(将 UI 与运行时隔离) | | `packages/ui/` | 共享的 UI 组件库 | | `runtime/skills/core/` | 第一方科学技能 (`traceability-review`、`publication-figures`) | | `runtime/skills/external/` | 内置的 `ai4s-skills` 技能包(由脚本获取) | | `runtime/` | `manager`、`opencode-profile`、`mcp` 配置 | | `docs/` | `PRD.md`、`TECHNICAL_DESIGN.md`、`REQUIREMENTS.md`、`CONNECT_YOUR_TOOLS.md` | | `examples/bci-trends/` | 内置的端到端演示项目工作区 | | `scripts/` | `release/` 和 `dev/` 脚本(sidecar 和技能获取器) | ## 📌 状态与路线图 `v0.1`,正在积极开发中 —— 一个在 macOS 上运行的桌面 MVP。日志请见 [`PROGRESS.md`](./PROGRESS.md),完整规范请查看 [`docs/REQUIREMENTS.md`](./docs/REQUIREMENTS.md) / [`docs/PRD.md`](./docs/PRD.md)。 - ✅ 端到端工作流、产物溯源、可追溯性审查器、本地 Python kernel + Jupyter、一键科学连接器、通俗语言的数据流、图表 设计系统、命令面板。 - 🚧 下一步:领域渲染器(蛋白质 / 化学结构)、R kernel、Windows 安装程序、更大型的多文件项目,以及 HPC / Slurm 计算。 ## ⚖️ 许可证 [MIT](./LICENSE)。内置的第三方科学技能和连接器受其各自的 许可证约束。 ## 🙏 致谢 基于 [Tauri](https://tauri.app)、[OpenCode](https://opencode.ai) 和 [ai4s-skills](https://github.com/ai4s-research/ai4s-skills) 技能包构建。感谢 [linux.do](https://linux.do) —— 这是一个充满活力的技术社区,本项目在此分享 和讨论。
标签:AI科研工作台, MCP, Tauri, 可复现研究, 可视化界面, 桌面应用, 科研辅助, 自动化攻击, 逆向工具