Introduction¶
The philosophy of DSH is “everything is a plugin”. In the direction of memory, a common developer practice is to push conversation history into the context, or write a SQLite file themselves for long-term storage. The former is limited by window length, while the latter requires handling forgetting, correction, and cross-session state manually.
The fish-heart introduced below is a plugin categorized under the “Memory” category on the community directory SkillHub. Its positioning is a local companion: encapsulating long-term memory, mood/schedule records, and promise fulfillment, while connecting to three channels: QQ, Bilibili, and DSH. Test version v0.3.0, MIT license.
What is it¶
fish-heart (Fish Heart), maintainer alcon5201yun, hosted at alcon5201yun/fish-heart. In one sentence: A local companion plugin with long-term memory, where memory can forget and also correct itself, while maintaining mood/schedule status and promise fulfillment, usable across three channels: QQ, Bilibili, and DSH.
The information provided on the community directory page is as follows (Star count is the value displayed on the directory page, and there is only one maintainer):
- Name: fish-heart (Fish Heart)
- Maintainer: alcon5201yun
- Category: Memory
- Stars: 0
- Version: Test version v0.3.0
- License: MIT
- Description: Long-term memory that can forget and correct + Mood/Schedule + Promise Fulfillment, a local companion plugin for QQ / Bilibili / DSH channels
Core Features¶
According to the introduction on the entry page, the plugin’s capabilities can be broken down into four parts.
Long-term Memory: It Can Forget, and It Can Correct¶
Memory is not just appending. The plugin’s design includes a forgetting mechanism, meaning long-term memory has decay or eviction strategies, rather than being an archive that grows infinitely. It also supports correction, meaning stored memory can be revised, rather than just writing new entries.
These two are key engineering points for “memory” type plugins: only appending without forgetting leads to infinite expansion of context and retrieval overhead, while only forgetting without correction allows erroneous information to remain in memory for a long time, continuously polluting subsequent responses.
Mood / Schedule¶
The plugin maintains state-related information. The specific fields and storage structure were not elaborated on in the gathered materials, so here we only record “Mood/Schedule” as part of its scope without further detail.
Promise Fulfillment¶
“Promise Fulfillment” is an extension of memory: recording items that need to be executed or reminded of later, and triggering them at the appropriate time. Similarly, materials on the triggering mechanism and reminder methods were not provided, so this will not be expanded upon.
Three Channels: QQ / Bilibili / DSH¶
The three channels correspond to QQ bots, interaction on the Bilibili side, and conversations within the DSH host. The plugin runs as a local plugin, with memory stored locally rather than hosted on a remote service.
Installation and Enablement¶
As of the time of writing (2026-11-07), publicly accessible materials do not provide an installation command. The directory page only provides the plugin entry and the GitHub repository link. The README on GitHub failed to fetch this time, so the specific syntax for dsh plugin add cannot be verified.
Therefore, we will not splice or speculate on installation commands here. To confirm the correct installation method, there are two ways:
- Open the plugin directory page and see if the entry provides an installation entry or command.
- Open
https://github.com/alcon5201yun/fish-heartand look for installation and configuration instructions in the README.
Before obtaining the exact official command, do not manually splice dsh plugin add parameters, nor use git clone followed by manually stuffing the directory into the plugins directory as a substitute.
Typical Usage¶
Since the README could not be fetched, this section cannot provide reproducible command-line examples or configuration snippets. This is an intentional blank: writing down any command, path, or configuration item without a source would be fabrication.
Once the README is accessible, the typical usage that needs to be supplemented should at least include:
- Configure channel credentials (QQ / Bilibili access methods) and local storage paths.
- Basic invocation methods for writing, retrieving, correcting, and forgetting memory entries.
- The creation and triggering process of promises.
Before obtaining these, it is recommended to read the source code first to confirm that the implementation matches your own needs.
Suitable Scenarios and Notes¶
Who is it for¶
- Developers who want to share a set of local memory and state across three entry points: QQ, Bilibili, and DSH.
- People who care about the “forgetting” and “correction” mechanisms in long-term memory, rather than just archiving conversation history.
- People who can accept that the test version (v0.3.0) interface may change and are willing to read the source code themselves.
Things to Note¶
A star count of 0 and version number v0.3.0 indicate this is an early project; quality, stability, and documentation completeness need to be self-assessed. There is only one maintainer, and the subsequent update rhythm is unknown.
The plugin runs under the permissions of the current DSH process. Before installation, check the source code and license to ensure there are no network requests or file access beyond expectations. The license for this project is MIT, which is permissive, but a permissive license does not mean unreviewed code.
Links for this page:
- Directory Page: https://www.skillhub.cn/plugins/alcon5201yun/fish-heart
- GitHub: https://github.com/alcon5201yun/fish-heart
Conclusion¶
The value of fish-heart lies in packing “memory + state + promises” into a local plugin and providing three channels: QQ / Bilibili / DSH. During the test phase, information density is limited, and the README has not been fetched yet, so this article only describes the facts explicitly given on the directory page, without fabricating installation methods and usage. Making further judgments after obtaining the source code and documentation is a more prudent approach.