Skip to main content

Rxscientist: Towards Self-Evolving AI Scientists for End-to-End Scientific Discovery

Project description

RainyXscientist

RainyXscientist is a new project for end-to-end AI-assisted research execution. It provides a practical command-line research copilot that can plan tasks, call tools, run multi-step workflows, and keep long-term session memory for iterative scientific work.

What RainyXscientist does

  • Multi-agent workflow for planning, research, coding, analysis, and writing.
  • CLI and TUI interfaces for interactive local work.
  • MCP tool integration for extending external capabilities.
  • Multi-channel architecture (for example Telegram, Slack, Feishu, WeChat, Discord, QQ).
  • Persistent thread/session state to continue research over time.

Complete tutorial: download → configure → launch

Follow these steps once on a clean machine. PyPI package name: Rxscientist · CLI commands: rxsci / Rxscientist.

Step 1 — Prerequisites

Requirement Notes
Python 3.11+ (see requires-python in pyproject.toml).
Installer pip (bundled with Python) or uv (docs.astral.sh/uv).
Network Needed to install packages and call LLM / search APIs.
API key Default stack uses Anthropic (ANTHROPIC_API_KEY). Other providers need their own keys (see Step 3).

Check Python: python --version or py -3.12 --version on Windows.

Step 2 — Install the package (choose one path)

A — PyPI (simplest once a release exists)

pip install Rxscientist

Or with uv:

uv tool install Rxscientist

If PyPI returns package not found, use B–D until maintainers publish.

B — Install directly from Git (always up to date with main)

uv tool install "git+https://github.com/Ar1haraNaN7mI/RainyXscientist.git"

Pin a branch/tag if needed:

uv tool install "git+https://github.com/Ar1haraNaN7mI/RainyXscientist.git@main"

C — Clone and run in a dev environment

git clone https://github.com/Ar1haraNaN7mI/RainyXscientist.git
cd RainyXscientist
uv sync
uv run rxsci

After uv sync, activate .venv if you prefer and run rxsci from that environment.

D — Offline / air-gapped: wheel from GitHub Releases

  1. Open Releases and download Rxscientist-*-py3-none-any.whl (source .tar.gz is optional).
  2. Install with the Python you plan to use:
pip install /path/to/Rxscientist-0.0.10-py3-none-any.whl

Replace the filename with the asset you downloaded.

Step 3 — Configure API keys and defaults

Configuration priority (highest first): CLI flagsenvironment variablesconfig.yamlbuilt-in defaults.

Recommended first-time setup — interactive wizard

rxsci onboard

This walks you through API keys and basic options (you can skip validation flags if needed).

Environment variables

Set at least the key for your provider. Defaults in code target Anthropic unless you change provider / model in config.

Provider (examples) Typical variable
Anthropic (Claude) ANTHROPIC_API_KEY
OpenAI OPENAI_API_KEY
Google Gemini GOOGLE_API_KEY
Others See Rainscientist/config/settings.py mappings (*_API_KEY)

On Windows (PowerShell, current session):

$env:ANTHROPIC_API_KEY = "sk-ant-api03-..."

Config file

User-wide YAML (created on first save):

  • Windows: %USERPROFILE%\.config\Rxscientist\config.yaml
  • Linux / macOS: $XDG_CONFIG_HOME/Rxscientist/config.yaml or ~/.config/Rxscientist/config.yaml

Inspect or edit keys with:

rxsci config

.env files (loaded automatically when present)

Layers are merged; later layers override earlier ones for the same variable name:

  1. .env next to the repo’s pyproject.toml (so keys work even if your shell is not in the project folder).
  2. .env under the Rxscientist config directory (same folder as config.yaml).
  3. .env discovered from the current working directory (highest priority).

Example repo .env at the clone root:

ANTHROPIC_API_KEY=sk-ant-api03-...

Step 4 — Launch

Start the interactive UI (default may be TUI or CLI depending on config):

rxsci

Help and subcommands:

rxsci --help

If rxsci is not on PATH, call the module entry (same CLI):

python -m Rxscientist --help

On Windows, rxsci.exe usually lives under your Python or virtualenv Scripts directory — add that folder to PATH if the command is not found.

Step 5 — Verify and next steps

  • Send a short prompt; if you see credential errors, re-check Step 3 (wizard, env, YAML, .env).
  • Explore rxsci config, /help inside the UI (when available), and optional MCP tooling for external integrations.

