Why a DeepSeek Harness session is missing from the list
Session Index Doctor is a browser page that finds DSH sessions which exist on disk but never appear in the session list.
In DSH a session file and a session list entry are two different things. When they disagree the symptom is always the same — “my session is gone”. This checks which side is missing what.
—
Read-only by design: this page cannot write to your folder. Every fix is an instruction you run yourself.
Pick a folder to run the check.
What it checks
| 1 | Payload on disk, missing from the session list The classic “the file is there but DSH does not show it” case: the folder exists, the index never learned the id. |
| 2 | Listed in the index, nothing on disk These entries open into nothing. Usually a restored index or a half-copied folder. |
| 3 | No title: payload without a projcache row Titles and turn stats live in session_projcache.json, not in the workspace index. |
| 4 | Projcache row without a payload Stats exist for a folder that is gone. Harmless until DSH tries to open it. |
| 5 | Both session formats in one folder v4 and legacy payloads side by side. DSH picks one; the other goes stale. Any sync tool must treat them as separate. |
| 6 | Archived, yet still in the active list archivedSessionIds should not also appear inside a workspace sessionIds array. |
| 7 | Archived sessions still use disk space Archiving hides a session; it does not delete it. |
| 8 | Pinned, but not in any workspace list A pin on an unlisted session does nothing visible. |
Common questions
Which folder do I pick?
The DSH data root — ~/.dsh for the web or terminal build, ~/.ohdsh for the desktop build. The page finds storages/ and sessions/ underneath.
Does it upload my sessions?
No. Only the folder listing and the two index JSON files are read; payloads are not opened at all.
Can it fix the problem for me?
Not yet, and on purpose. It reports exactly which id is missing where, so the edit is one line in one file.