OpenLens Research Agent
Turn a dataset and one research idea into an autonomous multimodal research workflow.
- Source repo
- jarrycyx/openlens-ai
- Stars
- ★ 282
- Last updated
- 2mo ago
- License
- MIT
- Primary language
- Python
- FA score
- 46/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformOpenAI API
- Cost
- Free software; you pay for model usage
- Setup effort
- High · needs real infrastructure
- You'll need
- Typical use
- A clinical or medical-AI researcher with an eICU-style dataset who wants to investigate vital-sign deterioration before cardiac arrest and receive a research report.
- Not a fit if
- Users wanting a quick start without Docker, Conda, Node.js and multiple API keys
- Anyone writing Chinese papers who cannot supply Windows fonts
- Source review
- 46/100 · Major gaps
What does this agent do, and when should you use it?
OpenLens AI is a fully autonomous multimodal research agent for medical, machine-learning, statistical, and other data-driven projects, with an emphasis on medical-plus-AI research. Given a dataset and a one-line research idea, it uses a LangGraph-powered workflow for literature review, experiment design, data analysis, and report generation. Its stated modules are Literature Reviewer, Data Analyzer, Supervisor, Coder, and LaTeX Writer, which coordinate through shared state. It can be run from a CLI or a Streamlit web interface, while generated code is executed through an OpenHands Docker runtime. Its outputs include analysis and experiment code, LaTeX papers or reports, and optionally GitHub-published code artifacts.
OpenLens accepts a research question through --question and a dataset through --dataset-path, then has the Supervisor coordinate the Literature Reviewer, Data Analyzer, Coder, and LaTeX Writer. The Literature Reviewer can search and read work through arXiv, medRxiv, Google Scholar, and Tavily; the Data Analyzer processes datasets; and the Coder generates and executes analysis or experiment code with OpenHands. The LaTeX Writer creates research papers and reports. The workflow also supports vector-search context management, file operations, VLM-based visualization feedback, and optional GitHub artifact publishing through the [git] configuration.
- A clinical or medical-AI researcher with an eICU-style dataset who wants to investigate vital-sign deterioration before cardiac arrest and receive a research report.
- A machine-learning researcher who needs literature review, experiment planning, code execution, and LaTeX writing coordinated in one LangGraph workflow.
- A statistician who wants to search related papers before analyzing a local dataset and packaging the result as a report.
- A team writing in Chinese that needs language = "chs" and a Docker environment with suitable fonts for Chinese paper writing.
- An individual or team that wants generated research code artifacts optionally pushed to GitHub for versioned sharing.
How do you install or deploy this agent?
Prerequisites are Python 3.9+, Docker, an LLM service API key, and a Tavily API key. Clone with submodules:
git clone https://github.com/jarrycyx/openlens-ai.git --recurse-submodules
cd openlens-aiPull and tag the documented runtime image:
ALIYUN_REMOTE_DOCKER_NAME=crpi-hbt8nkulkjqjqkie.cn-hangzhou.personal.cr.aliyuncs.com/cyx-docker/openlens-ai:runtime-latest
docker pull $ALIYUN_REMOTE_DOCKER_NAME
docker tag $ALIYUN_REMOTE_DOCKER_NAME openlens-ai:runtime-latestCreate an environment and install file1.agent:
conda create -n openlens python=3.12
conda activate openlens
cd modules/file1agentpip install -e .
cd ../../Install OpenHands in modules/OpenHands according to its Development.md, then run:
conda install conda-forge::nodejs
conda install conda-forge::poetry
pip install chardet
make build
cd ../../
pip install --upgrade pippip install -e .
Then run cp config.minimal.toml config.toml and enter model, reranker, and Tavily settings and keys in config.toml.
How do you use this agent?
Configure [llm.chat], [llm.vision], [rerank], [tools], and [docker] in config.toml. The [tools] section needs tavily_api_key, and the documented Docker image name is openlens-ai:runtime-latest. A first CLI invocation is:
python cli.py --question "What are the temporal patterns of vital sign deterioration preceding cardiac arrest events in critical care settings?" --dataset-path "datasets/eicu-demo" --thread-id "pred_aki_trend_eicu_demo" --notify-email "[email protected]" --interrupt-after-subgraph "none" --language "chs" --domain "medical"For the web interface, run streamlit run start_app.py and open http://localhost:8501. For HTTPS, configure .streamlit/config.toml or comment out sslKeyFile and sslCertFile.
What are this agent's strengths and limitations?
- Combines literature review, data analysis, code generation and execution, experiment design, and LaTeX writing in one LangGraph multi-module workflow.
- Its documented literature sources include arXiv, medRxiv, Google Scholar, and Tavily, with vector-search context management.
- Generated code can be executed through an OpenHands Docker runtime instead of being produced only as a suggestion.
- Offers both a CLI and Streamlit interface, with Chinese language configuration and Chinese paper-writing support.
- Optional GitHub publishing can target a fixed repository or create a repository when a token is configured.
- Local setup has a substantial dependency chain: Docker, Conda, Node.js, Poetry, the OpenHands submodule, and Python packages.
- Operation requires configured LLM, vision-model, reranker, and Tavily services and credentials; the documentation does not state service costs.
- Building the Docker image for Chinese paper writing requires obtaining Windows fonts.
- IACR ePrint, Semantic Scholar, and PubMed search are listed as unfinished literature capabilities.
- GitHub artifact publishing requires a personal access token, with repository and administration permissions documented for automatic repository creation.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| OpenLens Research Agent This agent | 46 · Major gaps | CLIFree + model costs | ★ 282 | 2mo ago | Python | OpenAI API |
| DATAGEN Research Assistant | 45 · Major gaps | CLIFree + model costs | ★ 1.8k | 14d ago | Python | OpenAI API · Claude API |
| TradingAgents for A-Shares | 78 · Good | Library / SDKFree + model costs | ★ 3.9k | 8d ago | Python | OpenAI API · Claude API |
| Agentic Company Researcher | 39 · Major gaps | Self-hosted serviceFree + model costs | ★ 2.3k | 13d ago | Python | OpenAI API |
How does FollowAgents rate this agent?
Why each dimension lost points
The README says the user must configure LLM and Tavily keys, and documents optional GitHub publishing, token permissions, and revocation, making some data flows visible. Deductions: the CLI requires a notification email and the entry point sends start/resume emails automatically; optional GitHub publishing may create a repository and push artifacts, while code execution is delegated to OpenHands, with no evidence here of per-action confirmation or detailed permission boundaries. A deleted-file backup directory is configured, but recovery steps are not documented. Search services and some acknowledgments are named, but citation tracking for generated papers and research conclusions is unclear.
The README documents the module architecture and Docker/dependency setup; some MCP read failures return an empty string while image tools return error text. Deductions: the README claims Python 3.9+ while pyproject requires 3.11+; the package script targets build_graph.cli_main while the sample entry point is cli_main in main.py; the search adapter creates an AsyncClient but calls searchers synchronously. The packet does not establish service availability, and some failures are reduced to generic empty results.
The README identifies medical, machine-learning, statistics, and general data-driven research as intended scenarios; the CLI offers Chinese/English and medical/general choices, with configurable model endpoints. Deductions: the evidence does not clearly bound which tasks the autonomous agent can handle reliably; new CLI runs require a question, dataset path, and email, and operation also depends on Docker, several APIs, and submodules.
The README is organized around installation, configuration, running, architecture, and customization, and includes CLI/config examples, optional GitHub setup, and an MIT license. Deductions: version evidence is limited to pyproject 0.0.1 and a README link to a v0.1.0 font package, with no changelog; Python requirements conflict; maintainer and update path are unclear, and the listed roadmap items do not amount to comprehensive limitations documentation.
The product combines literature search, data analysis, experiment design, code execution, and LaTeX report generation in one research workflow, with a concrete output goal and interactive UI. Deductions: autonomy and report quality are mainly README claims and their practical value is not established by this packet; operation requires multiple model services, a search API, Docker, and a complex installation, with no cost or resource estimates.
The README lists capabilities, some supported integrations, and planned items; the code samples show CLI arguments and image-analysis and paper-search interfaces. Deductions: major capability claims lack in-packet result examples or independent corroboration; the sample tests are model API calls and do not substantiate product-level outcomes; documentation does not consistently distinguish implemented behavior from promotional claims or expected effects.
- Check the Python requirement before installation: the README says 3.9+, while pyproject requires 3.11+.
- A notification email triggers start/resume emails; a GitHub token may permit automatic repository creation and artifact pushes. Scope credentials to the task and confirm where data and artifacts are sent.
- The workflow executes generated code and uses external model and search services; the packet does not show a complete human review, isolation, or recovery process.
FAQ
Is OpenLens limited to medical research?
What credentials are required to run it?
Does it execute generated code locally?
Can it publish outputs to GitHub?
Thanks — we use this to improve the page.