中文简明步骤

  1. 安装 Python 3.11+,建议使用 pipuv
  2. 安装包:优先 pip install Rxscientist;若 PyPI 暂无包,使用上文 B/C/D(Git / 克隆 / Release wheel)。
  3. 配置密钥:运行 rxsci onboard,或设置环境变量(如 ANTHROPIC_API_KEY),或编辑 %USERPROFILE%\.config\Rxscientist\config.yaml(Windows),或在项目根 / 配置目录放置 .env
  4. 启动:执行 rxsci;若无命令,使用 python -m Rxscientist,并把 Python 的 Scripts 加入 PATH

Quick start (install then run)

Start the CLI with rxsci after installing the Rxscientist Python package (see pyproject.toml — PyPI name is Rxscientist, CLI commands are rxsci / Rxscientist).

Option A — From PyPI

After a release is published to PyPI:

pip install Rxscientist
rxsci
uv tool install Rxscientist
rxsci

If install fails with package not found, maintainers may not have uploaded yet — use Options B–D.

Option B — Install from Git (recommended if PyPI is empty)

uv tool install "git+https://github.com/Ar1haraNaN7mI/RainyXscientist.git"
rxsci

To pin a branch or tag:

uv tool install "git+https://github.com/Ar1haraNaN7mI/RainyXscientist.git@main"

Option C — Clone repository and run in a project environment

git clone https://github.com/Ar1haraNaN7mI/RainyXscientist.git
cd RainyXscientist
uv sync
uv run rxsci

After uv sync, you can also activate the virtualenv (.venv) and run rxsci directly.

Option D — Install from GitHub Release wheel (offline-friendly)

Each push to main publishes wheel / sdist assets under Releases. There is no standalone .exe in those assets (they are Python packages).

  1. Open the latest Release and download Rxscientist-*-py3-none-any.whl (and optionally the .tar.gz source distribution).
  2. Install with pip (use the same Python where you want rxsci):
pip install "C:\path\to\Rxscientist-0.0.10-py3-none-any.whl"
rxsci

Replace the path and version string with the file you actually downloaded.

Publishing to PyPI (maintainers)

This repo includes .github/workflows/publish-pypi.yml. One-time setup:

  1. Create accounts on pypi.org (and optionally test.pypi.org for trials).
  2. Confirm the project name Rxscientist is available on PyPI (change [project] name in pyproject.toml if it is taken).
  3. On PyPI → PublishingAdd a new pending publisher → choose GitHub → organization/user Ar1haraNaN7mI, repository RainyXscientist, workflow publish-pypi.yml, PyPI project Rxscientist (must match pyproject.toml).
  4. In GitHub: Actions → Publish PyPI → Run workflow (target branch, usually main). The workflow runs scripts/pypi_next_version.py to pick a new patch version that is not already on PyPI (avoids file already exists), updates pyproject.toml in the job, then uv build and uploads to PyPI. If the version was bumped, the workflow commits and pushes that pyproject.toml change to the same branch. You do not need to manually bump the version or push a v*.*.* tag for this workflow.

Manual upload (API token):

uv build
uv publish --token <pypi-api-token>

Use a token with Entire account or Project-scoped upload scope from PyPI account settings (do not commit tokens).


中文:下载与启动说明(Windows)

更系统的「下载 → 配置 → 启动」全流程见前文 Complete tutorial: download → configure → launch(含中英文摘要);本节补充 Windows 常见问题与路径。

PyPI 安装(推荐,在维护者已上传之后)

pip install Rxscientist
rxsci

为什么有时会提示找不到包?

  • 尚未上传到 PyPI:会提示 was not found in the package registry,请先使用下面的 Git / Release / 源码 方式。
  • 包名:PyPI 上的分发名为 Rxscientist(区分大小写以索引为准);安装后终端命令仍为 rxsci

本项目有没有官方 .exe

  • GitHub Actions 当前只构建并上传 .whl / .tar.gz不提供一键绿色版 .exe
  • 启动方式是安装 Python 包后使用控制台命令 rxsci(安装脚本会在 Python 的 Scripts 目录生成 rxsci.exe)。

Windows 推荐流程

1)已安装 Python 3.11+ 与 uv

在 PowerShell 或 CMD 中:

uv tool install "git+https://github.com/Ar1haraNaN7mI/RainyXscientist.git"
rxsci

若提示找不到 rxsci,请将 uv 安装的 tools 目录加入 PATH,或使用 Python 模块方式:

python -m Rxscientist

(与控制台脚本 rxsci 等价,均调用同一 CLI 入口。)

