- Go 100%
Reports Qwen Code session activity to gosh: one event per prompt typed and per assistant turn, using each record's own cwd. Prompt text is never reported; the only free text is the tool names. |
||
|---|---|---|
| .gitignore | ||
| go.mod | ||
| LICENSE | ||
| main.go | ||
| main_test.go | ||
| README.md | ||
gosh-qwen
A gosh plugin that reports Qwen Code session activity: when you were working with Qwen, and in which directories.
Qwen Code logs every chat to ~/.qwen/projects/*/chats/*.jsonl, one record per line, each with a
timestamp and the working directory. gosh-qwen collect turns those into gosh activity events:
| kind | one event per |
|---|---|
prompt |
prompt you typed |
assistant |
assistant turn (detail: the tools it called, e.g. read_file,run_shell_command) |
Tool results and telemetry records are not reported. Prompt text is never reported; chat logs
can contain secrets, so the only free text sent is the tool names. The directory of each event is
the record's own cwd, so a session that moves between directories or worktrees is attributed
correctly.
Install
go install git.batts.cloud/vbatts/gosh-qwen@latest # puts gosh-qwen in $(go env GOPATH)/bin
gosh plugin add qwen
gosh collect
Then gosh report and gosh timeline include Qwen activity (@qwen lines). QWEN_HOME is
honoured; gosh-qwen collect --dir overrides it.
Protocol
gosh-qwen describe
gosh-qwen collect --since <unix seconds> [--dir <qwen config dir>]
Output is JSON lines; the full protocol and a guide to writing plugins are in gosh's docs/PLUGINS.md. Events are keyed by the record's uuid, so
collecting twice is harmless. Only the standard library is used.
License
MIT, see LICENSE.