OmniScientist README

The project's README from github.com/Omni-Scientist/OmniScientist. As one markdown file: README.md.

OmniScientist

An open, omni-modal AI scientist that runs on your own machine

Release CI Docs Website License

macOS Linux Windows Python Bun

English · 简体中文 · Français · Español · 繁體中文 · 日本語 · 한국어 · Português · Deutsch · Русский


https://github.com/user-attachments/assets/02477c18-28ff-4aad-a6bd-b54c6f032bc8

News


The compiled paper in the research log, each highlighted number linked to the run that produced it

The compiled paper beside the experiment trace, every highlighted number resolving to the run that produced it.

A ball-and-stick conformer computed from the chemistry case's SMILES, in the research log

A ball-and-stick conformer computed from the chemistry case's own SMILES, arriving in the research log mid-run.

A 64-cubed CT volume read as a point cloud, in the research log

A 64³ CT volume read as a point cloud, beside the tool calls that produced it.

Point OmniScientist at a folder of data and a research direction. It looks at the raw material itself, forms a hypothesis, writes and runs its own analysis code, reads the figures that come back, and drafts a paper whose every number traces to a real execution record. A run ends at a compiled PDF with figures, tables and references that resolve to real DOIs.

Images, waveforms, audio, video, point clouds, trajectories, tables and formulas all go in as they are.

Install

With an agent

Paste this into Claude Code, Cursor, Codex, or anything else with a shell.

For more details, please refer to omniscientist.github.io.

Read https://omni-scientist.github.io/setup/install.md and install the OmniScientist desktop app on this machine, following the steps.

Download

macOS Linux Windows
Desktop app Apple silicon x64 .deb x64 installer
Claude Code skill omnisci-skill.zip omnisci-skill.zip omnisci-skill.zip

The terminal edition (CLI) is discontinued as of 0.2.1. The desktop app carries the same engine, and Claude Code users take the skill above.

The workspace

Each stage streams into the transcript, and every artifact lands in the research log the moment it exists. That covers the matplotlib output, the script that drew it, the data table behind it, and at the end the compiled paper.

The workspace is a local web app. The address bar in the screenshots above reads 127.0.0.1 because that is the entire deployment. The layout collapses to one column on a phone. Closing the page no longer stops a run. Research keeps going in the background, and the next launch shows everything it produced.

The interface follows the browser's language on first launch and is switched from the toolbar, in English, Simplified and Traditional Chinese, French, Spanish, Japanese, Korean, Portuguese, German and Russian.

Provenance

Every number in the draft carries a link back to the run that produced it. A gate reads the execution record rather than the draft, and admits the draft once each of those numbers has appeared in some run's stdout. A null result routes back to re-ideation. Citations are resolved live against OpenAlex and Crossref, so each one carries a real DOI.

Configuration

Credentials live in ~/.omnisci/env, one KEY=VALUE per line, and in %USERPROFILE%\.omnisci\env on Windows.

DEEPSEEK_API_KEY=...
ANTHROPIC_API_KEY=...

The file is parsed strictly as data. The values are removed from the environment at startup, so they stay out of the analysis code the agent writes.

Two models do two jobs. The backbone reasons and writes. A perception sidecar reads the pixels, and takes over whenever the evidence is an image, a waveform, a video or a point cloud.

Edition Backbone Perception sidecar
desktop, terminal deepseek-v4-flash, or any OpenAI-compatible endpoint via OMNISCI_BASE_URL / OMNISCI_API_KEY / OMNISCI_MODEL claude-sonnet-5 by default, deepseek-v4-flash-vision-exp on the same DeepSeek key, changed with OMNISCI_VISION_PROVIDER / OMNISCI_VISION_MODEL
engine any, selected by OMNIST_MODEL, covering OpenAI, Anthropic, OpenRouter, a local vLLM or sglang server, or your own gateway OMNIST_PERCEIVER

