During the development and debugging of DeepSeek Harness (DSH), tracking skill triggers and tool calls is a common requirement. Models sometimes self-report status, which can make log data unreliable. To solve this problem, a solution based on engine logs rather than model self-reporting is needed to show skill and tool usage below each response.
dsh-skill-trail is a DSH plugin used to render compact trail information in the chat interface.
What Is It¶
The plugin runs in DeepSeek Harness and renders a trail below each assistant response. It shows which skills were triggered (🧠) and which tools were actually used (✓) or failed (✗). The data source is engine logs, not model output.
- Maintainer: Bryan-cmf
- Category: Memory
- License: MIT
Core Features¶
- Render Trail: Display compact skill and tool badges below each assistant response.
- Zero Model Self-Reporting: The data is fully based on projection folding of engine logs and does not rely on model output.
- Engine Log Based: Logs are processed through the
session-projectionunit to ensure data authenticity. - Structured and Replayable: The data is structured and supports replay through caching and backfilling.
- Per-turn Display: Each response displays the trail for its corresponding turn.
- Skill-aware: Skill tool calls are rendered as 🧠 and show the resolved skill name.
- Collapsible Session Logs: Supports collapsing session logs.
Installation and Enablement¶
The plugin requires DSH version >= 0.1.0-rc.6.
Installation Path A (Recommended):
Configure dsh.profile.bundles in the project’s package.json and add the plugin to it:
{
"dsh": {
"profile": {
"bundles": ["@bryan-cmf/dsh-skill-trail"]
}
}
}
After installing and restarting DSH, the projection unit is registered globally, and the client renderer displays the trail in each conversation.
Typical Usage¶
Configuration Example:
You can limit the number of turns and calls per turn in the configuration:
* maxTurns=500: Maximum number of turns retained per session.
* maxCallsPerTurn=50: Maximum number of triggered entries per turn.
Getting Projection Values:
Use useProjection('skillTrail') to retrieve structured data. The return type is Record<turn, { triggered, used, failed }>.
{
"12": {
"triggered": [
{
"name": "skill",
"skill": "ak-hk-stock-dd",
"status": "ok",
"callId": "call_1"
}
],
"used": {
"skill": 1,
"read": 3,
"bash": 2
},
"failed": ["web_search"]
}
}
Use Cases and Notes¶
- Dependencies: The plugin depends on
@deepseek-ai/cordis,react,zod, and other peerDependencies. - Version Status: The current version is
0.1.4-alpha.0, in Alpha status. - Replacement: The plugin has been replaced by
@bryan-cmf/dsh-skill-ledger. This repository is archived and retained only as a design history record.
Conclusion¶
dsh-skill-trail implements zero model self-reporting skill and tool trail tracking by projecting engine logs, providing a structured and replayable data view. Since it has been replaced by a new plugin, refer to the design history record for more information.
- GitHub: https://github.com/Bryan-cmf/dsh-skill-trail
- Directory Page: https://www.skillhub.cn/plugins/Bryan-cmf/dsh-skill-trail