Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
pi-durable 스토어의 전사, 작업 그래프, 문서, 비용 및 시간을 하나의 타임라인에서 확인
See the transcript, task graph, documents, cost and times of a pi-durable store on one timeline. It never writes to your store, even one a live process owns.
개발 도구TypeScript · JavaScriptGitHub @dggc가동 상태 재확인 필요운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Local, read-only inspector for pi-durable storage: transcript, task graph, documents, cost and time on one timeline.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Point durable-lens at the SQLite file or JSONL directory of a pi-durable harness, running or not. It shows the transcript, the task graph, the documents, and what every turn cost and how long it took, on one timeline. It never runs your harness and never writes to your store, so you can point it at one a live process owns.
durable-lens needs Node.js 22.13 or later. It has no runtime dependencies. To try it on a store that a real pi-durable 1.4.0 wrote, which the repository includes:
git clone --depth 1 https://github.com/dggc/durable-lens.git
npx durable-lens durable-lens/fixtures/stores/1.4.0/sqlite/session.sqlite --restart-limit 3 --open
--restart-limit 3 is the limit its scenario used, so that its parked task shows as parked. durable-lens prints a local address with a random token and keeps running until you press Ctrl-C:
durable-lens: pi-durable 1.4 or later, 3 conversations, 27 tasks
http://127.0.0.1:38135/lT-dAgpmrBe1XrmFtxZUHHz6/
read-only; Ctrl-C to stop
Open that address in a browser if --open did not. Then point it at your own store:
npx durable-lens ./session.sqlite # or a JSONL storage directory
The store is the path your harness passes to openNodeSqliteStorage(path) or openNodeJsonlStorage(path). A SQLite store is a file. A JSONL store is a directory that contains main.jsonl.
To keep it installed instead, run npm install --global durable-lens, then durable-lens ./session.sqlite.
waiting on which tasks and with which policy, sleeping until when, pending after a crash, parked after crashing restartLimit times in a row, and the outcome and error of finished ones. Input, checkpoint and outcome are one click away.pi.agent, pi.usage, pi.inbox, ...) and yours, materialized from their stored bases and deltas. Rewindable documents get a slider that steps back through their revisions.pi.usage, which also counts failed and aborted attempts.The page follows the store: when the files change, it rereads them.
| Timeline | Transcript |
|---|---|
| Task graph | Documents |
| Fork comparison | Usage |
durable-lens opens nothing of yours for writing. That takes more care than a read-only flag:
| Way to open | Writes beside the store? | Sees the latest commits? |
|---|---|---|
SQLite, readOnly: true or mode=ro | yes: creates -wal and -shm on an idle database, rewrites -shm on a live one | yes |
SQLite, immutable=1 | no | no: skips the WAL, so a crashed or running store looks stale |
pi-durable's storage with HarnessOptions.readOnly (main) | yes: migrates a schema v1 database to v2, checkpoints the WAL into the database file, truncates a torn JSONL line | yes |
| durable-lens | no | yes |
For SQLite, durable-lens copies the database and its WAL into a private temporary directory (a reflink where the filesystem has them) and opens the copy. The copy is accepted when the WAL header is the same before and after it, since a WAL reset in between could tear the copy, and, if there is no WAL with frames, the database's size and mtime are the same too; otherwise it copies again. For JSONL it reads the files, skips a last line still being appended, and reads again if the owner reclaimed a sidecar in between. It takes no locks, so it never slows the owner's checkpoints. The copy is a full copy of your transcripts: it lives in a directory only you can read, is deleted after each read, on exit and on Ctrl-C, and a later run deletes copies a killed process left behind.
The tests hash every file of every fixture before and after reading it, also while a pi-durable process holds the store open, and read 25 times while an owner commits every few milliseconds. See Reading pi-durable storage for the measurements.
This matters most for an older store. A pi-durable 1.2.0 database (schema v1) opened once by 1.4.0 code is migrated to v2 for good, and 1.3.0 or earlier can no longer open it.
| pi-durable | SQLite | JSONL |
|---|---|---|
| 1.2.0 | schema v1 | format 1 |
| 1.3.0 | schema v1 | format 1 |
| 1.4.0 | schema v2 (sleeping tasks, restart counts) | format 1 |
| main (36be9c6, 2026-10-23) | schema v2 | format 1 |
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