In the desktop edition both are set from the settings dialog, which saves a configuration once it has answered a live request. The transport follows from the model name, so you supply your own URL and key. The full table is in docs/USAGE.md.

Outbound traffic falls into three kinds. The first is your own model endpoint. The second is a once-a-day release check against GitHub, which OMNISCI_UPDATE_CHECK=off turns off. The third happens when you ask the desktop app to install its dependencies, and reaches PyPI and the tectonic release page.

Build from source

Needs Bun 1.3 or newer.

cd cli
bun install
bun run tools/gen-skill-assets.ts    # embed the skill, then it is one file
bun run build                        # -> dist/omnisci

cd ../desktop
bun install
bun run build:desktop                # -> dist-desktop/omnisci-desktop

The desktop launcher is pure TypeScript and cross-compiles with --target; it has no native dependencies.

Tests

python3 scripts/scan_leaks.py        # scan for personal data
python3 scripts/check_parity.py      # engine, both skills and the desktop agree
python3 skill/build.py               # the skill is still self-contained

cd cli      && bun run typecheck && bun test
cd desktop  && bun run build:assets && bun run typecheck && bun test gateway launcher && bun run test:e2e

CI runs all of the above plus a live smoke test of the compiled launcher on every push. Tagging v* builds and publishes the release artifacts.

Repository layout

OmniScientist/
├── engine/            the reference engine and evaluation harness
│   ├── omniscientist/     flat, self-contained modules
│   ├── examples/          case specifications and seven small real-data demos
│   ├── datasets/          provenance and split manifest
│   └── scripts/data.py    list, fetch and verify public research data
├── skill/             the Claude Code edition, self-contained
├── cli/               the agent engine the desktop embeds (its standalone CLI build is discontinued)
│   └── skills/omnisci/    the desktop's embedded edition of the skill
├── desktop/           the browser workspace, its gateway and the launcher
│   ├── launcher/          the single executable: static assets, gateway, browser
│   └── packaging/         macos, linux and windows
├── papers/            sample papers the engine wrote, with their scores
├── docs/              installation, usage, datasets, development
├── scripts/           repository hygiene
├── install.sh         kept to tell old CLI users the CLI is discontinued
└── install.ps1        the same for Windows

Notes on the two skill editions, the generated files and the per-platform build are in docs/DEVELOPMENT.md.

Status

Early software, version 0.2.1. Interfaces are still moving and releases can change them.

Platform Desktop
macOS arm64 released
Linux x86_64 released
Linux arm64 released
Windows x64 released

The desktop app has real-machine end-to-end paper runs on macOS (15.7.7 / M3) and on Windows, from install through a compiled PDF. Intel Macs build from source, see Build from source.

Release assets are listed in a single SHA256SUMS, and the desktop app's update check verifies downloads against it.

Sample papers

Five papers written end to end by a single run are in papers/, with the peer-review scores they were given. One worked example is the STEAD seismic traces carrying a "noise" label. The agent read the three-component waveforms, found coherent arrivals inside the noise-labeled set, and tested them against a surrogate null distribution it generated itself.

git clone https://github.com/Omni-Scientist/OmniScientist.git && cd OmniScientist
python -m venv .venv && source .venv/bin/activate && pip install -r engine/requirements.txt
export OMNIST_MODEL=claude-sonnet-5 ANTHROPIC_API_KEY=sk-ant-...
python engine/omniscientist/agentic.py --task stead_seismic --stage run

engine/ is the reference implementation the technical report describes, and the one to use for scriptable, reproducible runs. OMNIST_MODEL picks the backbone and the transport follows from the name, so you bring your own endpoint and key.

The resulting paper, Coherent polarized signals in a substantial fraction of noise-labeled STEAD traces, reports that 21.7% of the sampled noise-labeled traces carry real signal at a 1% false-alarm rate.

Contributing

Issues and pull requests are welcome. Reports from Windows and Intel Macs are especially useful. Before opening a PR, run the checks under Tests, which are the same ones CI runs. Adding a discipline takes one series.json under engine/examples/, described in docs/USAGE.md.

