GitPedia

Research claw

A self-hosted AI assistant for academic research — manages your papers, searches literature, tracks deadlines, and answers you on the channels you already use.

From nanoAgentTeam·Updated June 12, 2026·View on GitHub·

Manage papers · search literature · track deadlines · collaborate across channels The project is written primarily in Python, distributed under the MIT License license, first published in 2026. Key topics include: academic-writing, ai-agent, arxiv, autonomous-agents, feishu-bot.

<div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="README/images/logo-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="README/images/logo.svg"> <img alt="Research Claw" src="README/images/logo.svg" width="380"> </picture> <h3>Your self-hosted AI research assistant</h3> <p>Manage papers &middot; search literature &middot; track deadlines &middot; collaborate across channels</p> <p> <a href="https://www.python.org/downloads/"><img alt="Python 3.11+" src="https://img.shields.io/badge/Python-3.11+-3776AB?logo=python&logoColor=white"></a> <a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-green.svg"></a> <a href="#getting-started"><img alt="OS: Linux | macOS | Windows (WSL)" src="https://img.shields.io/badge/OS-Linux%20%7C%20macOS%20%7C%20Windows%20(WSL)-blue"></a> <a href="https://github.com/nanoAgentTeam/research-claw/pulls"><img alt="PRs Welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg"></a> </p> <p> <a href="#getting-started"><b>Quick Start</b></a> &nbsp;&middot;&nbsp; <a href="#key-features"><b>Features</b></a> &nbsp;&middot;&nbsp; <a href="#how-it-works"><b>How It Works</b></a> &nbsp;&middot;&nbsp; <a href="#documentation"><b>Docs</b></a> </p> <p><b>English</b> &nbsp;|&nbsp; <a href="README_zh.md">中文</a></p> </div> <div align="center">

https://github.com/user-attachments/assets/4bb9cdb6-6e4f-4325-9307-a8518d225761

<sub>Real user demo · Mobile · Powered by GLM-5<br>
Papers produced: <a href="https://nanoagentteam.github.io/assets/autonomous-multi-agent-survey.pdf">LLM-Based Autonomous Multi-Agent Systems Survey</a> · <a href="https://nanoagentteam.github.io/assets/hierarchical-memory-mas.pdf">Hierarchical Memory Sharing in MAS</a></sub>

</div>

Table of Contents

What is Research Claw?

Research Claw is a personal AI research assistant you run on your own machine. It manages your LaTeX projects, syncs with Overleaf, searches literature, tracks deadlines — and answers you on the channels you already use (CLI, Web UI, Telegram, Feishu, QQ, DingTalk).

Instead of switching between your editor, Overleaf, terminal, and search engine, you talk to one assistant that handles it all:

You: Create a paper project "MoE-Survey" and link it to Overleaf.
Bot: ✅ Project created. Overleaf linked. Switched to MoE-Survey.

You: Research the latest MoE papers and draft an introduction.
Bot: 🔎 Searching arXiv... 📝 Writing introduction... ✅ Compiled successfully.

You: /sync push
Bot: ✅ Pushed 3 files to Overleaf.
<p align="center"> <img src="README/images/cli_en.png" width="720"> <br><em>Interactive CLI session</em> </p>

Key Features

<table> <tr> <td width="50%" valign="top">

:writing_hand: Writing & Compilation

  • Read, write, and refactor .tex / .bib files through chat
  • One-command LaTeX compilation with auto error diagnosis
  • Built-in venue skills — NeurIPS, ICML, ICLR, AAAI, ACL, CVPR…
</td> <td width="50%" valign="top">

:arrows_counterclockwise: Overleaf & Git

  • Bidirectional Overleaf sync — pull edits, push changes
  • Every AI edit auto-committed to Git — roll back in seconds
  • Interactive /git mode for history, diff, and rollback
</td> </tr> <tr> <td width="50%" valign="top">

