Repository navigation
Replies: 1 comment
|
现在没有一个现成的 1. 会话记录在哪每个会话写一个 JSONL: 目录名是 cwd 里所有非字母数字字符换成
2. 工具直接改/建的文件 —— 可以精确拿到
jq -r 'select(.subtype=="file_history_snapshot")
| .systemPayload.snapshots[].trackedFileBackups | keys[]' \
~/.qwen/projects/<project>/chats/<sessionId>.jsonl | sort -u这就是「这个会话用工具动过的所有文件」。每条快照还带 3. 区分「工作区里的文件属于哪个会话」每条记录都带 for f in ~/.qwen/projects/<project>/chats/*.jsonl; do
jq -r --arg s "$(basename "$f" .jsonl)" \
'select(.subtype=="file_history_snapshot")
| .systemPayload.snapshots[].trackedFileBackups | keys[]
| "\($s)\t\(.)"' "$f"
done | sort -u -k2同一个文件被多个会话改过就会出现多次 —— 这是事实,不是 bug。 4. 间接生成的文件 —— 目前记录不到qwen-code 不监控文件系统,只记录工具自己经手的路径。所以 # 会话开始前
git rev-parse HEAD > /tmp/before
# 会话结束后
git status --porcelain # 未跟踪 + 已修改
git diff --name-only $(cat /tmp/before)非 git 目录可以用时间戳兜底: 小结
如果你想要的是一个内置的 |
Uh oh!
There was an error while loading. Please reload this page.
如何获取会话中创建了哪些文件?有可能是直接写入的,有可能是通过运行代码间接生成的,或者说怎么区分工作区中的文件是属于哪些会话中生成的?现在能区分吗?
All reactions