SkillAgentSearch skills...

wisp-science

Open-source, local-first desktop AI research workbench for scientific computing with Python/R, MCP bioinformatics tools, SSH/WSL/GPU runtimes, and OpenAI/Anthropic models.

Install / Use

claude mcp add xuzhougeng -- npx -y github:xuzhougeng/wisp-science

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

93/100

Category

Automation

Supported Platforms

Claude Code
Claude Desktop
<div align="center"> <img src="docs/assets/logo.svg" alt="Wisp Science logo" width="128" />

Wisp Science

The open-source, local-first AI research workbench.

<a href="https://github.com/xuzhougeng/wisp-science/releases"><img src="https://img.shields.io/github/v/release/xuzhougeng/wisp-science" alt="Release"></a> <a href="https://github.com/xuzhougeng/wisp-science/releases"><img src="https://img.shields.io/github/downloads/xuzhougeng/wisp-science/total" alt="Downloads"></a> <a href="https://doi.org/10.5281/zenodo.21193742"><img src="https://zenodo.org/badge/1285857639.svg" alt="DOI"></a> <a href="https://github.com/xuzhougeng/wisp-science/blob/main/LICENSE"><img src="https://img.shields.io/github/license/xuzhougeng/wisp-science" alt="License"></a> <a href="https://github.com/xuzhougeng/wisp-science/stargazers"><img src="https://img.shields.io/github/stars/xuzhougeng/wisp-science?style=social" alt="Stars"></a> <br> <a href="https://github.com/xuzhougeng/wisp-science/releases"><img src="https://img.shields.io/badge/Windows-supported-0078D4" alt="Windows supported"></a> <a href="https://github.com/xuzhougeng/wisp-science/releases"><img src="https://img.shields.io/badge/macOS-supported-000000" alt="macOS supported"></a> <a href="#build-from-source"><img src="https://img.shields.io/badge/Linux-source%20build-FCC624" alt="Linux source build"></a>

English · 简体中文 · Documentation · Releases

<img src="docs/assets/app-home.png" alt="Wisp Science desktop app running a bundled RNA-seq analysis demo" width="100%" /> </div>

Wisp Science is a desktop AI research assistant and scientific computing workbench. It connects to OpenAI-compatible and Anthropic models, runs persistent Python and R environments on local, WSL, SSH, and GPU compute, loads reusable Agent Skills (SKILL.md), and reaches ~80 bioinformatics and computational biology databases through bundled Model Context Protocol (MCP) servers — while your data, conversations, and credentials stay on your own machines.

Built with Rust, Tauri v2, and Leptos, Wisp Science runs as a cross-platform desktop app or a headless CLI.

Our manifesto: Wisp Science is open source and borderless. We are building a scientific workbench that anyone, anywhere can use, study, improve, and share.

Status: MVP vertical slice. The agent loop, streaming providers, tools, Python/R REPLs, SQLite store, MCP client, and Leptos UI all build and run. See Roadmap for what is deferred.

What does WISP stand for?

WISP = Workspace for Intelligent Scientific Practice (中文:面向智能科研实践的工作空间)

  • Workspace — not a single analysis tool, but a complete research workspace.
  • Intelligent — AI agents, models, and automation are built in.
  • Scientific — explicitly built to serve scientific research.
  • Practice — covers real research practice: literature search, analysis, computation, writing, and task management.

Features

An agent that does the work, not just chat

  • Streams OpenAI-compatible and Anthropic models, with per-provider model profiles and tiered routing from a single trait.
  • Reads, writes, searches, and runs shell commands inside a project-rooted path sandbox, behind explicit approval gates; an opt-in per-conversation Full Permission mode auto-approves after a warning.
  • Coordinates exact file-tool paths across parallel conversations. Shell, Python, and R calls remain concurrent because their file access and child process lifetimes cannot be inferred reliably from command text.
  • Loads reusable Agent Skills (SKILL.md) with progressive disclosure — the catalog never floods the prompt.
  • Drives external coding agents (Codex, Claude Code, …) over ACP v1, and spins up reviewable sub-agent teams with Controlled Delegation.

Real compute, from laptop to cluster

  • Persistent Python and R environments per project — variables survive across cells, conversations, and app restarts.
  • Local, WSL, and SSH/GPU execution contexts with one-connection hardware and runtime probing; each context keeps its own interpreter paths.
  • Structured Runs for long jobs: preflight checks, per-second heartbeats, bounded log tails persisted with an environment snapshot, and dismissible completed cards that leave the Run record and outputs intact.
  • Secrets live in the OS keyring, never in SQLite. Free-form ssh/scp is replaced by registered, probed hosts; a failed connection opens a connectivity gate instead of silently retrying.

Built for science

  • ~80 bioinformatics databases (PubMed, GEO, …) through bundled MCP bio-tools servers, discovered on demand via search_mcp_tools instead of bloating every request.
  • Remote MCP services with OAuth (Notion and others), plus installable feature plugins that package Skills and MCP servers.
  • Fully offline previews for Jupyter notebooks, PDF, DOCX/XLSX/PPTX, and images — including region cropping straight into the composer.
  • Local Markdown extraction for Word, PowerPoint, Excel, OpenDocument, RTF, EPUB, and text-based PDF files, so agents can read documents without Python or an external conversion service.
  • A Publication Workspace that freezes manuscript revisions and exports verifiable, deterministic Evidence Capsules.