:busts_in_silhouette: Multi-Agent Collaboration

  • Delegate research, writing, and review to specialized sub-agents
  • Sub-agents work in isolated sandboxes — no accidental overwrites
  • /task mode decomposes goals into a DAG and executes in parallel
</td> <td width="50%" valign="top">
  • arXiv, PubMed, OpenAlex integration
  • Full-text PDF reading for in-depth analysis
</td> </tr> <tr> <td width="50%" valign="top">

:satellite: Research Radar & Automation

  • Scheduled tasks track your field — new papers, trends, deadlines
  • Daily scans, weekly digests, direction-drift detection
  • Push to Telegram, Feishu, DingTalk, Email, or any Apprise channel
</td> <td width="50%" valign="top">

:brain: Memory & Context

  • Project-level memory across sessions
  • Automated context summarization within token limits
  • Memory-powered automation for continuity
</td> </tr> <tr> <td colspan="2" align="center">

:globe_with_meridians: Access Anywhere

Web UI  •  CLI  •  Feishu (Lark)  •  Telegram  •  QQ  •  DingTalk — no public IP required

</td> </tr> </table> <details> <summary><strong>Feature Tour (video)</strong></summary> <br>

https://github.com/user-attachments/assets/fccb837c-cfc5-4063-b803-2ae900fb4a20

</details>

Getting Started

1. Install

Linux / macOS:

bash
git clone https://github.com/nanoAgentTeam/research-claw.git cd research-claw python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
<details> <summary><strong>Windows Users (via WSL)</strong></summary>

Research Claw relies on POSIX features (signal handling, process management, etc.) and does not run natively on Windows. The recommended approach is WSL2 (Windows Subsystem for Linux) — it runs a real Linux kernel, so networking, filesystem, and process management all behave natively. No code changes needed.

Step 1: Install WSL2

Run in PowerShell (Administrator):

get download list: wsl --list --online

NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS

Choose a version to install.

powershell
wsl --install -d Ubuntu-20.04

Reboot after installation. On first launch you'll be asked to create a username and password.

Step 2: Install Python 3.11

bash
sudo apt update && sudo apt install -y python3.11 python3.11-venv python3-pip git

Step 3: Clone and install

bash
# Recommended: keep code on the Linux filesystem for better performance git clone https://github.com/nanoAgentTeam/research-claw.git ~/research-claw cd ~/research-claw python3.11 -m venv .venv source .venv/bin/activate pip install -r requirements.txt

Performance tip: Do not run the project under /mnt/c/. Cross-filesystem IO between WSL and Windows is ~3-5x slower. Keep code under ~/ for near-native Linux performance.

Networking & ports: WSL2 networking (API calls, web search, academic search) works out of the box. When running in Gateway mode, Windows browsers can access the Web UI at http://localhost:18790 — ports are forwarded automatically.

Browser automation (optional): If you need the browser_use tool, install Chromium:

bash
# Option A: install directly sudo apt install -y chromium-browser # Option B: via playwright pip install playwright && playwright install --with-deps chromium

Windows 11 includes WSLg for GUI support; on Windows 10 headless mode works fine.

</details>

2. Configure

bash
# Start the gateway — this launches the Web UI python cli/main.py gateway --port 18790

Open http://localhost:18790/ui in your browser:

  1. Provider Management — Add your LLM provider (API Key, model name, base URL). Any OpenAI-compatible API works (GPT, DeepSeek, Qwen, Claude, etc.)
  2. Channel Accounts(optional) Add IM bot credentials (Feishu / Telegram / QQ / DingTalk)
  3. Push Subscriptions(optional) Configure where automation results get delivered

All settings are stored in settings.json. Advanced users can edit this file directly — see Configuration Reference.

<p align="center"> <img src="README/images/configui_en.png" width="720"> <br><em>Web UI — Provider & Channel configuration</em> </p>

3. Overleaf Authorization (optional)

