ScienceEvolve-server 將科研、實驗、編碼與審查整合至可演化工作流
OpenMOSS/ScienceEvolve-server
ScienceEvolve-server 提供 ScienceEvolve 的 Web/Server 實作,將研究、實驗、編碼和審查編排成可視化工作流,並支援獲授權後動態調整流程。頁面列出 21 個工作流範例,包括論文及開源項目的流程,Web 用戶須手動匯出及匯入。Main 提交的動態工作流更新須經 Server 驗證後才會套用。
Build, run, and improve your own science research workflow, and evolve it.
English | 简体中文
Project overview · Runtime Monitoring · Workflow editor
ScienceEvolve is the autonomous version of the research framework presented in Rethinking Scientific Discovery in the Agentic Era. It connects research, experiments, coding, and review in a visual workflow. Build an Agent team, follow its execution, improve the task using real feedback, and authorize Main to evolve the workflow itself.
🧩 Two ways to use ScienceEvolve — shared workflow semantics, with an interface for your way of working.
— Web / Server repository. Compose Agents visually, connect model gateways, manage research projects, and inspect traces and delivered files.
— SDK / CLI repository. Run workflows from TypeScript or the command line and embed research in your own services. See the SDK examples and Web / SDK boundaries.
Your research team, one workflow
“Here is a Poisson solver. Explore two improvements, validate convergence, compare the errors, and write a report.”
Connect planning, parallel exploration, implementation, and review on the canvas. Main coordinates the work and confirms completion; Workers handle research, experiments, coding, and review. Each Agent can select Codex, Claude Code, DSH, or pi, with its own model, prompt, Skills, and MCP tools.
Two feedback loops: improve the task and the process
The task loop runs a method, collects real feedback, improves the method, and runs again. The process loop reviews the research results and updates Agent responsibilities, tools, or routing before continuing. Start with a fixed workflow and enable process evolution when needed.
Evolver is part of the team. In the current implementation, Main takes this role when authorized to reconfigure dynamically. Main submits workflow.json and calls apply_workflow; Server validates the proposal before applying it. Actual task evaluation determines whether the change helps.
Main / Worker roles and dual loops · Dynamic reconfiguration scope
Features
Let Main evolve the workflow
Authorized Main can add or remove Agents, change responsibilities and paths, switch Harnesses, and submit an updated workflow. Server validates before applying the proposal so the team can adapt to the task. Editable scope.
Set Loop rounds and the exit Agent
Main starts a finite-element mesh convergence experiment. Coder → Executor → Review runs for three complete rounds, then exits to the selected Writer Agent, which delivers the error analysis report (errors.md). Both the number of rounds and exit Agent are configurable.
Revert and retry from experiment evidence
Idea proposes a larger simulation time step. Execution implements and merges it, but evaluation regresses. Review directly reverts the merged candidate, restores the accepted code, and reruns the benchmark. The revert is a new commit; the failed change remains in history.
Review and integrate parallel contributions
With Git collaboration enabled, Agents work in isolated worktrees. Collaboration groups organize parallel exploration, with review and PR integration at each level. Configure a GitHub account.
Resume interrupted work
System Runtime retains project state, completed progress, and execution traces. Recoverable interruptions can resume through review and delivery. Check actual external processes and results before continuing external jobs.
Keep adjusting in natural language
Use Project Explainer to understand the current workflow, edit Agent settings, and add Loops or collaboration groups. Running-project edits pass through the workflow update mechanism, preserving the version accepted by Server.
Quick start
You need Node.js 24+, npm 10+, an installed Inspire CLI, and a working model gateway. The current Server checks for Inspire at startup, including for local tasks.
1. Install and start
Copy this repository's HTTPS clone address from Code → HTTPS and replace REPOSITORY_URL below:
git clone REPOSITORY_URL ScienceEvolve
cd ScienceEvolve
npm ci
npm ci --prefix harness/codex
cp .env.example .envWhen using the default ./data, set SCIENCEEVOLVE_INSPIRE_WORKSPACE_ROOT in .env to the absolute repository path. Set SCIENCEEVOLVE_INSPIRE_BIN to the executable's absolute path if Inspire is not on PATH. Keep your existing .env when updating an installation.
npm run dev
Open http://127.0.0.1:5173. The API health endpoint should return JSON containing "status":"ok". See setup and configuration for other Harnesses, environment variables, and deployment options.
2. Connect a model
Open “全局网关库” (global gateway library), enter your model service's HTTPS endpoint and API key, select its protocol and available models, save it, and set it as default. Click “测试连接” (test connection) and validate your intended Harness/model combination in the matrix. Each Agent's model and reasoning option must be supported by that gateway.
3. Import a Workflow manually
The repository's example/ directory retains Workflow JSON files, requirements, and reference assets. The application does not load these workflows automatically. On the machine running Server, manually export a Web-compatible copy:
node example/export-web-workflow.mjs \ example/02-software-development/workflow.json /tmp/software.web.json
On the homepage, click “导入 SDK workflow.json” (import SDK workflow.json), select the exported file, and inspect the preview. Close it, select the imported entry under “快速发起研究任务 → Agent 配置预设” (quick launch → Agent preset), and paste the software requirement. Choose an available Harness, gateway, and model for every Agent, leave parallel collaboration off, and click “提交并继续” (submit and continue).
After completion, inspect the code, usage instructions, and actual test records in development/final.md. The collapsed tutorial covers the full import flow. Use the SDK guide for SDK execution.
Web tutorial: from a first task to your own workflow
Use generic JSON import, the Workflow canvas, Agent settings, and Project Explainer to turn a requirement into an executable configuration. Complete a small task first, then introduce Loops, parallel collaboration, and workflow evolution. UI labels below match the current Chinese interface.
① Run a real project: build and test a Node.js Todo CLI
Import the workflow and prepare the requirement
- Use the command above to export the original Workflow as a separate
software.web.json. The script supplies Web format fields, removes top-level deployment settings, and resolves Skill paths. It preserves the original; requirements remain separate. Choose another filename if the output already exists. - Click “导入 SDK workflow.json” on the homepage and select the export. Inspect coding, testing, and Main in the original read-only preview, then close it.
- Select the imported entry under “快速发起研究任务 → Agent 配置预设” to load an editable copy. Paste requirement.txt into “研究任务需求” (research requirement). Keep the checks for
add / list / done / remove, JSON persistence, corrupt-file protection, and error exit codes. - To upload existing code, first use “保存 → 另存为新配置” (save → save as new) in quick launch. Open “新建项目” (new project) and select that configuration. Upload through “补充文件与图片” → “选择文件或图片 / 选择文件夹”; inputs appear under
user_inputs/. This page starts with “创建并启动研究” (create and start research).
Check routing and models on the canvas
This is the actual read-only canvas opened through generic JSON import, before connecting models or starting research. Close the preview, select the import in quick launch, then click “打开 Workflow 画布编辑器” (open Workflow canvas editor) to edit a copy.
User input → coding → testing → pass: complete
↑ │
└─ fail ─┘
Main: coordinate recovery and additional user input
- Select coding or testing and check Harness, 全局网关 (global gateway), model, 网关思考强度 (gateway reasoning) in “Agent 属性面板”. Main also needs a valid configuration. A model name in a template does not grant access to that model.
- coding → testing is a strong edge. testing chooses repair or completion based on real test results. It is the designated terminal Agent with automatic completion explicitly enabled. An edge to finish alone does not mark a task successful.
- This starter retries conditionally and has no fixed-iteration Loop. Keep parallel collaboration and Main's automatic workflow changes off for now. Use “保存流程” (save workflow) to return and save a configuration as needed. The imported original stays read-only.
- “推荐配置” (recommend configuration) is optional. If it or Project Explainer changes a named method, review the roles, paths, and acceptance conditions again.
Start, follow execution, and inspect the files
Click “提交并继续” on the homepage. Follow coding's implementation, testing's independent checks, and any failure handoff. If using the new-project page, start with “创建并启动研究”. “保存课题” (save project draft) saves without starting the task.
Expected deliverables are a working cli.mjs, Node built-in tests, usage instructions, and test evidence plus final.md under development/. Tests should use temporary directories and TODO_DATA_FILE, covering persistence, blank input, repeated done, unknown IDs, corrupt JSON, and invalid arguments. Completion requires actual passing checks on the delivered version; inspect this run's files and recorded commands.
For a recoverable interruption, inspect the status, cause, and existing traces before using “暂停项目” (pause project) / “启动项目” (start project). Interrupted projects offer “启动并恢复” (start and recover). Recovery preserves completed progress; check real external jobs and tool processes before continuing them.
Full software workflow protocol · Workspaces and artifacts
② Compose a Workflow: Agents, edges, Loops, collaboration, and live adjustments
Add an Agent and configure its capabilities
Select a template under “Agent 模板” (Agent templates) and add a copy. Select its node to edit responsibilities, instructions, Harness, model, Skills, and MCP tools. Main is required and unique; it cannot be deleted or renamed. Connect new Workers' business paths yourself. Main's fixed dispatch edges are maintained by the system.
Gateways, installed Harnesses, Skill files, and MCP services must actually be available. Upload task inputs through the Web UI. Prepare GPUs, experiment platforms, or wet-lab services required by a particular example before running it.
Connect paths and define who verifies completion
Drag from a node port, or select “连接目标” (connection target) → “添加连接” (add connection) in its settings:
| Setting | How to use it |
|---|---|
| Strong edge | Proceed directly to a single target; it cannot be mixed with other outgoing candidates. |
| Weak edge | Offer alternative targets selected by the configured Main or current Worker; useful for repair and branching. |
| Terminal Agent | Main verifies completion by default. A different terminal Agent can complete only with explicit automatic-completion permission in a valid context. Define the required evidence. |
Understand Loop batches with AHE
Use the same manual export/import steps to load AHE code evolution. Its strong-edge cycle is optimizer → execute → judge → optimizer. Closing a valid cycle creates a Loop without adding a Loop node. Select any member edge to edit the Loop ID, iterations per batch, and exit target on the right.
This example uses:
{
"id": "code_evolution",
"from": "judge",
"to": "optimizer",
"maxIterations": 3,
"exitTo": "main"
}This means up to three iterations per batch, then return to Main. Main checks the original target and either completes or starts another batch at optimizer. It is not a project-wide limit of three iterations. The dashed from → exitTo edge is a read-only batch exit; it does not run every iteration. Pause, recovery, and retries preserve batch, iteration, and total counters. Breaking the cycle removes its Loop configuration.
Enable Git collaboration for parallel development
Configure “GitHub 账号” (GitHub account), enable “并行协作模式” (parallel collaboration), and create a group. Choose an existing Agent as Leader and reference other Agents as business nodes. Click the group to edit its internal Workflow; use breadcrumbs or “返回父图” (return to parent) to navigate back. Only edges from the group entry create parallel paths. Internal workflows can use strong/weak edges, Loops, and nested groups.
References to the same Agent share configuration, session, and directory, with calls serialized in a queue; different Agents can run concurrently. Completing a group waits for required paths and Git integration. PR merging and local synchronization at each level must finish before successors run. See Git account configuration and scoped collaboration workflows.
Save, adjust, and recover
Use “智能整理 / 分层重排 / 适应画布” (tidy / layered layout / fit canvas) to inspect the whole graph. Save with “更新当前配置 / 仅本次项目使用 / 另存为新配置” (update current / this project only / save as new). The imported original is read-only; save edits as your own configuration.
Project Explainer helps edit drafts, explain workflows, and submit allowed runtime changes. To let Main change orchestration autonomously, enable “允许 Main 动态重配置(高级权限)” (allow Main dynamic reconfiguration) before creation. Authorized Main turns submit workflow.json and call apply_workflow for validation. Credentials, execution permissions, session/reasoning policies, and the authorization switch remain locked. Accepted Skill/MCP content cannot be overwritten under the same name; add a definition and update references for a new version.
Use the Server's accepted configuration and actual traces as the runtime source of truth. Pausing, submitting an update, and recovering are separate actions. See the complete Workflow scope and Project Explainer guide.
Examples
We implement or adapt workflow structures from published papers and open-source projects as ScienceEvolve configurations, including Agent roles, routing, and feedback loops. Credit belongs to the original authors; the table links the original work, official project, and our implementation.
This page presents 21 workflow examples: three starters and 18 workflows from papers or open-source projects. Their files are indexed under example/. They are provided as JSON configurations, reference assets, and documentation. Web users copy, export, and import them manually. The application has no dedicated template gallery, automatic loading, or Server packaging for these examples.
Start with three introductory workflows
Software development and testing — coding, independent testing, and repair. · AHE code evolution — execution, evaluation, optimization, and batch decisions. · General research — ideation, execution, writing, review, and Main coordination.
Workflows from papers and open-source projects
† Google AI co-scientist and ScientistTwo are independent implementations based on published papers and available components; the pinned sources do not provide the complete official systems. autoresearch uses the official project as its source. AgentRxiv code is included in Agent Laboratory. Each example records source versions, adaptation scope, and tool requirements.
Scope: workflow structure and orchestration. The table collects workflow configurations and adaptations; reproducing paper experiments or metrics is outside its scope. Each example documents its mapping and tool requirements. See sources and adaptation scope.
Real Workflow canvases: software development / AHE code evolution
These actual frontend screenshots were captured through the existing generic JSON importer. They show configuration only; no models or research tasks were started.
Software development and testing — coding implements, testing verifies independently, failures return for repair.
AHE code evolution — execution, evaluation, and optimization, with Main deciding after each three-iteration batch.
21 Workflow canvas screenshots · Manual import instructions
Complete example index · Sources, protocols, and validation
Built-in Skill sources and acknowledgements
The Web UI and Server share the built-in Skills in .agents/skills. Their upstream repositories and uses are listed below.
| Built-in Skill / resource | Upstream repository | Use in ScienceEvolve |
|---|---|---|
ccf-common, ccf-experiment-designer, ccf-idea-optimizer, ccf-idea-reviewer, ccf-literature-monitor, ccf-literature-searcher, ccf-paper-reviewer, ccf-paper-to-exemplar, ccf-paper-writer, ccf-visual-composer | mikubaka88/CCFA-Skills | Adapted research, writing, review, and visualization Skills. |
nature-figure, nature-polishing, nature-shared, nature-writing | Yuan1z0825/nature-skills | Integrated Nature-style writing, polishing, figures, and shared references. |
awesome-ai-research-writing-director | Leey21/awesome-ai-research-writing | Writing-method synthesis adapted to the manuscript output contract. |
inspire | realZillionX/InspireSkill | Platform guidance adapted to the SII MCP integration. |
Plotting references used by nature-figure | ChenLiu-1996/figures4papers | Scientific figure design and plotting references. |
Bundled Skills include ScienceEvolve-specific integration changes. The project role Skills research-director, idea-agent, experiment-runner, latex-writer, and iclr-reviewer are maintained in this repository. Thank you to the upstream authors and contributors.
The CCFA and Nature copies do not record import commits; their repository attribution is based on comparing Skill names and contents with upstream.
Configure what you need
| Your task | Guide |
|---|---|
| Install, change ports/data directories, or deploy | Setup · Server environment · Production |
| Connect models, select protocols, and test combinations | Global gateways |
| Install another Harness or tune an Agent | Harness · Agent settings · Runtime guide |
| Connect tools and add project resources | Skills and MCP · Inspire/SII experiments |
| Configure GitHub OAuth and nested parallel workflows | Git accounts · Collaboration workflows |
| Understand orchestration, permissions, recovery, and host differences | Workflow · Architecture · Web / SDK boundaries |
References
- Agentic Harness Engineering: Observability-Driven Automatic Evolution of Coding-Agent Harnesses. arXiv:2604.25850, 2026.
Additional documentation links
| Document | Link |
|---|---|
| Research workflows | Main / Worker roles, dual loops, and method sources |
| SDK documentation | SDK guide · SDK examples |
| Workflow files and manual import | Example directory and import instructions |
| Workflow canvas screenshots | 21 actual Workflow canvases |
| Inspire CLI installation | Installation and configuration |
來源:OpenMOSS / 復旦NLP / 上海創智 / MOSI · github.com



