使用说明
Scribble
A daily execution co-pilot that captures your day, detects drift, routes work, and provides lift when you need it. Stays portable and backup-friendly.
Mission
- Capture plans, actions, outcomes, energy/mood
- Detect drift (overcommitment, context-switching, avoidance)
- Route work (priorities, next actions, time blocks)
- Lift encouragement + friction reduction when you need it
- Portable local-first, DB exportable, minimal vendor lock-in
Non-goals
- Not a therapist or medical advisor
- Not a fully autonomous agent making commitments on your behalf
- Not "remember everything forever" (you define retention tiers)
Quick start
- MongoDB — Run MongoDB locally (e.g.
mongod) or setMONGO_URIfor Atlas. - Config — Copy
.env.exampleto.envand setMONGO_URI,SCRIBBLE_DBif needed. - Build —
npm install && npm run build - MCP server — Run
npm run mcp(stdio). Configure Cursor:- Option A: Copy
mcp-config.jsoninto Cursor’s MCP config (macOS:~/.cursor/config/mcp.json; merge themcpServersentry into your existing config). - Option B: In Cursor: Settings → Features → MCP → Add New MCP Server. Command:
node. Args:/Users/nikko/dev/scribble/dist/src/index.js(use your actual path). - Option C: If your project uses
.cursor/mcp.json, that file is already set up for this repo. - Ensure MongoDB is running and
npm run buildhas been run sodist/src/index.jsexists. - Env: The server loads
.envfrom the project root (so it works when Cursor spawns with a different cwd). If env still isn’t applied, add"env": { "MONGO_URI": "mongodb://localhost:YOUR_PORT", "SCRIBBLE_DB": "scribble" }to the scribble entry in your MCP config.
- Option A: Copy
MCP tools
| Tool | Purpose |
|---|---|
capture |
Inbox event → returns eventId |
triage_inbox |
Raw captures → task candidates + one question each |
plan_day |
Top 3 + runway + schedule suggestions (WIP limit 5) |
next_action |
One best next action (optional context/energy) |
checkin |
Morning/midday/evening checkin (energy, mood, stress, one win, one worry) |
reflect |
End-of-day recap + pattern notes + tomorrow seed |
weekly_review |
What moved, what didn’t, why |
search_memory |
Query events/tasks with sources (auditability) |
export_data |
Export events/tasks (jsonl or csv); events as primary |
create_task |
Create task from capture (after triage) |
get_lift_suggestions |
Intervention ladder (L1–L4) from checkins, overload, patterns |
sync_to_calendar |
Sync tasks to Apple Calendar (macOS) or export as .ics |
Calendar sync (Apple Calendar / .ics)
Sync Scribble tasks (today, top 3, week, or a specific date) to your local Apple Calendar or to an .ics file.
-
From Cursor: Use the
sync_to_calendartool.- target:
apple_calendar— adds events directly to Calendar.app (macOS). Creates a calendar named "Scribble" (or yourcalendarName) if it doesn’t exist. - target:
ics— generates iCalendar content (or write to a file withicsPath). - scope:
today(today’s due + top 3),top3(only top 3),week, orYYYY-MM-DD.
- target:
-
From CLI:
# Export today’s tasks to .ics (open in Calendar: File → Import) npm run calendar -- --target ics --scope today -o ~/Desktop/scribble.ics # Add today’s tasks to Apple Calendar (macOS) npm run calendar -- --target apple_calendar --scope today --calendar Scribble # Export this week npm run calendar -- --target ics --scope week -o ~/Desktop/scribble-week.ics -
Apple Calendar (macOS): Uses AppleScript to create events in Calendar.app. Each task becomes an event with start = due date and duration =
effortMinutes(default 30). No extra npm packages; requires Calendar.app. -
.ics: Works on any OS. Open the file in Calendar (File → Import) or double-click to add events.
Export (CLI)
node dist/src/cli/export.js --format jsonl --since 2025-01-01 -o backup.jsonl
node dist/src/cli/export.js --format csv --until 2025-01-31 --exclude-tags private_sensitive
Events are the primary truth; exports lead with events (JSONL).
Config
- Tags/contexts —
config/contexts.json(work, ampd, city, family, health, etc.) - Retention —
config/retention.json(ephemeral 7–30d, durable forever) - Templates —
config/templates/personal-ops-atc.json,config/templates/work-only.json
Data model (Mongo)
- events — type, payload, source, ts, timezone, confidence, tags (event-sourced primary truth)
- tasks — title, status (inbox/next/doing/waiting/done/someday), projectId, context, energyCost, effortMinutes, due, priority, why, createdFromEventId
- projects — name, goals, constraints, successMetric, stakeholders
- checkins — type (morning/midday/evening), date, energy, mood, stress, oneWin, oneWorry
- patterns — triggers, interventions, effectivenessScore (learned heuristics)
- assistant_templates — role, domains, tone, cadence, toolPermissions, retentionPolicy, escalationPolicy
Rules
- Top 3 — Max 3 outcomes/day; max 5 active “doing” (WIP limit)
- Checkin questions — Energy 1–5, Mood 1–5, Stress 1–5, One win, One worry
- Auditability —
search_memoryand suggestions return source (event/task ids) - User-controlled memory — Export and delete by tag/category
License
MIT