synthetic-sciences/openscience
GitHub: synthetic-sciences/openscience
面向科学研究的开源 AI 工作台,通过 agent 自动化完成从文献阅读、假设形成、代码实验到结果撰写的完整科研循环。
Stars: 1797 | Forks: 252

### 科学研究的开源 AI 工作台
给它一个目标。它会阅读文献、编写并运行代码、执行实验,并撰写其发现。
[](https://github.com/synthetic-sciences/OpenScience/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/@synsci/openscience)
[](LICENSE)
[](https://openscience.sh/docs)
[安装](#install) · [快速入门](#quickstart) · [文档](https://openscience.sh/docs) · [Atlas](#atlas)
OpenScience 是一个用于科学研究的 AI 工作台。你给它一个目标,它就会像一位有能力的合作者那样推进研究循环。它会阅读相关论文,形成假设,编写并运行代码,在真实的计算资源上运行实验,查询主要的科学数据库,并撰写结果。它作为浏览器中的一个工作区运行,可以使用你自己的 API key,兼容来自 Anthropic、OpenAI、Google 和其他数十家提供商的任何前沿模型或开放权重模型。无需注册账户。
它是与模型无关的、开源的,旨在在机器学习、生物学、物理学和化学领域完成实际工作。
## 功能
- **运行整个循环。** 文献综述、假设、代码、实验、分析和报告,在一个连续的会话中完成。
- **研究 agent。** 默认提供 `research` agent,外加 `biology`、`physics` 和 `ml` 专家,并配有评估和文献综述子 agent 以及只读的计划模式。
- **290+ 种技能。** 训练 (DeepSpeed, PEFT, TRL)、评估、数据集处理、分子与临床生物学、化学信息学、论文与 LaTeX、图表以及云计算 (Modal、Tinker 等)。
- **以科学数据库作为工具。** UniProt、PDB、Ensembl、ChEMBL、PubChem、arXiv、OpenAlex、Semantic Scholar 以及其他约 30 个数据库,均可由 agent 直接查询。
- **真正的工作区。** 一个浏览器 UI,包含文件树、编辑器、终端、会话历史记录,以及分子、结构、基因组和图表的内联渲染。
- **可扩展。** LSP 集成、MCP server、插件、自定义 agent 和命令,以及 TypeScript SDK。
## 安装
使用 npm 安装,然后打开工作区:
```
npm install -g @synsci/openscience
openscience
```
该命令是 `openscience`,它会在你的浏览器中打开工作区。第一次运行时,一个简短的设置流程将引导你了解如何为模型提供支持——Atlas 托管模型、你自己的提供商密钥,或者跳过并直接使用免费的演示模型。如果你不想全局安装它,`npx synsci` 可以一步完成相同的操作:
```
npx synsci
```
平台二进制文件也附在 [GitHub Releases](https://github.com/synthetic-sciences/OpenScience/releases) 中;请查看 [更新日志](CHANGELOG.md) 以了解每个版本的新特性。
## 快速入门
设置来自任意提供商的 API key(`ANTHROPIC_API_KEY`、`OPENAI_API_KEY`、`GEMINI_API_KEY` 等)并启动工作区:
```
export ANTHROPIC_API_KEY=sk-ant-...
openscience
```
`openscience` 会在你的浏览器中打开工作区。你的密钥将保留在你的机器上,请求将直接发送给提供商。你也可以运行 `openscience keys add` 从终端存储密钥,从“凭证”面板添加密钥,并从模型选择器中选择模型。要在特定项目中打开工作区:
```
openscience ~/code/my-project
```
## Atlas
[Atlas](https://app.syntheticsciences.ai) 是 Synthetic Sciences 的托管平台。它提供了一组精选的前沿模型,通过预付费钱包计费,因此你无需为每个提供商单独准备密钥,此外还提供持久化的研究图谱和云计算。OpenScience 兼容 Atlas,但绝不强制要求使用它。
```
openscience login # connect your Atlas account
openscience wallet # check your balance and top up
```
自带密钥 (BYOK) 的使用始终是免费的,且绝无限制——Atlas 仅对其提供的模型进行计量。使用 `openscience status` 查看你连接到了什么,使用 `openscience logout` 断开连接。
## 工作原理
OpenScience 运行一个本地服务器,用于托管工作区 UI、agent 运行时和工具层。agent 使用研究框架进行规划,调用工具(shell、编辑器、LSP、MCP server、科学连接器和技能),并将其工作流式传输回浏览器。模型按请求进行路由,因此你可以随意切换提供商或运行本地模型,而无需更改其他任何内容。会话、产出物和来源记录存储在磁盘上,并可作为链接进行分享。
| 路径 | 内容 |
| -------------------- | ------------------------------------------------------------ |
| `backend/cli` | CLI、服务器、提供商集成、会话和技能 |
| `frontend/workspace` | 浏览器工作区 UI,由 CLI 提供 |
| `frontend/docs` | 文档和会话分享网站 |
| `tooling/sdk/js` | TypeScript SDK |
| `tooling/plugin` | 插件运行时 |
## 配置
全局配置位于 `~/.config/openscience/openscience.json`。项目配置位于仓库根目录的 `openscience.json` 或 `.openscience/` 目录中([schema](https://openscience.sh/config.json))。自定义 agent、命令、工具、插件和主题会从这些目录中加载。
## 开发
你需要 [Bun](https://bun.sh) 1.3 或更高版本。
```
bun install
bun dev
bun run typecheck
bun run --cwd backend/cli test
bun run --cwd backend/cli build
```
`bun dev` 从源代码运行工作区,`bun run --cwd backend/cli build` 生成平台二进制文件。
请参阅 [ARCHITECTURE.md](ARCHITECTURE.md) 了解系统是如何组合的,[CONTRIBUTING.md](CONTRIBUTING.md) 了解如何贡献,[AGENTS.md](AGENTS.md) 了解风格指南,以及 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 了解社区标准。
## 安全
该 agent 未被沙盒化。权限系统让你随时了解 agent 正在做什么;它不是一个隔离边界。如果你需要隔离,请在容器或 VM 中运行。提供商和同步的凭据会从子进程环境中过滤掉,并在输出中进行脱敏处理。要报告漏洞,请参阅 [SECURITY.md](SECURITY.md)。
## 许可证
Apache License 2.0。请参阅 [LICENSE](LICENSE) 和 [NOTICE](NOTICE)。
OpenScience 是一个独立项目。它不隶属于 Anthropic,也不受其认可或赞助。“Claude”是 Anthropic, PBC 的商标,在此仅用于描述兼容性。
标签:MITM代理, 人工智能, 暗色界面, 用户模式Hook绕过, 科学研究, 自动化实验, 自动化攻击, 调试插件, 跨领域工具