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

  1. First, confirm the local environment meets the runtime requirements:
Node.js >=22.5.0
  1. Using a web profile as an example, install the local plugin directory:
dsh plugin --profile web add file:D:/C#/agentsoul-dsh
  1. 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_status
  • agentsoul_memory_search
  • agentsoul_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:

  1. The plugin runs with the current dsh process permissions; check source code and license before installing.
  2. The license is MIT, and the runtime environment requires Node.js >=22.5.0.
  3. Do not write sensitive information such as API keys or passwords into the persona files.
  4. The plugin does not touch API keys by default; it can fall back to Harness’s default LLM when the main model fails.
  5. If using optional distillation direct connection, you need to configure apiKey, baseURL, and model in the local profile’s cordis.patch.yml, and these sensitive configurations cannot be committed to the plugin repository.

Links

GitHub: https://github.com/yuhui-sama/dsh-agentsoul