Introduction¶
In the plugin extension of DeepSeek Harness, Agents often require stable roles, user preferences, and cross-session memory, rather than relying on a single context every time. Addressing these needs, AgentSoul provides a local persona, identity, state, and long-term memory layer. It is installed as a bundle plugin into the profile and automatically loaded globally on every startup.
What is it¶
AgentSoul is a plugin for DeepSeek Harness that provides a local persona, identity, state, and long-term memory layer. The repository ID is yuhui-sama/dsh-agentsoul, the license is MIT, and it requires Node.js >=22.5.0. It is suitable for developers who need to let the Harness Agent retain role settings, user long-term information, and retrievable memory locally.
Core Capabilities¶
Persona Files¶
Supports SOUL / IDENTITY / USER / STATE four-layer persona files. Persona changes are protected: the plugin will not automatically rewrite SOUL / IDENTITY / USER / STATE.
Memory and Distillation¶
Provides local long-term memory and memory distillation. The memory backend can use SQLite; it automatically falls back to JSON storage if SQLite is unavailable.
Loading and Exception Isolation¶
After installation as a bundle, it is automatically loaded globally on every startup. Plugin exceptions will not block the Harness Agent Loop.
Installation and Enablement¶
- First, confirm the local environment meets the runtime requirements:
Node.js >=22.5.0
- Using a web profile as an example, install the local plugin directory:
dsh plugin --profile web add file:D:/C#/agentsoul-dsh
- Restart Harness and check the plugin loading:
dsh web --dump-config
To uninstall:
dsh plugin --profile web remove @agentsoul/dsh-agentsoul
Uninstalling will not delete persona files and memory data.
Configuration Example¶
In the profile’s cordis.patch.yml, you can configure items such as enabled, memory.backend, distill.threshold. Example:
- id: agentsoul
config:
enabled: true
memory:
backend: sqlite
distill:
threshold: 10
Here, memory.backend is used to configure the memory backend, and distill.threshold is used to configure distillation-related thresholds.
Management Tools¶
The plugin registers 6 model-visible management tools. For example, you can use:
agentsoul_statusagentsoul_memory_searchagentsoul_memory_distill
These tools are used to view plugin status, search memory, and manually trigger distillation.
Use Cases and Notes¶
Suitable for:
- Maintaining stable persona, identity, and state in DSH;
- Needing local long-term memory and memory distillation;
- Needing SQLite and JSON fallback storage;
- Needing model-visible management tools for status checks and memory maintenance.
Pre-installation notes:
- The plugin runs with the current dsh process permissions; check source code and license before installing.
- The license is MIT, and the runtime environment requires Node.js >=22.5.0.
- Do not write sensitive information such as API keys or passwords into the persona files.
- The plugin does not touch API keys by default; it can fall back to Harness’s default LLM when the main model fails.
- If using optional distillation direct connection, you need to configure
apiKey,baseURL, andmodelin the local profile’scordis.patch.yml, and these sensitive configurations cannot be committed to the plugin repository.
Links¶
GitHub: https://github.com/yuhui-sama/dsh-agentsoul