A workbench that remembers

  • Conversations persist to SQLite; restart and the full history is back. One click undoes a turn's file edits with a preview of what will be restored.
  • Inline Generated artifacts come only from structured file-write events; directory listings, reads, searches, and prose that merely mention a path are not presented as newly generated files.
  • @ attaches artifacts, files, execution contexts, and language runtimes; # reaches saved sessions through a cited, read-only Reader specialist; / applies a skill to the next turn.
  • Ctrl+K / Ctrl+P palettes (including quick UI/code font sizing), conversation folders, a global library of cells and figures, and in-app update checks. Side chat searches a frozen snapshot of the current conversation's full visible history and exposes the message excerpts used for each answer.
  • Manual Reviewer checks keep sending paused and show live review progress until the independent audit finishes.
  • Feedback opens a blank conversation immediately and attaches non-sensitive version, platform, model, and startup diagnostics to the first message you send; it never contacts the model before you write that message.
  • Encrypted manual sync and one-click project transfer keep machines in step — nothing ever syncs in the background.

Get started

Download

Grab the latest installer from GitHub Releases:

| Platform | Package | Notes | |----------|---------|-------| | Windows | MSI / NSIS | The installer is unsigned: choose More info → Run anyway on SmartScreen. If the window never appears after install, Quit from the tray icon and repair the WebView2 Runtime (Evergreen Standalone Installer, run as administrator), then reopen Wisp Science. | | macOS | .dmg (Apple Silicon + Intel) | Unsigned: right-click → Open on first launch, or allow it in System Settings → Privacy & Security. | | Linux | — | Build from source. |

Build from source

Prerequisites:

  • Rust (stable, 1.88+) with wasm32-unknown-unknown: rustup target add wasm32-unknown-unknown
  • uv (Python environment manager): https://docs.astral.sh/uv/
  • Trunk: cargo install --locked trunk · Tauri CLI v2: cargo install tauri-cli --version "^2"
  • Optional: R with the jsonlite package for the persistent r tool. Wisp locates Rscript via the interpreter configured in Settings, then PATH, then well-known install locations (for example C:\Program Files\R\R-*\bin on Windows or a conda base environment). Wisp never installs R packages automatically.
  • Windows needs the WebView2 Runtime (present on most Windows 10/11 systems; the installer acquires it when missing). macOS needs Xcode Command Line Tools (xcode-select --install) and uses the system WebKit.
cargo tauri dev      # hot-reload: Trunk serves the UI, Tauri opens the window
cargo tauri build    # installers under target/release/bundle (MSI/NSIS, .app/.dmg)

For a universal macOS binary (Apple Silicon + Intel):

rustup target add x86_64-apple-darwin
cargo tauri build --target universal-apple-darwin

Headless CLI

export WISP_API_KEY=<your provider key>
export WISP_PROVIDER=openai            # openai (default) | openai_responses | anthropic
export WISP_MODEL=deepseek-v4-pro
cargo run -p wisp-cli                  # interactive agent in your terminal

Run a single prompt, or stream machine-readable events (one JSON object per line) for scripting:

cargo run -p wisp-cli -- run "Summarize the files in this project"
cargo run -p wisp-cli -- run --output jsonl "Summarize the files in this project"

The CLI also ships a repeatable agent regression suite (six fixed file tasks, JSON report, pass/fail plus latency/token deltas against a baseline):

cargo run -p wisp-cli -- eval --save baseline.json
cargo run -p wisp-cli -- eval --compare baseline.json --save current.json

ACP agents (optional)

Wisp can launch any installed local agent that speaks ACP v1 over stdio — separate from HTTP model profiles:

  1. Install an adapter, e.g. npm install -g @agentclientprotocol/codex-acp.
  2. Settings → Models → ACP Agents → set Label, Command, and ArgumentsSave AgentTest Connection.
  3. Select the agent in the chat model picker and send a prompt.

Full setup, Claude example, and troubleshooting: docs/acp-agents.md.

Configuration

All optional; sensible defaults are bundled. Desktop stores API keys in the OS keyring and model profiles in .wisp/wisp.sqlite (Settings → Models); see Model configuration. Custom credentials map a display name to an environment variable and are injected only into newly launched local Python and bundled MCP processes — never copied to SSH/WSL hosts. Built-in credential rows link to the services' official setup pages and explain what each integration enables and how Wisp behaves without it.

Settings → Storage lists workspace paths per project. Select a project to view that workspace's local footprint separately from shared app data.

For project-specific Agent instructions, Wisp reads AGENTS.md from the project root when a new session starts. Instructions entered in Project Settings → Agent Context are stored in .wisp/WISP.md and applied after AGENTS.md, so the explicit Wisp setting takes precedence when both exist.

| Variable | Purpose | |----------------------|---------------------------------------------------------------| | WISP_API_KEY | Provider API key (CLI). Desktop uses the keyring instead. | | WISP_PROVIDER | CLI API provider: openai (default), openai_responses, or anthropic | | WISP_API_URL | API root; defaults to DeepSeek / OpenAI / Anthropic | | WISP_MODEL | Model name | | WISP_MAX_CONTEXT | Context budget (default 1,000,000) | | WISP_MAX_ITER | Max agent iterations per turn (default 100; 0 = unlimited) | | WISP_SKILLS_PATH | Extra ;/:-separated SKILL.md catalog dirs

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars1.2k
CategoryAutomation
Updated15h ago
Forks119

Languages

Rust

Security Score

100/100

Audited on Sep 21, 2026

No findings