File size: 2,763 Bytes
3c9abae
28a3671
 
 
 
3c9abae
8e11548
3c9abae
 
 
 
28a3671
 
7df30c5
28a3671
 
 
 
 
 
 
7df30c5
28a3671
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7df30c5
28a3671
 
 
7df30c5
28a3671
 
 
 
 
 
 
 
 
 
b073ba6
8e11548
28a3671
 
 
 
 
7df30c5
28a3671
7df30c5
28a3671
 
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
---
title: ResearchClawBench Task Submission
emoji: ๐Ÿ“ฆ
colorFrom: blue
colorTo: indigo
sdk: gradio
sdk_version: 6.10.0
app_file: app.py
pinned: false
---

# ResearchClawBench Hugging Face Submission Space

This directory contains the deployable Hugging Face Space used for ResearchClawBench task submissions. It validates a task ZIP locally inside the Space and, after passing checks, opens a PR against the official Hugging Face dataset repository for maintainer review.

## What it does

- accepts a single `.zip` upload
- requires exactly one top-level task directory inside the archive
- validates the full ResearchClawBench task structure and JSON/path format
- allocates the next available `Domain_NNN` task id from the Hugging Face dataset repo
- creates a PR against the Hugging Face dataset repository `InternScience/ResearchClawBench` when validation passes

## Files

- `app.py`: Gradio Space UI
- `validator.py`: archive extraction and task-format validation
- `repo_ops.py`: Hugging Face repo scanning, task-id allocation, PR creation
- `requirements.txt`: extra Python dependencies beyond the built-in Gradio SDK

## Expected upload format

The uploaded zip must contain exactly one task directory:

```text
Astronomy_submission.zip
โ””โ”€โ”€ some_folder_name/
    โ”œโ”€โ”€ task_info.json
    โ”œโ”€โ”€ data/
    โ”œโ”€โ”€ related_work/
    โ””โ”€โ”€ target_study/
        โ”œโ”€โ”€ checklist.json
        โ”œโ”€โ”€ paper.pdf
        โ””โ”€โ”€ images/
```

The top-level directory name inside the zip does not need to be the final task id. The Space validates the structure, then renames it to the next available `Domain_NNN` id when opening the dataset PR.

## Required environment variables / Space secrets

- `RCB_SPACE_HF_TOKEN` or `HF_TOKEN`: Hugging Face write token for creating PRs to the dataset repository `InternScience/ResearchClawBench`

Optional limits:

- `RCB_SPACE_MAX_FILES`
- `RCB_SPACE_MAX_TOTAL_BYTES`
- `RCB_SPACE_MAX_SINGLE_FILE_BYTES`

## Local run

```bash
cd /mnt/d/xwh/ailab่ฎฐๅฝ•/ๅทฅไฝœ/26ๅนด03ๆœˆ/sgi-bench/ResearchClawBench-HF/space
/home/xwh/miniconda3/envs/agent/bin/python -m pip install gradio==6.10.0 -r requirements.txt
/home/xwh/miniconda3/envs/agent/bin/python app.py
```

## Notes

- validation does not modify the GitHub benchmark repository
- PR creation targets the Hugging Face dataset repo directly with `create_pr=True`
- the dataset repo on Hugging Face is also named `InternScience/ResearchClawBench`, so call it the dataset repo explicitly to avoid confusion with the GitHub repository of the same benchmark name
- after a PR is created, maintainers still decide whether to merge it
- on Hugging Face Spaces, the Gradio version comes from the README YAML `sdk_version`, not from `requirements.txt`