Overleaf sync enables bidirectional sync between your local LaTeX project and Overleaf — every AI edit can be pushed, and every collaborator's edit can be pulled.

bash
python cli/main.py login

This will prompt you to choose an Overleaf instance:

OptionInstanceRequired package
1Overleaf (default)pip install overleaf-sync
2CSTCloud (China Science & Technology Cloud)pip install PySide6 (built-in, browser login only)

The login command will call the corresponding login tool, generate .olauth, and save the instance config to settings.json.

Once .olauth is created, the system auto-detects it. Use /sync pull and /sync push inside any project.

4. Run

Option A — CLI — interact directly in your terminal:

bash
python cli/main.py agent

Option B — Gateway — Web UI + IM channels, chat from anywhere:

bash
python cli/main.py gateway --port 18790

How It Works

Architecture

mermaid
graph TB subgraph Channels["Access Channels"] direction LR CLI["CLI"] WebUI["Web UI"] Feishu["Feishu"] TG["Telegram"] QQ["QQ"] DT["DingTalk"] end Channels --> MB["MessageBus"] MB --> AL["AgentLoop — Main Agent"] AL --> CR["CommandRouter"] AL --> CM["ContextManager"] AL --> TR["ToolRegistry (40+ tools)"] AL --> SA["Sub-Agents (Workers)"] TR --> Proj["Project\nGit · LaTeX · Overleaf"] TR --> LLM["LLM Provider\nOpenAI-compatible · Hot-swap"] TR --> Auto["Automation\nScheduled cron jobs"]

Workspaces

The system has two spaces:

Default (Lobby)Project (Workspace)
PurposeCreate, list, switch projectsWork on a specific paper
Available toolsProject management (create, import from Overleaf), Overleaf listFile editing, LaTeX compile, Git, Overleaf sync, sub-agents, literature search
workspace/
├── Default/                    # Lobby — project management & chat
└── MyPaper/
    ├── project.yaml            # Project config
    ├── MyPaper/                # Core directory (LaTeX files + Git repo)
    │   ├── main.tex
    │   └── references.bib
    └── 0314_01/                # Session (conversation history, sub-agent workspace)

Commands

CommandWhat it does
/helpShow all available commands
/listList local projects in workspace
/olistList remote Overleaf projects
/switch <name>Switch to a project
/task <goal>Decompose a complex goal into sub-tasks, execute in parallel
/startApprove the task plan and begin execution
/doneEnd current TASK session and return to normal mode
/resumeShow failed or interrupted tasks
/resume <task-name>Resume a failed or interrupted task
/compileCompile LaTeX to PDF
/sync pullPull latest files from Overleaf
/sync pushPush local changes to Overleaf
/sessionList sessions in the current project
`/session <session-namenumber>`
/gitEnter interactive Git mode (history, diff, rollback)
/stopForce-cancel the current operation
/resetClear current session history
/backReturn to Default lobby

Task Mode

For multi-step goals, /task decomposes work into a 5-phase multi-agent pipeline:

1. You type:  /task Write a survey on Mixture-of-Experts

2. [UNDERSTAND]  Bot reads your project files automatically.

3. [PROPOSE]     Bot shows you a proposal (scope, deliverables, approach).
   → Review it. Reply with feedback to revise, or say "ok" to proceed.

4. [PLAN]        Bot shows you a task DAG (sub-tasks, dependencies, assigned agents).
   → Review it. Reply with changes, or type /start to begin execution.

5. [EXECUTE]     Sub-agents run tasks in parallel batches. Real-time progress:
                 📦 Batch 1 | 2 tasks in parallel: [t1, t2]
                 ✅ Batch 1 complete (45s) — Progress: 2/8
                 ...

6. [FINALIZE]    Bot merges all worker outputs and commits.
   → Type /done to exit task mode.
