angristan / angristan/fast-resume

Support Qoder CLI sessions

Aperta
#95 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
159
Fork
17
Merge medio
16m
PR unite (30g)
4

Descrizione

## Support Qoder CLI sessions

### Problem

[Qoder CLI](https://qoder.com) (Alibaba's agentic coding CLI) is not among the supported adapters. Users who work across Claude Code, Codex, and OpenCode also frequently use Qoder, and their sessions are invisible to `fr`.

### Storage format (verified on Qoder CLI 1.1.47, macOS)

Qoder stores sessions in `~/.qoder/projects/`, using a directory layout and JSONL event format that is **nearly isomorphic to Claude Code**:

- `~/.qoder/projects//.jsonl`
- `` = absolute path with `/` replaced by `-` (same encoding as `~/.claude/projects`)
- Event types observed: `workspace-directories`, `user`, `assistant`, `attachment`, `last-prompt`, `active-leaf`
- Each line carries `sessionId`, `uuid`, ISO timestamps; user/assistant messages are nested under `message.role` / `message.content` just like Claude Code transcripts
- There are no `summary` lines (unlike Claude Code), so a session title can be derived from the first user prompt or the `last-prompt` event

Example first lines of a session file:

```jsonl
{"type":"workspace-directories","sessionId":"3915f6e3-...","directories":["/Users/x/repo"]}
{"type":"user","uuid":"9394f80b-...","timestamp":"2026-09-02T16:10:15.014Z","message":{"role":"user","content":[{"type":"text","text":"..."}]}}
```

### Resume behavior

Qoder CLI supports the same resume flags as Claude Code:

- `qoder --resume ` — resume a specific session
- `qoder --continue` — continue most recent session
- `qoder --list-sessions` — list sessions for the current project

Resume should be run from the project directory (encoded in the folder name).

### Suggested behavior

Add a `qoder` adapter that scans `~/.qoder/projects/*/*.jsonl` and generates resume commands of the form `qoder --resume ` (with cwd = decoded directory name). Given the format is essentially Claude Code-compatible, the adapter may be a thin re-use of the Claude adapter logic with a different data dir and no summary-line handling.

Happy to help test.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start with the existing Claude adapter and compare its session parsing with the Qoder JSONL format described here, especially the different data directory and absent summary lines. Verify the encoded project path and resume flags against the example and documented behavior. Done means Qoder sessions are discovered with decoded working directories, useful titles, and qoder --resume commands.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
cli
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
76/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.