angristan / angristan/fast-resume
Support Qoder CLI sessions
- 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