<details> <summary><strong>Phase details</strong></summary>
PhaseWhat the bot doesWhat you do
UNDERSTANDReads project files to understand contextNothing — automatic
PROPOSEGenerates a proposal via task_proposeReview and reply with feedback, or confirm
PLANBuilds a task DAG via task_buildReview, optionally adjust, then type /start
EXECUTERuns sub-agents in parallel batches via task_executeWait — progress is streamed to you
FINALIZEMerges outputs and commits via task_commitType /done to exit task mode
</details> <p align="center"> <img src="README/images/task_en.png" width="720"> <br><em>Task mode — parallel sub-agent execution</em> </p>

Multi-Agent Collaboration

You: "Write a paper about MoE"

Main Agent:
  1. Creates "researcher" sub-agent → searches literature in sandbox
  2. Creates "writer" sub-agent → drafts sections in sandbox
  3. Reviews and merges outputs into project
  4. Compiles and syncs to Overleaf

Sub-agents work in isolated overlay directories. Their outputs go through a merge process before touching the project core — no accidental overwrites.

Automation & Research Radar

Each project can have scheduled tasks that run automatically via cron expressions. Configure them through the Web UI's Automation tab or via project.yaml.

<details> <summary><strong>Built-in radar jobs</strong> (auto-created when a project has no active radar)</summary>
JobWhat it doesDefault Schedule
Daily ScanSearch for new papers in the project's research area, summarize findingsEvery morning
Direction DriftDetect if the research field is shifting, alert on emerging trendsDaily
Deadline WatchTrack upcoming conference deadlines relevant to the projectDaily
Conference TrackMonitor new calls-for-papers from target venuesWeekly
Weekly DigestCompile a weekly summary of all radar findingsMonday morning
Profile RefreshUpdate the project's research profile based on latest editsDaily
AutoplanReconcile and adjust radar job schedules based on project stateTwice daily
</details>

How it works: Gateway starts APScheduler → each job fires at its cron schedule, spawns an agent session → agent reads project memory, runs searches, writes findings → results pushed to configured channels (Telegram, Feishu, Email, etc.).

<p align="center"> <img src="README/images/auto_en.png" width="720"> <br><em>Automation dashboard — radar jobs & push notifications</em> </p>

Configuration Reference

All runtime config lives in settings.json (managed via Web UI, or edit directly):

SectionPurpose
provider.instancesLLM providers — API key, base URL, model name
channel.accountsIM bot credentials
gatewayWeb UI host & port
featuresToggle history, memory, auto-summarize, etc.
toolsWeb search & academic tool API keys
pushSubscriptionsAutomation notification routing
<details> <summary><strong>Other config files</strong></summary>
FilePurpose
config/tools.jsonTool registry (class paths, parameters, permissions)
config/commands.jsonSlash command definitions
config/agent_profiles/Agent role profiles (tools available per role)
workspace/{project}/project.yamlPer-project settings (Overleaf ID, LaTeX engine, Git)
</details>

Skills

Skills are domain-specific SOPs the agent activates on demand. Add a custom skill by creating a folder under config/.skills/:

config/.skills/
└── my-skill/
    ├── SKILL.md          # Required — skill definition (YAML frontmatter)
    └── templates/        # Optional — resource files

The system auto-discovers all skill folders at startup — no registration needed.

Documentation

Guide
Project OverviewEnglish
Workspace & SessionsEnglish
Agent CollaborationEnglish
Isolation & SecurityEnglish
Git Version ControlEnglish
Overleaf SyncEnglish
Usage GuideEnglish
Configuration & Quick StartEnglish
Web UI GuideEnglish

IM Setup: Feishu · Telegram · QQ · DingTalk

Push Subscriptions: Configuration Guide

Contributing

Contributions are welcome! Feel free to:

  • Open an Issue for bugs or feature requests
  • Submit a Pull Request with improvements
  • Improve documentation or add new venue skill templates

License

MIT License — free for academic and commercial use.

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from nanoAgentTeam/research-claw via the GitHub API.Last fetched: 6/16/2026