OpenLens Research Agent

Turn a dataset and one research idea into an autonomous multimodal research workflow.

Stars
★ 282
Last updated
2mo ago
License
MIT
Primary language
Python

At a glance

How it runs
CLIWeb app
Works with
Universal · cross-platformOpenAI API
Cost
Free software; you pay for model usage
Setup effort
High · needs real infrastructure
You'll need
Python 3.9+DockerCondaNode.jsPoetryLLM API keyTavily API keyShell / CLINetwork accessLocal filesystem
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

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.

  1. 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.
  2. A machine-learning researcher who needs literature review, experiment planning, code execution, and LaTeX writing coordinated in one LangGraph workflow.
  3. A statistician who wants to search related papers before analyzing a local dataset and packaging the result as a report.
  4. A team writing in Chinese that needs language = "chs" and a Docker environment with suitable fonts for Chinese paper writing.
  5. 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-ai

Pull 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-latest

Create an environment and install file1.agent:

conda create -n openlens python=3.12
conda activate openlens
cd modules/file1agent

pip 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 pip

pip 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?

Pros
  • 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.
Limitations
  • 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?

FollowAgents source review · FARS-2.1
Major gaps
46/ 100 5-point scale 2.3 / 5
Trust 11/29
Reliability 5/14
Adaptability 10/18
Convention 10/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust11 / 29 · 1.9/5

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.

Reliability5 / 14 · 1.8/5

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.

Adaptability10 / 18 · 2.8/5

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.

Convention10 / 18 · 2.8/5

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.

Effectiveness7 / 13 · 2.7/5

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.

Verifiability3 / 8 · 1.9/5

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.

Risks and how to mitigate them
  • 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.
Evidence confidence: Low Reviewed Nov 08, 2026 Reviewed revision 0ba2d11a9342
See the full review method →
Maintain this project? Add the FARS badge to your README

The badge shows the current review score and verdict and links back to this page. It refreshes about once an hour after a re-review.

FARS

[![FARS review](https://followagents.com/badge/openlens-ai.svg)](https://followagents.com/en/agents/openlens-ai)
<a href="https://followagents.com/en/agents/openlens-ai"><img src="https://followagents.com/badge/openlens-ai.svg" alt="FARS review"></a>

FAQ

Is OpenLens limited to medical research?
No. It is optimized for medical and AI research, but the project states that general domains such as software and machine learning are supported. The CLI documents --domain "medical" and --domain "general".
What credentials are required to run it?
At minimum, the prerequisites list an LLM service API key and a Tavily API key. The example configuration also includes endpoints and keys for a vision model and reranking model.
Does it execute generated code locally?
Generated code is executed with OpenHands, which requires the Docker runtime environment and the configured openlens-ai:runtime-latest image.
Can it publish outputs to GitHub?
Yes, optionally. Setting [git].repo_url pushes artifacts to that repository; when repo_url is empty and a token is configured, OpenLens may create a repository under the user's GitHub account and push there.
Was this page helpful?
View on GitHub ↗ Install ↓