Long-running sessions made of durable agent threads, backed by Cloudflare sandboxes.
filepath is the orchestration layer that stays thin around the real primitives: Cloudflare sandboxes, your chosen harness, your chosen model, and your own router keys. The product surface is:
- a durable session
- a thread tree that organizes work like a filesystem
- a chat-first control surface
- real process visibility and a workspace terminal when the runtime supports it
- Each thread runs inside its own Cloudflare sandbox with its own filesystem and process space.
- The selected thread exposes real runtime processes in the UI.
- You can open a workspace terminal for a thread when the runtime supports it.
- Sessions reconnect cleanly to the same tree and history.
- Session state streams live across your own devices on the same account.
- Threads can hand files to each other explicitly.
- Threads can be moved and regrouped like files and folders.
- Sign up at https://myfilepath.com
- Add your router key in Settings → Provider Router Keys
- Get an OpenRouter key at https://openrouter.ai/keys
- Or get an OpenCode Zen key at https://opencode.ai/zen
- Create a session from the dashboard
- Spawn a thread — choose from the supported harnesses and use the exact model string from your router
- Send a message — chat is the thread's control surface
- Watch it work — process updates, tool calls, file writes, and explicit handoffs show up in the session
- Create a session (like a project folder). Optional git repo to clone.
- Spawn a thread — choose a supported harness and the exact model string your router exposes
- The thread runs in its own sandboxed runtime. Send it work through chat.
- The selected thread can show real runtime processes, and you can open a workspace terminal when available.
- Threads can spawn child threads, hand files across the tree, and be reorganized while the work stays live.
- Reopen the session on another device on the same account and keep going.
BYOK Model: You bring your own router key. We don't charge for usage — your keys, your spend.
SvelteKit (Svelte 5) + Cloudflare Workers + Agents SDK + D1 + CF Sandbox + Alchemy
- Session: the durable workspace
- Thread: one agent lane inside the tree
- Process: a live runtime process inside a thread's sandbox
Chat is always primary. Terminal attach is additive. filepath does not promise a universal "headful mode" for every harness.
Agents communicate via NDJSON over stdout/stdin. One JSON object per line, validated with Zod schemas.
This protocol keeps filepath thin — the harness can vary, but the orchestration surface stays consistent.
Container receives: repo at /workspace, task via FILEPATH_TASK env var, user messages on stdin.
Container emits: structured events to stdout — text, tool calls, commands, commits, spawn requests, status updates, handoffs.
Built-in agents (Shelley, Claude Code, Cursor, Codex, Amp) are reference implementations. BYO = bring a Dockerfile that speaks the protocol.
See NORTHSTAR.md for the protocol and long-range direction.
bun install
bun run dev # localhost:5173
bun run deploy # Alchemy (never wrangler)
bun run prd # Run gatesThis project uses deja for persistent memory across agent sessions.
Set DEJA_API_KEY in your .env (ask project owner for the key).
# Query memories at session start
curl -s -X POST https://deja.coey.dev/inject \
-H "Authorization: Bearer $DEJA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"context": "filepath current status", "format": "prompt", "limit": 7}'
# Store learnings after milestones
curl -s -X POST https://deja.coey.dev/learn \
-H "Authorization: Bearer $DEJA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"trigger": "when to surface", "learning": "what was learned", "confidence": 0.9}'- NORTHSTAR.md — protocol and long-range direction
- AGENTS.md — agent catalog, architecture, development rules
- docs/API-REFERENCE.md — API endpoints
- llms.txt — context for AI tools
See LICENSE.