@researchlog/app
v0.3.1
Published
App-driven transparent research log: an agent does the research, you judge it.
Readme
Research Log
A transparent research log: you create a topic, an agent does the web research and records every source it opens — URL, what it looked for, a neutral summary, separate relevance/credibility ratings (each with a rationale), and an honest judgement. You review, comment, and re-run; the agent reads your comments and continues.
Quick start
npx @researchlog/appThen open http://127.0.0.1:3100.
That's the whole app — REST API, the agent's MCP server, the live WebSocket feed, an embedded database, and the web UI — in one local process bound to loopback.
Prerequisite: the claude CLI
Real research runs spawn your local claude CLI,
so it must be installed and authenticated (claude on your PATH). Runs use your own
subscription quota. Use the "Check Claude Code" button in the top bar to confirm the CLI
is installed and signed in before you start a run. To try the app without an LLM, use
the scripted adapter:
CONRES_ADAPTER=fake npx @researchlog/appWhere your data lives
A ./.research-log/ directory is created in whatever folder you run the command from — it
holds the entire database. Delete it to reset; back it up to keep your research. Point it
elsewhere with CONRES_DATA_DIR.
Configuration
| Variable | Default | Purpose |
|---|---|---|
| CONRES_PORT | 3100 | Server port |
| CONRES_HOST | 127.0.0.1 | Bind host (loopback). Non-loopback is refused unless auth is on. |
| CONRES_DATA_DIR | ./.research-log/pglite | Database directory (memory:// for in-memory) |
| CONRES_ADAPTER | claude_local | claude_local (real CLI) or fake (no LLM) |
| CONRES_CLAUDE_BIN | claude | Path to the claude binary |
| CONRES_AUTH_MODE | local_trusted | local_trusted (no login, loopback-only) or authenticated |
Exposing it past your own machine
By default the server binds to loopback and refuses to bind a public host — so an open board is never exposed by accident. To expose it (LAN, tunnel, etc.), turn on auth:
CONRES_AUTH_MODE=authenticated \
CONRES_AUTH_PASSWORD_HASH=... \
CONRES_SESSION_SECRET=... \
CONRES_HOST=0.0.0.0 \
npx @researchlog/appA single board password (gate every request via a signed, httpOnly session cookie) is the
one human-facing credential. The agent's MCP write endpoint is always loopback-only,
regardless of mode. Set a stable CONRES_SESSION_SECRET so sessions survive restarts.
