DS Bot keeps separate Bot, group and team memory. For a backup, first identify your installation's actual data location, quit the app or DSH completely, and copy the whole data directory securely. For a DSH plugin, copying bot/ alone is not enough: chats are in DSH sessions.
Memory is only one part of the data you may want to preserve. Team configuration, conversation sessions, working files, provider settings and browser sign-ins can live in different places. This guide reflects project documentation checked on November 11, 2026.
What can each Bot remember?
| Scope | Who uses it | Example |
|---|---|---|
| Bot memory | That Bot across its conversations | A preferred writing style for the Writer Bot |
| Group memory | Members while working in that group | The current group's agreed project terminology |
| Team memory | Shared for team use; some entries are recalled when needed | A project convention that several Bots should know |
The project describes automatic memory review after a turn and Markdown files for durable entries. A Bot's details panel and a group chat's details panel each have a Memory row; open Manage to inspect entries, change their scope or remove them. Ask a Bot what it remembers, then correct an inaccurate entry. Do not assume every message is saved or that every member reads every memory entry.
Where is the data stored?
| Installation | Default location | What to check |
|---|---|---|
| Standalone desktop app | ~/.ds-bot by default | Use the data folder chosen on first start if you changed it. Browser sign-ins are stored with the app's window data, outside that data location. |
| DSH plugin | ~/.dsh by default | bot/ holds team and memory; sessions/ holds chats; profiles and workspace records are separate. |
For a plugin installation, DSH_HOME can change the DSH home and the Bot's home configuration can move plugin data separately. Working folders may also be outside either directory. On Windows, ~ refers to your user home; for example the default plugin Bot folder is C:\Users\<user>\.dsh\bot\.
How do you make a reliable backup?
- Locate the active data. Check the standalone app's chosen location or the active DSH home and any custom Bot data or working folders. Note the app and plugin versions.
- Quit completely. Close the standalone app, or stop both DSH Desktop and the DSH Web server if either is using the data. This allows state to be written before copying.
- Copy the whole relevant data directory. For the plugin, the project recommends copying all of
~/.dsh/, at leastbot/,sessions/andstorages/. Include profiles if you need model settings. Copy separately configured Bot homes and working folders too. - Protect the copy. Backups may contain chat history, API credentials, saved secrets and sensitive files. Store them in a private, encrypted location with access limited to people who need it.
- Test recovery carefully. Keep the original and backup intact. On a test installation, quit the app, preserve any existing target data, restore the copied directory to the appropriate same location, and check a Bot, a memory entry and a past conversation.
The documented same-path restore procedure is for DSH data. The standalone app can use a different selected location, and its browser sign-ins are outside the data directory. Do not assume a folder copy restores browser sessions, external files or every system setting. For cross-machine restores, validate the result before retiring the original device.
What happens when you move to another computer?
The plugin documentation warns that workspace records and session folder names can contain absolute paths. If the user name, operating system or workspace path changes, whether old sessions are found is not yet tested by the project. A same-path copy has fewer moving parts, but still needs a restore check. Reconfigure missing credentials and verify file permissions on the new machine; do not delete the old copy until the chats and working files are confirmed.
Does uninstalling or deleting a Bot erase everything?
The project states that uninstalling the app or plugin does not delete its data. It also documents archiving memory for deleted Bots or groups, and special retention rules for Private Bot folders. Uninstalling is therefore not a secure deletion procedure. To remove data, first identify the active locations and backups, then follow the current product and operating-system instructions for the deletion you intend.
Why is memory read-only?
For DSH plugin users, Desktop and Web can point to the same DSH home. The first process to load the team holds the state lock; the other is read-only and cannot start new Bot sessions. Exit the first instance and retry, or deliberately use separate DSH homes for separate teams. Do not delete a lock file while a process may still be using it.
Does local storage mean everything stays private?
Local files are only one part of the privacy picture. A model provider receives the content sent in a request, and enabled tools can access files or services according to their permissions. A Private Bot limits access by other Bots, but it is not an OS sandbox. Review both the provider's data terms and the permissions you grant.
What is the difference between memory, chat history and files?
Memory is a compact set of reusable facts or preferences; it is not a complete transcript. Session history preserves conversations. Working folders contain the files a Bot reads or writes. A backup that captures only one category may not restore the others.
| Item | Example | Why it matters |
|---|---|---|
| Memory entry | “Use British spelling for this project.” | Can influence later work in its applicable scope. |
| Conversation session | The discussion where the preference was agreed | Provides history and context that a short entry cannot reproduce. |
| Working file | A draft or source-code file in a selected folder | May live outside the application data directory. |
| Provider settings and secrets | A model configuration or saved credential | May be required to reconnect; backups must be protected. |
Example: save a preference without exposing it to every Bot
Suppose a Writer should use British spelling for one publication, but a separate project uses American spelling. This is an example workflow. In the Writer's own chat, say: For the Oak publication, remember that I prefer British spelling. Ask me if the publication is unclear. Open the Writer's details, choose Memory → Manage, and inspect what was saved.
If the same preference belongs only to one group, review the group memory instead. If every team member needs it, move or record it in team memory deliberately. The documentation distinguishes entries always included in team context from entries available when needed. Check the panel rather than assuming a preference will appear in every conversation.
Test: start a new relevant task, ask the Bot to state the preference it will apply, and compare its answer with the memory panel. A model can still make a mistake, so inspect the resulting draft.
How do you correct or undo a bad memory?
- Open the appropriate Bot or group details and its memory manager. Identify the entry and scope; a correction in one group does not necessarily change another Bot's memory.
- Ask the Bot to correct or forget the item, or use the panel's controls. For example:
Forget the old launch date. The revised date is 15 December; save it only for this group. - Inspect the entry after the change. If the information should no longer be kept at all, remove it rather than simply adding a conflicting entry.
- Use the panel's change history where available to inspect or undo a change. The project says an undo is offered while the entry still matches the change being undone.
- Run a small follow-up task and verify the result. Review related team or group entries if the old fact still appears.
The current plugin documentation says memory review can add, update or remove entries after a turn. Settings can change memory and automatic review behavior. If the panel or updates are missing, first check the version and whether memory is enabled; do not infer that every saved conversation becomes a memory.
How much can memory store?
The current plugin documentation describes default MEMORY.md capacities of 8,000 characters for a Bot, 12,000 for a group and 4,000 for team memory. Those settings can be changed, and the prompt uses at most 2% of the model's usable window for the main memory file. These are documented implementation limits, not a promise that a Bot will remember or correctly apply every fact.
The same documentation says individual entries are limited to 300 characters and overflow can move older entries into topic files. Check your installed version before relying on exact limits. For a long project, put authoritative details in an approved working document and use memory for concise pointers and stable preferences.
Example: reinstall without losing a plugin team's chats
Imagine a DSH plugin user plans to reinstall the application. The goal is to preserve a Bot, a conversation and a project file, each of which can live in a different place. This is a suggested recovery drill, not a completed test.
- Find the active DSH home and any custom Bot home or external working folder. Open a recent conversation and note a distinctive, non-sensitive phrase to search for during verification.
- Quit every DSH process using the team. Copy the full DSH home, including
bot/,sessions/,storages/and the profiles needed for settings. Separately copy any external working folder. - Store the copy privately and encrypted. It can contain credentials, secrets and personal information. Do not put it in a public repository or share it as an ordinary attachment.
- Before restoring, preserve the destination's existing data. With DSH stopped, restore to the original documented location, start it, and check the Bot, the chosen memory and the conversation containing your marker.
- Open the project file from its actual working folder. Test a short model response only after confirming the intended provider and credentials.
If the team appears but old chats do not, confirm that sessions/ and storages/ were included and that the workspace path matches. Do not overwrite the original backup while troubleshooting. The project's documentation says different-path migration of old sessions is not yet tested.
What should you include in a backup inventory?
| Item | Plugin installation | Check |
|---|---|---|
| Team and memory | bot/ | Include any separately configured Bot home. |
| Chats | sessions/ | Verify an older conversation after restore. |
| Workspace records | storages/ | Absolute paths can affect a move. |
| Profiles | profiles/ and relevant credential storage | Protect keys; reconfigure access when required. |
| Working files | Default workspace or custom folder | Copy external folders separately. |
| Browser sign-ins | Depends on desktop environment | Do not assume the data-folder copy contains them. |
Why can a backup contain sensitive information even if memory rejects secrets?
The project's memory safeguards are intended to refuse entries resembling keys, passwords or identity numbers. That does not make a complete data directory harmless: session transcripts, saved secrets, provider credentials and working files can contain sensitive data. Browser cookies and credential exports are particularly sensitive. Encrypt the backup, limit access, and keep recovery copies only as long as needed.
If a credential was accidentally included in a shared backup, revoke or rotate it with the issuer. Removing a memory entry does not necessarily remove the same text from older chats, files, backups or a model provider's records.
How should you investigate a missing memory or chat?
- Memory missing in one group: inspect the group scope and confirm the Bot is a member. A Bot's own memory is not the same as group memory.
- Team is visible but cannot change: check for a second DSH process holding the team lock and close it safely.
- Chats missing after a copy: check the full session and workspace records and the original path; retain the original backup.
- Old fact returns: check the applicable Bot, group and team entries and the conversation itself; correct conflicting sources.
- Browser login missing: check which app and Bot partition you used. Browser sign-in storage has different persistence from team data.
Keep a short recovery record: app and plugin versions, data and workspace locations, backup date, whether the app was closed, and which restore checks passed. Store it without secrets.
Read the DeepSeek Bot overview for an introduction to Bots and group chats.