ReMe/docs/en/quick_start.md
imrewce 354837f9af
feat(proactive): separate proactive refresh from auto dream (#488)
* refractor(proactive): upgrade proactive feature with disentangled job and steps

* refactor(proactive): apply audit fixes

- rename read-side job 'proactive' -> 'proactive_read' (less confusing vs the refresh pipeline)
- drop dedicated agent_wrapper.proactive; extraction reuses the default wrapper
- simplify schema: remove unused ProactiveExtractOutput/TopicUpdate, drop resource_paths
- extract no longer scans resource/ directly (daily notes already carry resource content)
- update tests and docs accordingly

* feat(proactive): strict extract-output gate and prompt total budget

- parse_extract_reply now requires a contract section (follow_ups/extends/updates
  as a list); non-empty replies with misspelled section names trigger the
  existing one-shot retry instead of silently checkpointing changed files
- pack_paths gains max_total_chars; extract packs newest daily material first,
  keeps the first file on overflow, and records omitted files in a trailer
  (default budget 300000 chars, configurable via max_total_chars)
- tests: schema gate unit, schema-error retry e2e, budget unit + e2e

* feat(proactive): add scenario-card plan step and generative agenda step

* feat(proactive): digest-personal profile personalization and leaner LLM contract

- extract/plan/agenda now draw a user profile block from <digest_dir>/personal/*.md
  (frontmatter description + body excerpt, per-file budget, profile.md fallback)
- all daily access honours the configured daily_dir (prompt paths parameterized,
  config-driven fallbacks) so workspaces using e.g. memory/ work unchanged
- schema trim: drop dead fields errors/material_paths, carry_forward_all -> count
- shrink LLM output contract: new topics emit title/reason/confidence/paths only;
  keywords removed end-to-end, evidence derived from paths[0] (updates keep it)

* fix(proactive): skip checkpoint when extract reply stays unusable after retry

Two consecutive unparseable replies now short-circuit the round without
checkpointing, so the same material is retried next round instead of being
silently consumed (closes the residual audit #1 gap: the structural gate
detected schema-wrong output but a double failure still checkpointed).

* fix(proactive): replace running bool with reference-counted job activity tracker for the idle gate

* refactor(proactive): remove job activity tracking and idle gate, restore job tree to upstream

* fix(proactive): address second audit round (readonly reader, mtime checkpoint, wider fallbacks, profile containment, horizon content, expiry boundary)

* refactor(dream): strip interests.yaml ownership from dream, proactive is now the sole writer

* refactor(dream): separate proactive topic generation

* ci: update renamed auto dream smoke test

* fix(proactive): complete refresh migration and docs

---------

Co-authored-by: jinli.yl <jinli.yl@alibaba-inc.com>
2026-09-07 17:23:37 +08:00

6.6 KiB

title description
Quick Start Install and start ReMe, then complete a first file, retrieval, and automatic-memory workflow.

Quick Start

This page gets one working loop running. See Configuration for the full configuration contract and Services and Deployment for HTTP or MCP integration.

Installation

ReMe requires Python 3.11+.

Install from pip:

pip install "reme-ai[core]"

Install from source:

git clone https://github.com/agentscope-ai/ReMe.git
cd ReMe
pip install -e reme_studio -e ".[core]"
cd reme_studio
npm ci
npm run build:static
cd ..

The static build step requires Node.js 22.13 or newer and makes Studio available when running ReMe from the source tree.

Installing the core extra is recommended. The current code imports the AgentScope wrapper, and self-evolving memory also depends on it.

To use agent workflows such as auto_memory, auto_resource, auto_dream, and proactive refresh, configure an LLM:

cat > .env <<'EOF'
LLM_BACKEND=openai
LLM_MODEL_NAME=qwen3.7-plus
LLM_API_KEY=your_api_key
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
EOF

You can initially omit the LLM configuration if you only need basic file operations and BM25 retrieval.


Start the Service

reme start

The default service address is 127.0.0.1:2333. If the port is already in use:

reme start service.port=8181
reme version
reme health_check
reme help

reme help lists server actions. Ordinary commands invoke server Jobs over HTTP.

The base reme-ai package does not include frontend assets. Install reme-ai[web] or reme-ai[core], then open http://127.0.0.1:2333/ for ReMe Studio. It uses the same service to browse, edit, and search the workspace and inspect the digest wikilink graph. Disable it with service.web_enabled=false, or provide a custom build with service.web_static_dir / REME_WEB_STATIC_DIR. The Job API still starts if no web build is found.


Workspace Layout

The default workspace is .reme/ under the current directory. It is created automatically at startup:

.reme/
├── metadata/   # persistent indexes, graph, catalogs, and related state
├── session/    # source conversation records
├── mem_session/ # generated Agent wrapper sessions/config
├── resource/   # external resources
├── daily/      # daily notes
└── digest/     # long-term memory

For directory layers, Markdown frontmatter, and wikilink semantics, see Memory as File.

You can also specify the workspace at startup:

reme start workspace_dir=/tmp/reme-demo service.port=8181

reme write \
  path=digest/wiki/quick-start-demo \
  name="Quick Start Demo" \
  description="Example memory for the quick start" \
  content="# Quick Start Demo

The default live watcher indexes Markdown under the daily and digest directories.

Related link: [[digest/wiki/search-demo.md]]"

path is relative to the workspace. A missing suffix is automatically completed with .md. For Markdown files, name and description are written to frontmatter.

The background watcher ingests workspace files automatically. You can manually rebuild the derived BM25 and embedding indexes from the chunks it has already ingested:

reme reindex

This command does not scan workspace files, rechunk content, or rebuild the wikilink graph.

Search:

reme search query="quick start example memory" limit=5

Read:

reme read path=digest/wiki/quick-start-demo start_line=1 end_line=20

With the default configuration, retrieval is primarily BM25 plus wikilink graph expansion. Vector retrieval is supported by the code, but the embedding store is disabled by default. For the full retrieval flow, see Memory Search.


Files and Daily Notes

reme stat path=digest/wiki/quick-start-demo
reme edit path=digest/wiki/quick-start-demo old="indexes" new="continuously indexes"
reme frontmatter_read path=digest/wiki/quick-start-demo
reme frontmatter_update path=digest/wiki/quick-start-demo metadata='{"tags":["demo"]}'

The file-listing Job can be called directly from the CLI:

reme list path=digest recursive=true limit=50

The equivalent HTTP call is:

curl -s http://127.0.0.1:2333/list \
  -H 'Content-Type: application/json' \
  -d '{"path":"digest","recursive":true,"limit":50}'

Daily notes:

reme write path=daily/2026-06-20/demo-session.md name=demo-session description="Demo session" content="Recorded content"
reme daily_list
reme daily_reindex

write can create a daily note directly. Run daily_reindex when the day's index needs to be refreshed.


Automatic Memory

reme auto_memory \
  session_id=chat-demo \
  messages='[{"role":"user","content":"I prefer to preserve project experience as Markdown."},{"role":"assistant","content":"Recorded."}]' \
  memory_hint="Record the user's preference"

After placing external material under resource/YYYY-MM-DD/ or directly under resource/, the default background task watches text resources (md/txt/json/jsonl/csv/yaml/html) and image resources (png/jpg/jpeg/webp/gif/bmp/tiff/heic). You can also trigger processing manually:

reme auto_resource changes='[{"path":"resource/2026-06-20/report.md","change":"added"}]'

Distill daily notes into long-term digest memory:

reme auto_dream date=2026-06-20
reme proactive_read date=2026-06-20

These flows require a working LLM. Without an LLM configuration, start with basic capabilities such as write, read, and search.

For more detail, see Auto Memory, Auto Resource, Auto Dream, and Proactive.


HTTP and Configuration

Every service-enabled Job is exposed as POST /<job>:

curl -s http://127.0.0.1:2333/version \
  -H 'Content-Type: application/json' \
  -d '{}'

curl -s http://127.0.0.1:2333/search \
  -H 'Content-Type: application/json' \
  -d '{"query":"quick start","limit":5}'

The default configuration comes from reme/config/default.yaml. Override it at startup with dot notation:

reme start \
  workspace_dir=/tmp/reme-demo \
  service.host=127.0.0.1 \
  service.port=8181 \
  enable_logo=false

You can also specify a YAML or JSON configuration file:

reme start config=/path/to/custom.yaml

Continue with the CLI Reference, Job API Reference, or Diagnostics, Backup, and Recovery.