chenkezhen480/dsh-world
AI EngineeringGives a DSH desktop companion persistent memory, a home session and its own daily routine, all configured through the DSH settings console.
A niche but coherent add-on: if you already run the DSH desktop app and want a persistent companion rather than a stateless chat window, dsh-world is the relevant piece of work. If you do not use DSH, there is nothing to try here.
The problem
A companion character in a chat client normally starts over every time the context window fills or you open a new conversation. What you said last week, what she was doing yesterday, and whatever she decided to work on are gone. dsh-world changes that by keeping several layers of state around a DSH agent: recent turns are reinserted at the start of each conversation and after every compaction, daily diary entries become long-term memory, and a self-description file is rewritten each evening. The result is a character you can address across windows without re-establishing who she is and what happened.
What's different
The design choice worth noticing is the refusal to use a vector store. The author argues that one person's life does not produce enough text for embedding search to beat simply keeping the raw conversation in view and grepping the archives when needed; two arXiv papers are cited in support. Every message is archived by day, so older material stays retrievable in its original wording rather than as reassembled chunks. Whether that holds up depends on how long you keep talking: the default 200-turn recent-memory window is generous, but it also consumes context on every start and after every compaction, so long histories have a real token cost.
The second mechanism is a separate "home" session with its own working directory. The character sets a next activity and an end time, decides at the end whether to continue, and can push a message to you through a Windows notification or a local bridge. A daily review runs at 23:00 and produces diary and self-description updates. A per-day spending cap triggers a reminder, and file changes outside the room, software installs, spending and sending messages in your name are meant to be confirmed with you first. The plugin claims to use only DSH's extension interfaces without modifying the host; the README tells you to install the packed tarball rather than link the project directory, because a link would load a second copy of Cordis.
There is also an optional compaction mode that strips tool-call traces and summarises only the conversation between the two of you, so the character's memory is of you, not of shell commands. That is a meaningful distinction for a companion, and it is opt-in through a PowerShell script that swaps the profile's compaction entry and leaves a backup.
Who should try it
This fits a DSH desktop user who wants a companion with continuity and is comfortable editing a YAML config in the profile for the settings that are not in the console. It suits someone who will actually read the generated diary and self-description files and back up the world directory as a whole.
It is a poor fit if you use another chat client, if you want a portable memory layer across tools, or if you need a well-defined multi-user service. The README scopes the current bridge to desktop pets and similar local programs, with WeChat, QQ and Bilibili described only as future work; do not plan an integration around them yet.
Requirements and limitations
The hard dependency is the DSH desktop edition, which the README says both the console and the life line rely on. Installation is a manual npm ci and npm pack flow, followed by installing the tarball with DSH's bundled pnpm and restarting the app; see the README for the exact steps. The project is TypeScript and MIT-licensed, so the code is there to read, but there is no hosted service or one-click setup.
Ongoing upkeep matters more than installation. The world lives under worlds/<worldId>/ in your DSH home, and the README recommends stopping DSH before backing up that directory. The character can write files, keep photos from images you show it, and initiate messages, so the stated confirmation rules are policy, not a technical sandbox. The proactive notification path is Windows-specific. Aggressive recent-memory settings will make every session and compaction more expensive.
HotRepo's take
The only dated signal is a NEW-REPOSITORY board (新项目榜) snapshot on 2026-10-26: 107 total stars and #18 among TypeScript entries. That is a snapshot, not daily growth, and with no comparable daily-board history, persistence cannot yet be judged. The project was created two days before that observation, so the star count is young and says nothing about maintenance. If the premise appeals, the concrete thing to check before installing is whether the repository documents compatibility with your DSH version and profile layout, since the install depends on DSH's bundled tooling and Cordis behaviour.
Written by AI from the project's README, updated October 26, 2026. The project's own docs are the source of truth.