Citation

The technical report behind this software is on arXiv.

@article{omniscientist2026,
  title   = {OmniScientist: An Omni-Modal Omni-Discipline AI Scientist},
  author  = {Li, Bobo and Fei, Hao and Ju, Tianjie and Lee, Mong-Li and Hsu, Wynne},  % scan-leaks: allow
  journal = {arXiv preprint arXiv:2608.13558},
  year    = {2026}
}

The paper-facing version of this page, with authors and affiliations, is README_paper.md.

License

MIT.

OmniScientist (Omni-Scientist/OmniScientist)

Searching Database…

这是什么?OmniScientist 是一个在你自己机器上运行的开源全模态 AI 科学家。给它一个数据文件夹和一个研究方向,它就会提出假设、编写并运行自己的分析代码、阅读生成的图表,并起草一篇论文,其中每个数字都能追溯到真实的执行记录。
它是桌面应用、CLI,还是别的什么?它以桌面应用加 Claude Code 技能的形式发布,两者基于同一代码库构建;终端 CLI 版本曾存在,但自 v0.2.1 起已停止维护。「engine/」文件夹是参考实现,用于可脚本化、可复现的运行。
怎么把它跑起来?既可以下载适配你平台的桌面应用(macOS Apple Silicon、Linux .deb、Windows 安装器),也可以把智能体安装代码片段粘贴到 Claude Code、Cursor、Codex 或任何可执行 shell 的智能体中,并添加 Claude Code 技能 zip 包。
需要配置哪些模型和 API 密钥?你需要设置一个主干模型(deepseek-v4-flash 或任何 OpenAI 兼容端点)和一个用于图像/视频/点云的感知辅助模型(默认 claude-sonnet-5,也可用同一密钥的 DeepSeek 视觉模型)。密钥可从桌面应用的设置对话框保存,或存放在 ~/.omnisci/env。
它适合日常使用了吗?项目自称是 0.2.1 版的早期软件,接口仍在变动;终端 CLI 版本已停止维护,Intel Mac 没有预构建版本,需要从源码构建。
它是面向谁的?面向那些希望智能体探索原始多模态数据(图像、波形、视频、点云、表格)并产出有出处佐证的论文草稿,而不只是聊天回答的研究人员和数据分析师。
支持哪些操作系统?桌面应用发布了 macOS(Apple Silicon)、Linux(x64 .deb 和 arm64)和 Windows(x64 安装器)版本;Intel Mac 需要从源码构建。
我的 API 密钥和数据会去向哪里?凭据保存在本地 env 文件中(~/.omnisci/env 或 %USERPROFILE%\.omnisci\env),严格作为数据解析,并在启动时从环境中移除,因此智能体自己的分析代码永远看不到它们。除此之外,出站流量仅限于你选择的模型端点、每天一次的 GitHub release 检查,以及从 PyPI/tectonic 下载依赖。
OmniScientist 如何确保论文中的数字是真实的?一个出处门控(provenance gate)检查的是执行记录而非草稿:只有当所声称的数字确实出现在某次运行的 stdout 中时才会被采纳,空结果则会被送回重新构思。
生成论文中的引用可信吗?引用会实时通过 OpenAlex 和 Crossref 解析,因此每条引用都带有真实的 DOI,而不是编造的参考文献。
示例论文之一实际发现了什么?在 STEAD 地震数据的演示运行中,智能体发现被标记为纯「噪声」的地震道中有 21.7% 在 1% 虚警率下实际携带相干偏振信号,并通过自生成的替代零分布进行了检验。
工作区界面是什么样的?它是一个在 127.0.0.1 上服务的本地网页应用,没有外部部署;关闭浏览器标签页不会停止运行,研究会继续在后台进行,并在下次启动时恢复。
Size
57.1 MB
Stars
170
Age
2mo
Commits · 90 Days