Spaces:
Running
Running
File size: 2,674 Bytes
978fed5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | # SciDER Streamlit Interface
Web UI for running SciDER research workflows with real-time progress and interactive approval.
## Quick Start
From the project root:
```bash
bash streamlit-client/run.sh
```
Or manually:
```bash
uv sync --extra streamlit
uv run python -m streamlit run streamlit-client/app.py --server.port 7860
```
Open http://localhost:7860 in your browser.
## First-Time Setup
On first launch, a settings page will appear. Configure:
- **Model Provider** (Gemini / OpenAI) and API key (required)
- **Anthropic API Key** (optional β for Claude coding agent)
- **OpenAI API Key for Embeddings** (optional β enables memory features)
- **Per-role model assignments** (which model to use for each agent role)
Settings (including API keys) are stored in the browser's localStorage and never saved on the server.
## Workflows
| Workflow | Description |
|----------|-------------|
| **Ideation** | Generate research ideas from literature review |
| **Data Analysis** | Analyze data files, search related papers, produce insights |
| **Experiment** | Generate code, execute experiments, iterate with revisions |
| **Full Workflow** | Chain ideation β data analysis β experiment |
## User Approval
When `USER_APPROVAL_ENABLED=true` (default), the UI pauses at key checkpoints for user review:
- **Approve** β continue to next step
- **Reject** β retry the current step
- **Feedback** β provide guidance and retry
For ideation, users can also select a specific research idea to pass to the experiment agent.
## Docker
From the project root:
```bash
docker compose up --build
```
## File Structure
```
streamlit-client/
βββ app.py # Main entry point
βββ settings.py # Persistent settings (browser localStorage)
βββ utils.py # Shared utilities (upload, chat history)
βββ forms/ # Workflow form UIs
β βββ ideation.py
β βββ data.py
β βββ experiment.py
β βββ full.py
β βββ settings.py # Settings form
βββ components/
β βββ display.py # Approval UI, rendering helpers
βββ workflow/
β βββ approval.py # StreamlitApprovalHandler
β βββ runner.py # Background thread executor
β βββ monitor.py # Progress tracking
β βββ node_monitor.py # Node-level monitoring
β βββ observable_list.py
βββ log_utils/
β βββ handler.py # Loguru β Streamlit bridge
βββ run.sh / run.bat # Launch scripts
βββ case-study-memory/ # Saved chat histories
```
|