Projects & Todos
OpenClaw memory plugin with projects, todos, and contacts integration. Structured task management.
Tags: productivity, task-management, tool
Use Cases
- Solo founder managing multiple product backlogs with AI-assisted prioritization
- Development team using OpenClaw for daily standup summaries from project data
- Agent-driven contact management with automated follow-up scheduling via SMS/email
- Long-term memory storage with semantic search for context-rich agent conversations
- Sprint planning and progress tracking through natural language interactions
- Cross-project dependency tracking and bottleneck identification
Tips
- Use docker compose -f docker-compose.quickstart.yml for easy local development
- Pin to exact version tags (e.g., :0.0.61) rather than :latest for production stability
- Run the setup wizard (./scripts/setup.sh) to auto-generate your .env with random secrets
- Check deployment docs for Traefik TLS setup with automatic Let's Encrypt certificates
- Use the dependency graph to let your agent understand task blocking relationships
- Pair with OpenClaw cron jobs for automated daily project status reports
- Use --non-interactive flag for CI/unattended setup
Known Issues & Gotchas
- The backend service must be running separately — it's not embedded in OpenClaw
- Docker Compose quickstart disables auth by default — enable it for production
- The :edge Docker tag is unstable — always use versioned tags in production
- pgvector extension setup can be tricky on some Postgres distributions
- Magic-link login URLs expire after 15 minutes
- Upgrading requires checking compose file version compatibility
- Backup procedures must be configured separately for the Postgres database
Alternatives
- Obsidian Plugin
- Notion Plugin
- OpenClaw Memory (built-in)
Community Feedback
This is not part of OpenClaw itself — it's an independent project that OpenClaw agents can connect to via the plugin. The full dependency graph across all item types is what sets it apart.
— GitHub
The Postgres-backed approach is overkill for most people, but if you're running OpenClaw as a serious productivity tool, having real relational data beats markdown files every time.
— Reddit r/selfhosted
Using Obsidian + OpenClaw as my second brain... but for structured project management, the troykelly projects plugin is the way to go if you need real task hierarchies.
— Reddit r/openclaw
Frequently Asked Questions
Do I need to run a separate server for this plugin?
Yes. Unlike most OpenClaw plugins, Projects & Todos requires a separate Postgres-backed backend service running via Docker Compose. The OpenClaw plugin connects to this backend via API.
Can I use this without Docker?
Technically yes — you can run the Node.js backend directly with a Postgres 18 instance that has pgvector installed. However, Docker Compose is the recommended and simplest path.
How does the semantic memory search work?
The plugin uses pgvector to store embedding vectors alongside memory entries in Postgres. When searching, it computes semantic similarity to find relevant memories even when exact keywords don't match.
Is authentication required?
Auth is disabled by default in the quickstart compose for easy development. For production, you should enable API key authentication and use the magic-link dashboard login (15-minute link, 7-day sessions).
What's the difference between this and OpenClaw's built-in memory?
Built-in memory is file-based and simple. This plugin provides structured relational data (projects → initiatives → epics → tasks), dependency graphs, contacts, and communications — a full project management backend.
Can multiple OpenClaw instances share the same Projects backend?
Yes. The backend is a standalone REST API, so multiple OpenClaw instances can connect to it simultaneously with proper API key authentication and role-based access.
Configuration Examples
Basic Docker Quickstart
# Clone and start:
git clone https://github.com/troykelly/openclaw-projects
cd openclaw-projects
./scripts/setup.sh
docker compose -f docker-compose.quickstart.yml up -d
curl http://localhost:3000/healthProduction with Traefik TLS
# Generate production .env:
./scripts/setup.sh
# Edit .env with DOMAIN, ACME_EMAIL, DNS credentials
docker compose -f docker-compose.traefik.yml up -dOpenClaw Plugin Configuration
plugins:
projects:
enabled: true
apiUrl: https://projects.yourdomain.com
apiKey: your-secure-api-keyInstallation
openclaw plugins install @troykelly/openclaw-projects