Skip to content

acoyfellow/filepath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

549 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

filepath

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

What Is True Today

  • 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.

Quick Start

  1. Sign up at https://myfilepath.com
  2. Add your router key in Settings → Provider Router Keys
  3. Create a session from the dashboard
  4. Spawn a thread — choose from the supported harnesses and use the exact model string from your router
  5. Send a message — chat is the thread's control surface
  6. Watch it work — process updates, tool calls, file writes, and explicit handoffs show up in the session

How It Works

  1. Create a session (like a project folder). Optional git repo to clone.
  2. Spawn a thread — choose a supported harness and the exact model string your router exposes
  3. The thread runs in its own sandboxed runtime. Send it work through chat.
  4. The selected thread can show real runtime processes, and you can open a workspace terminal when available.
  5. Threads can spawn child threads, hand files across the tree, and be reorganized while the work stays live.
  6. 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.

Stack

SvelteKit (Svelte 5) + Cloudflare Workers + Agents SDK + D1 + CF Sandbox + Alchemy

Thread Model

  • 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.

The filepath Agent Protocol (FAP)

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.

Development

bun install
bun run dev          # localhost:5173
bun run deploy       # Alchemy (never wrangler)
bun run prd          # Run gates

Agent Memory (Deja)

This 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}'

Documentation

License

See LICENSE.

About

Terminal session sharing platform with AI coding agents

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors