⚡ At A Glance
- 🧭 Plan research around reusable templates instead of ad-hoc prompts.
- 🔬 Run tasks, inspect evidence, and review outputs in one workspace.
- 🧠 Build a file-backed knowledge base with indexing, recall, and compaction.
- 📦 Ship reusable outputs such as reports, slides, and module files.
📌 What ReAgent Is
ReAgent is not a chatbot with a few research buttons attached. It is a local research workspace for people who need to revisit topics, inspect evidence, preserve context, and ship useful outputs.
It is designed for workflows such as:
- 🧭 Defining reusable research templates with goals, background, and success criteria.
- 🔎 Running repeated discovery instead of restarting the same search every week.
- 📚 Reviewing papers, repo findings, feedback, and notes in one place.
- 🧠 Preserving working context across tasks instead of losing it inside chat history.
- 🧾 Turning research into reports, briefings, slides, and reusable artifacts.
✨ Highlights
| 🧭 | Research templates | Save a reusable setup for a topic before spending time or compute. |
| 🔬 | Research workspace | Run tasks, inspect progress, read reports, and manage outputs in one page. |
| 🧠 | Research notes | Keep durable notes outside chat so context survives across sessions. |
| 🗺️ | Research map | Trace how topics, evidence, reports, and files connect. |
| 📦 | Reusable outputs | Produce topic reports, slides, module files, and other shareable artifacts. |
| 🔌 | Multi-surface access | Use the web UI, WeChat, and OpenClaw plugin without splitting the workflow. |
| ⚙️ | Local runtime control | Inspect channels, sessions, models, skills, logs, and deployment posture locally. |
🧠 How The Knowledge Base Is Built
ReAgent's knowledge base is file-backed first, then indexed for recall.
- 📝 Long-term notes are stored in
MEMORY.md.
- 🗓️ Daily notes are stored in
memory/YYYY-MM-DD.md.
- 🗂️ Every saved note is indexed into
memory-index.json with title, snippet, source, confidence, tags, entity IDs, and timestamps.
- 🔎 Search works on real workspace files, while recall can merge indexed workspace memory with durable artifacts such as research templates, topic reports, and presentations.
- ♻️ Direction reports can flush high-signal summaries back into memory, so later tasks can recall them as context.
- 🧹 Memory policy lives in
memory-policy.json, and older daily notes can be compacted into long-term summaries.
- 🧾 Every compaction is recorded in
memory-compactions.json, so the history of what was folded and why remains visible.
The practical result is a local knowledge base with four layers working together:
- 📄 Raw Markdown notes for direct inspection.
- 🗃️ Indexed metadata for fast recall.
- 📚 Durable research artifacts that can also be recalled.
- 🧹 Compaction history and policy so memory does not become unmanageable over time.
🖥️ Product Surfaces
The current web UI is organized around a small set of working surfaces:
- 🏠
Workbench: current progress, latest results, and common next actions.
- 💬
Main Workspace: chat, quick research actions, recent tasks, and current workspace context.
- 📈
Status: activity, latest outputs, and system health.
- 🔬
Research Workspace: templates, task lists, reports, schedules, topic reports, slides, and module files.
- 🗺️
Research Map: how topics, evidence, reports, and files connect.
- 🧠
Research Notes: search, save, and reopen file-backed notes.
- 🔌
Channels: WeChat login, connection status, lifecycle changes, and channel events.
- 🤖
Agent Settings and Skills: choose the role, model, and tool access used by chat.
Single CLI Surface
The browser UI mirrors this CLI-first runtime surface. The Runtime & Delivery and Runtime Logs panels are intended as observability and copy-friendly control panels, not as a separate control plane.
ReAgent is converging on reagent as the only required control surface.
- Use
reagent service ... to control the supervised runtime and reagent runtime ... to inspect it.
- Use
reagent research ... for tasks, directions, discovery, graph inspection, reports, and artifacts.
- Use
reagent channels ..., reagent memory ..., reagent config ..., and reagent plugins ... for the rest of the workspace runtime.
- Treat the web UI as an optional inspection surface that mirrors the CLI runtime surface, not the only place where state can be changed.
reagent gateway ..., reagent status, reagent health, and reagent logs still work as compatibility aliases.
Common CLI flows:
reagent service run
reagent runtime status
reagent runtime logs --follow
reagent research recent
reagent research tasks
reagent research directions
reagent channels status
reagent memory recall "recent research choices"
reagent config validate
🚀 Quick Start
- 📄 Create a local env file from
.env.example.
- 📦 Install dependencies.
- 🗃️ Push the Prisma schema to the default SQLite database.
- ▶️ Start the dev server.
npm install
npm run db:push
npm run dev
🌐 Open http://127.0.0.1:3000/.
🧪 Minimal local setup:
LLM_PROVIDER=fallback
WECHAT_PROVIDER=mock
🪟 If PowerShell blocks npm, use npm.cmd instead.
🧰 Global CLI install:
npm install -g @sinlair/reagent
reagent init
reagent service run
🏷️ The published package name is @sinlair/reagent, while the installed command is reagent.
From there, stay inside the CLI:
reagent runtime status
reagent runtime logs --follow
reagent research recent
reagent research graph report
reagent channels login
reagent plugins list
🔁 Always-on gateway lifecycle:
reagent service install
reagent service status
reagent service restart
reagent service stop
🔄 Run Modes
The root app can run as a foreground dev process or as an always-on background service.
| 🧪 | Development | npm run dev | Local development with live reload |
| ♾️ | PM2 | npm run pm2:start / npm run pm2:restart / npm run pm2:logs | Keep the app running in the background |
| 🪟 | Windows Service | npm run service:install / npm run service:status / npm run service:start / npm run service:stop | Machine-level runtime on Windows |
See OPERATIONS.md for deployment and maintenance details.
🗂️ Repository Layout
✅ Development
Validation:
npm run check:all
npm run test
If you only want to validate the publishable packages:
npm run build:packages
npm run check:packages
🔌 OpenClaw Plugin
Install the ReAgent OpenClaw plugin with:
openclaw plugins install @sinlair/reagent-openclaw --yes
Plugin source lives in packages/reagent-openclaw/.
📚 Documentation
🙌 Inspiration
ReAgent is shaped by research-agent and research-workspace projects such as:
For a closer comparison, see docs/research-agent-landscape.md.
📄 License
Released under the MIT License.