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
- Open Releases and download
Rxscientist-*-py3-none-any.whl(source.tar.gzis optional). - 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 flags → environment variables → config.yaml → built-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.yamlor~/.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:
.envnext to the repo’spyproject.toml(so keys work even if your shell is not in the project folder)..envunder the Rxscientist config directory (same folder asconfig.yaml)..envdiscovered 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,/helpinside the UI (when available), and optional MCP tooling for external integrations.
中文简明步骤
- 安装 Python 3.11+,建议使用 pip 或 uv。
- 安装包:优先
pip install Rxscientist;若 PyPI 暂无包,使用上文 B/C/D(Git / 克隆 / Release wheel)。 - 配置密钥:运行
rxsci onboard,或设置环境变量(如ANTHROPIC_API_KEY),或编辑%USERPROFILE%\.config\Rxscientist\config.yaml(Windows),或在项目根 / 配置目录放置.env。 - 启动:执行
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).
- Open the latest Release and download
Rxscientist-*-py3-none-any.whl(and optionally the.tar.gzsource distribution). - 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:
- Create accounts on pypi.org (and optionally test.pypi.org for trials).
- Confirm the project name
Rxscientistis available on PyPI (change[project] nameinpyproject.tomlif it is taken). - On PyPI → Publishing → Add a new pending publisher → choose GitHub → organization/user
Ar1haraNaN7mI, repositoryRainyXscientist, workflowpublish-pypi.yml, PyPI projectRxscientist(must matchpyproject.toml). - In GitHub: Actions → Publish PyPI → Run workflow (target branch, usually
main). The workflow runsscripts/pypi_next_version.pyto pick a new patch version that is not already on PyPI (avoids file already exists), updatespyproject.tomlin the job, thenuv buildand uploads to PyPI. If the version was bumped, the workflow commits and pushes thatpyproject.tomlchange to the same branch. You do not need to manually bump the version or push av*.*.*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 再安装
- 打开:https://github.com/Ar1haraNaN7mI/RainyXscientist/releases
- 在最新 Release 的 Assets 中下载
Rxscientist-*-py3-none-any.whl - 在下载目录执行(版本号按文件名修改):
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?
- 账号:在 pypi.org 注册并完成邮箱验证。
- 项目名:打开 https://pypi.org/project/Rxscientist/ ,若已被占用需在
pyproject.toml里修改[project] name(例如换成唯一名称)。 - 可信发布(推荐,无需把 token 放进仓库)
- PyPI:Account settings → Publishing → Add pending publisher
- 选择 GitHub:Owner
Ar1haraNaN7mI,RepositoryRainyXscientist,Workflowpublish-pypi.yml,PyPI project nameRxscientist(须与pyproject.toml一致)。 - 详见官方说明:https://docs.pypi.org/trusted-publishers/
- 发版:在 GitHub 打开 Actions → Publish PyPI → Run workflow(一般选
main)。工作流会运行scripts/pypi_next_version.py,按 PyPI 上已有版本自动 递 Patch,避免 File already exists;在任务里更新pyproject.toml后执行uv build并上传。若版本有递增,工作流成功后会 把新的version提交并推回 对应分支。无需再手动改版本号或打v*.*.*标签来触发本工作流(标签推送 不会 再自动触发,以免与 PyPI 策略冲突)。 - 本地用令牌上传(备用):在 PyPI 账户设置里创建 API token,切勿提交到 Git:
uv build
uv publish --token <粘贴token>
同一版本/同一 wheel 在 PyPI 上 不可覆盖;本仓库通过上述脚本在 CI 中自动选择下一个可用 patch 版本。若用本地 uv publish,请手工递增 pyproject.toml 的 version 后再上传。
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86767b17b2aa2c5e42221105933831e30fec0aa286bc20133e624793851ab0d8
|
|
| MD5 |
87f0a4bcb0b0f61a12e74dbbc88ae8d8
|
|
| BLAKE2b-256 |
861d99ebb5a3775f5bd20e7608976d4795a1c5d09dd2716317d22b72f30aca0a
|
Provenance
The following attestation bundles were made for rxscientist-0.0.11.tar.gz:
Publisher:
publish-pypi.yml on Ar1haraNaN7mI/RainyXscientist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rxscientist-0.0.11.tar.gz -
Subject digest:
86767b17b2aa2c5e42221105933831e30fec0aa286bc20133e624793851ab0d8 - Sigstore transparency entry: 1357197419
- Sigstore integration time:
-
Permalink:
Ar1haraNaN7mI/RainyXscientist@740d511116cd799e1237c97a8a25ef00c1522b2a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Ar1haraNaN7mI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@740d511116cd799e1237c97a8a25ef00c1522b2a -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b770270bc4ec0f98a24ca9e80e16747625d57313120c4c36bd51e0f9af17846
|
|
| MD5 |
b6cb86b4e96c6deab061c58dce1c70e0
|
|
| BLAKE2b-256 |
71f464f83f40f202e30aece1c66ad332703193a1cd4009793b282c3d142f1835
|
Provenance
The following attestation bundles were made for rxscientist-0.0.11-py3-none-any.whl:
Publisher:
publish-pypi.yml on Ar1haraNaN7mI/RainyXscientist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rxscientist-0.0.11-py3-none-any.whl -
Subject digest:
6b770270bc4ec0f98a24ca9e80e16747625d57313120c4c36bd51e0f9af17846 - Sigstore transparency entry: 1357197420
- Sigstore integration time:
-
Permalink:
Ar1haraNaN7mI/RainyXscientist@740d511116cd799e1237c97a8a25ef00c1522b2a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Ar1haraNaN7mI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@740d511116cd799e1237c97a8a25ef00c1522b2a -
Trigger Event:
workflow_dispatch
-
Statement type: