# OpenLab
**Repository Path**: sculab/open-lab
## Basic Information
- **Project Name**: OpenLab
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-08-04
- **Last Updated**: 2026-08-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
---
## 目录
- [✨ 它能做什么](#它能做什么)
- [🧪 当前能力](#当前能力)
- [🔌 技能与连接器](#技能与连接器)
- [📦 安装与首次启动](#安装与首次启动--未签名构建)
- [🚀 从源码构建](#从源码构建)
- [🔒 安全与隐私](#安全与隐私)
- [🗂️ 仓库结构](#仓库结构)
- [📌 状态](#状态)
- [🤝 参与贡献](#参与贡献)
- [⚖️ 许可证](#许可证)
## 它能做什么
**跑通完整的科研闭环**——从一个宽泛的方向到一份完成的报告:探索、文献综述、实验代码、
分析、图表与成文,全部在一次连续、可审计的会话里完成。
- **一键式工作流起始卡**——空会话提供四张精选入口:端到端构建一个小的生物信息学工具、
驱动浏览器抓取实时网页数据、从序列构建系统发育树,或者进入**纯净的交流环境**(真正空白
的会话——不加载任何预置角色、技能或指令,是最省 token 的纯聊天)。
- **一切皆可追溯**——图表、表格、报告、笔记本和运行输出都能追溯到产生它们的代码、输入、
环境、模型输出与对话。`domain-check` 审查门会在结果呈现前拦截各个领域的典型科学错误。
- **本地优先,属于你**——会话、数据、溯源、笔记本和运行记录都存放在本机
`~/Documents/OpenLab`。默认什么都不外传;应用自身**不发起任何后台网络请求**。
- **模型无关运行时**——UI 通过 `packages/sdk` 与内置、固定版本的 OpenCode 边车通信。
自带模型即可;provider、技能与 MCP 服务器保持可插拔。
- **多模态,以技能方式实现**——图片*生成*通过 `image-tools` 技能完成(图片模型不是流式
聊天模型,应用从不与它们聊天);图片*理解*会把带图片附件的轮次路由到配置的解读图片模型
(例如免费的智谱 `glm-4v-flash`)。
- **构造即可复现**——本地、SSH/Slurm、Modal 与笔记本批处理运行都记录为可复现的运行记录,
而不是零散的终端滚动。
- **有序组织你的工作**——项目可钉到侧边栏并设置颜色,各自拥有独立工作区文件夹;每个会话的
提示队列跨崩溃持久保存;全局历史可跨工作区搜索。
- **可扩展**——agent 技能、MCP 服务器与一键科学连接器、`/` 命令、`!` shell 模式,以及
模型无关的 SDK。
## 当前能力
**科研闭环即技能。** 一个元技能串起完整流水线;每个阶段都是一个自带工件产出的独立技能,
可在 OpenCode 支持的任意模型上运行:
| 技能 | 作用 | 主要产出 |
| --- | --- | --- |
| `ai4s-agent` | 依次调用下面四个技能 | 完整科研包 |
| `research-explorer` | 把宽泛方向变成具体课题 | `research_exploration.md`、`topic_matrix.md`、`literature_pre_survey.md` |
| `literature-survey` | 撰写文献综述 | 6–20 页 PDF、60+ 真实引用、LaTeX 源码、分类图 |
| `experiment-suite` | 构建实验包 | 设计文档、可运行代码、带溯源的结果、图表、报告 |
| `paper-writer` | 撰写研究论文 | 8–14 页 PDF、200+ 引用、4–8 张图、表格 |
| `mindmap-render` | 渲染思维导图 | 由 `topic_matrix.md` 生成的图片 |
| `integrity-auditor` | 审查论文完整性 | 图像/数值/逻辑发现、`audit_report.md` |
第一方核心技能(`runtime/skills/core/`)包括 `traceability-review`、`stats-integrity`、
`domain-check`、`large-file`、`publication-figures`、`remote-compute`、`modal-run`、
`phylo-inference`、`image-tools`。`domain-check` 覆盖 **8 个领域**——物理、地球科学、
生物学、化学、社会科学、系统发育、生态学与进化——每个领域都有确定性的、可关闭的发现。
### 平台
| 领域 | 现状 |
| --- | --- |
| 桌面外壳 | Tauri 2 + React + TypeScript + Vite,提供 macOS、Windows、Linux 桌面构建。 |
| 运行时 | 内置 OpenCode 边车,应用自动启动,与用户自己的 OpenCode 配置/数据隔离。 |
| 会话 | 多会话聊天/历史、按日期命名的工作区文件夹、全局历史、`/` 命令、`!` shell 模式、持久化的每会话提示队列、纯净(无预置模板)对话模式。 |
| 文件 | 全局与每会话文件浏览、右键菜单操作、外部打开/显示、复制路径、本地预览服务器、工件检查器(把每个工件连到生成它的脚本与输入)。 |
| 项目 | 钉住的项目始终显示在侧边栏(最近的其余项目自动滚动进入),每个项目可设强调色、拥有独立工作区文件夹,外部仓库导入显示「已导入」徽标。 |
| 浏览器控制 | 智能体驱动你自己的 Chrome——保留配置与登录态——通过无障碍树读取页面,或按需使用隔离的隐私浏览器。 |
| 笔记本 | 真正的 `.ipynb` 文件,支持 Python 与 R 笔记本、本地内核执行、用内置 `uv` 管理的 Jupyter 环境,以及打开 JupyterLab 操作。 |
| 运行 | 只追加的运行日志、全局 SQLite 运行索引、搜索/筛选/分页、本地/远程表面、输出链接、日志与复现提示。 |
| 溯源 | `.openscience/provenance.jsonl` 记录文件版本,并把产出的工件连接到创建它们的运行或编辑。 |
| 审查 | 内置 traceability-review、stats-integrity、domain-check、large-file、publication-figure、remote-compute、Modal run、phylo-inference、image-tools 技能。 |
| 查看器 | PDF、图片、视频、HTML、Markdown、代码、带图表的 CSV/TSV 表格、DOCX、XLSX、PPTX、分子、3D 网格、基因组轨道、FITS、DOS/DOSCAR、EIGENVAL 能带、qcode、异常图与相图。 |
| 模型 | OpenCode provider 目录、OAuth/API-key provider 流程、自定义 OpenAI 兼容端点、免费内置智谱视觉/生图选项,以及 OpenCode 支持的本地/provider 专属选项。 |
| 界面语言 | 英语、简体中文。 |
## 技能与连接器
内置技能在构建与发布时获取,而不是提交进 git 历史:
- `ai4s-research/ai4s-skills` 的 `ai4s-skills` 包。
- Apache-2.0 的 `anthropics/skills` 仓库办公/文档技能:`docx`、`pdf`、`pptx`、`xlsx`。
- `runtime/skills/core/` 下的第一方核心技能(见上文)。
当前一键科学 MCP 连接器包括:
- 文献检索:arXiv、PubMed、Crossref、Semantic Scholar、bioRxiv/medRxiv。
- 生物医学数据库:PubMed、ClinicalTrials.gov、MyVariant/ClinVar。
- Materials Project。
- FRED 经济数据。
- 空间天气。
- Open-Meteo 天气与气候。
- USGS 水文数据。
你也可以从设置中添加任意本地或远程 MCP 服务器。参见
[`docs/CONNECT_YOUR_TOOLS.md`](./docs/CONNECT_YOUR_TOOLS.md)。
## 安装与首次启动 — 未签名构建
安装包**未进行代码签名或公证**,因此操作系统会在首次启动时提示。这属正常现象,清除一次即可:
**macOS** — Apple Silicon:`Open Lab_<版本号>_aarch64.dmg`(需要 macOS 13+)
打开 DMG,把 **Open Lab** 拖入「应用程序」。
如果出现 *"Open Lab is damaged and can't be opened"*(应用已损坏)或 *"unidentified developer"*
(来自身份不明的开发者),请在终端中清除隔离属性后再正常打开:
```bash
xattr -cr "/Applications/Open Lab.app"
```
**Windows** — `Open Lab_<版本号>_x64-setup.exe` 或 `Open Lab_<版本号>_x64_en-US.msi`
如果 SmartScreen 显示 *"Windows protected your PC"*(已保护你的电脑),选择 **更多信息 -> 仍要运行**。
**Linux**:
```bash
sudo apt install ./OpenLab_*.deb
# 或
sudo rpm -i OpenLab_*.rpm
```
安装包发布在 [Releases](https://gitee.com/sculab/open-lab/releases) 页面。
## 从源码构建
前置条件:
- Node.js >= 20
- pnpm 9
- Rust 工具链
- Tauri 所需的 macOS、Windows 或 Linux 系统依赖
```bash
git clone git@gitee.com:sculab/open-lab.git open-lab
cd open-science
pnpm install
# 获取固定的 sidecar 与内置技能(已 git-ignore)
bash scripts/dev/fetch-opencode.sh
bash scripts/dev/fetch-uv.sh
bash scripts/dev/fetch-skills.sh
bash scripts/dev/fetch-goal-plugin.sh
# 开发运行或构建安装包
pnpm --filter @ai4s/desktop tauri dev
pnpm --filter @ai4s/desktop tauri build
```
常用检查:
```bash
pnpm test
pnpm typecheck
pnpm lint
python3 scripts/dev/test_domain_check.py
```
## 安全与隐私
- 工作区文件、原始数据、会话历史、溯源、笔记本与运行记录默认保存在本地。应用自身
**不发起任何对外网络请求**(更新检查已移除;只有你配置的模型 provider 的调用会离机)。
- 命令执行、文件删除、依赖安装与远程连接都是桌面应用里的人工审批流程(审批模式绝不内置为关闭)。
- 凭据写入应用私有的运行时配置,绝不进入工作区、溯源、git、导出或全局 OpenCode 配置。
- 设置中包含用通俗语言描述的数据流视图,说明哪些内容会发送给所选模型 provider。
## 仓库结构
| 路径 | 用途 |
| --- | --- |
| `apps/desktop/` | Tauri + React 桌面应用。 |
| `packages/sdk/` | `OpenCodeClient`;UI 不直接调用 OpenCode。 |
| `packages/shared/` | 共享领域类型与图表调色板。 |
| `packages/ui/` | 共享 UI 包。 |
| `runtime/skills/core/` | 第一方科学技能。 |
| `runtime/skills/external/` | 构建时获取的外部技能。 |
| `runtime/harness/` | 运行时 harness 知识与操作者上下文。 |
| `runtime/mcp/` | MCP 运行时说明/配置。 |
| `examples/` | 内置示例工作区。 |
| `scripts/dev/` | sidecar、`uv`、技能获取脚本与聚焦回归探针。 |
| `docs/` | 产品、技术、操作、连接器与科研笔记。 |
## 状态
项目是处于活跃开发中的可用桌面 MVP。最可靠的当前实现日志是
[`PROGRESS.md`](./PROGRESS.md)。产品与架构说明见
[`docs/PRD.md`](./docs/PRD.md) 与 [`docs/TECHNICAL_DESIGN.md`](./docs/TECHNICAL_DESIGN.md)。
## 参与贡献
欢迎提 Issue 与 PR。请保持改动最小且可验证,遵循 [`AGENTS.md`](./AGENTS.md),并在提交
PR 前运行检查。
## 许可证
[MIT](./LICENSE)。内置的第三方技能与连接器保留各自许可证。
> Open Lab 仍处于 beta 阶段科研工具。产出应视为草稿:发表或决策前请核对数字、引用、代码
> 与结论。