2)下载 Release 里的 wheel 再安装

  1. 打开:https://github.com/Ar1haraNaN7mI/RainyXscientist/releases
  2. 在最新 Release 的 Assets 中下载 Rxscientist-*-py3-none-any.whl
  3. 在下载目录执行(版本号按文件名修改):
py -3.12 -m pip install .\Rxscientist-0.0.10-py3-none-any.whl
rxsci

若仍找不到命令,直接使用模块入口:

py -3.12 -m Rxscientist --help

安装成功后,rxsci 一般位于:

%LOCALAPPDATA%\Programs\Python\Python3xx\Scripts\rxsci.exe

或当前虚拟环境的:

.venv\Scripts\rxsci.exe

把对应 Scripts 目录 加入系统 PATH,即可在任意目录运行 rxsci

3)克隆源码开发/本地运行

git clone https://github.com/Ar1haraNaN7mI/RainyXscientist.git
cd RainyXscientist
uv sync
uv run rxsci

自行打包成独立 .exe(可选)

仓库未内置官方单文件 exe。若需要分发无 Python 环境的机器,可自行使用 PyInstaller 等对入口 Rainscientist.cli:main(包名 rxsci)打包;需在本地解决依赖与体积问题,此处不展开。

维护者:如何把项目上传到 PyPI?

  1. 账号:在 pypi.org 注册并完成邮箱验证。
  2. 项目名:打开 https://pypi.org/project/Rxscientist/ ,若已被占用需在 pyproject.toml 里修改 [project] name(例如换成唯一名称)。
  3. 可信发布(推荐,无需把 token 放进仓库)
    • PyPI:Account settings → Publishing → Add pending publisher
    • 选择 GitHub:Owner Ar1haraNaN7mIRepository RainyXscientistWorkflow publish-pypi.ymlPyPI project name Rxscientist(须与 pyproject.toml 一致)。
    • 详见官方说明:https://docs.pypi.org/trusted-publishers/
  4. 发版:在 GitHub 打开 Actions → Publish PyPI → Run workflow(一般选 main)。工作流会运行 scripts/pypi_next_version.py,按 PyPI 上已有版本自动 递 Patch,避免 File already exists;在任务里更新 pyproject.toml 后执行 uv build 并上传。若版本有递增,工作流成功后会 把新的 version 提交并推回 对应分支。无需再手动改版本号或打 v*.*.* 标签来触发本工作流(标签推送 不会 再自动触发,以免与 PyPI 策略冲突)。
  5. 本地用令牌上传(备用):在 PyPI 账户设置里创建 API token,切勿提交到 Git:
uv build
uv publish --token <粘贴token>

同一版本/同一 wheel 在 PyPI 上 不可覆盖;本仓库通过上述脚本在 CI 中自动选择下一个可用 patch 版本。若用本地 uv publish,请手工递增 pyproject.tomlversion 后再上传。


Why this project

RXscientist focuses on turning fragmented prompts into a repeatable research loop: question intake, task decomposition, evidence collection, implementation, review, and refinement. The goal is to make one local agent runtime usable for both exploratory research and engineering-heavy scientific tasks.

Project status

This repository is being positioned as the new RXscientist project. Documentation and examples are intentionally being simplified and refreshed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rxscientist-0.0.11.tar.gz (499.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rxscientist-0.0.11-py3-none-any.whl (443.5 kB view details)

Uploaded Python 3

File details

Details for the file rxscientist-0.0.11.tar.gz.

File metadata

  • Download URL: rxscientist-0.0.11.tar.gz
  • Upload date:
  • Size: 499.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rxscientist-0.0.11.tar.gz
Algorithm Hash digest
SHA256 86767b17b2aa2c5e42221105933831e30fec0aa286bc20133e624793851ab0d8
MD5 87f0a4bcb0b0f61a12e74dbbc88ae8d8
BLAKE2b-256 861d99ebb5a3775f5bd20e7608976d4795a1c5d09dd2716317d22b72f30aca0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rxscientist-0.0.11.tar.gz:

Publisher: publish-pypi.yml on Ar1haraNaN7mI/RainyXscientist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rxscientist-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: rxscientist-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 443.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rxscientist-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 6b770270bc4ec0f98a24ca9e80e16747625d57313120c4c36bd51e0f9af17846
MD5 b6cb86b4e96c6deab061c58dce1c70e0
BLAKE2b-256 71f464f83f40f202e30aece1c66ad332703193a1cd4009793b282c3d142f1835

See more details on using hashes here.

Provenance

The following attestation bundles were made for rxscientist-0.0.11-py3-none-any.whl:

Publisher: publish-pypi.yml on Ar1haraNaN7mI/RainyXscientist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page