In DeepSeek Harness (DSH), manually maintaining agent prompts and permission whitelists is a common burden when building complex workflows. meow-dsh-workflow, a dual-side (node + browser) DSH plugin, includes an editable agent role library that compiles role definitions into system prompts in real time and injects hard permission filtering for sub-agents via meow_agent_call.
Positioning and Basic Info¶
This is a DSH plugin whose core value is standardizing the process of “selecting a role → defining a protocol → dispatching sub-agents for collaboration”.
- Developer: meimiaoji-creator
- License: MIT
- Core Features:
- Built-in editable role library (e.g., R&D Lead, Brainstorm Facilitator).
- Role definitions are compiled into system prompts and tool whitelists.
- Creates permission-aware sub-agents via
meow_agent_call. - Role memory (across sessions) and company ledger (decisions/actions/need-boss, etc.).
- Web panel management.
Installation and Enablement¶
During installation, the web profile must be specified because the plugin depends on the webServer slot.
dsh 插件 --profile web add github:meimiaoji-creator/meow-dsh-workflow
After installation, restart DSH. A “Role” button appears on the right side of the session input box, and the /meow-workflow-* command series appears in the command directory.
Core Workflow¶
1. Role Initiation and Definition¶
After the plugin is installed, it generates an agents.json file under $DSH_HOME/meow-dsh-workflow/, preconfigured with 10 roles.
You can initiate a session in the following two ways:
* Button: Click the “Role” button on the right side of the input box, select a role, and enter the objective.
* Slash command: Directly enter /meow-workflow-<role id>, for example /meow-workflow-lead (R&D Lead) or /meow-workflow-brainstorm (Brainstorm Facilitator).
When initiated, the Node layer partially assembles the role’s system prompt and injects a “Permission Declaration” section (order 120).
2. Sub-agent Identity Injection¶
The main agent creates sub-agents using the meow_agent_call tool. There are two key points here:
* Hard filtering: The sub-agent’s tool whitelist (toolFilter.allow) is a hard restriction; sub-agents cannot access unauthorized tools.
* Soft constraint: The main agent’s permission declaration is a soft constraint and mainly relies on model compliance.
Example JSON:
{ "agentDefId": "engineer", "task": "实现 xxx,编译测试通过后汇报" }
The returned agentRunId can be used to continue the conversation, ensuring the same task is iterated by the same instance rather than starting a new one.
3. Collaboration Supporting Tools¶
The plugin provides the following tools for maintaining collaboration state:
| Tool | Function |
|---|---|
meow_memory_write / meow_memory_read |
Role memory: bound to “project (working directory) × role”, retained across sessions. |
meow_ledger_write / meow_ledger_read |
Company ledger: records decisions / actions / need-boss / status / product / market, isolated by project. |
meow_agent_save / meow_agent_list |
Saves, adds, updates, and queries role definitions. |
meow_child_agent_list |
Queries the capability directory of sub-agents dispatched by the current role. |
4. Web Panel and Skill Filtering¶
The plugin includes a self-contained single-page Web panel, requiring no external services:
* /meow-workflow/agents: Agent management page.
* /meow-workflow/memory: Role memory browsing.
* /meow-workflow/ledger: Ledger overview.
In addition, the skill directory (local + remote) is filtered based on the current role’s allowedSkills / allowedMcps, so unauthorized skill entries are invisible to sub-agents.
Integration with meow-dsh-task¶
In the R&D pipeline, it is recommended to separate the responsibilities of “tasks” and “people”: meow-dsh-task manages “tasks” (task lists, status tracking, review closure), while meow-dsh-workflow manages “people” (role identity, tool permissions, sub-agent dispatch).
Typical workflow:
- Use
/meow-workflow-leadto initiate an R&D Lead session and callmeow_dsh_task_initto create the task list. - Call
meow_dsh_task_claimfor each task to claim it, then usemeow_agent_callto dispatch an R&D engineer to implement it. - A review expert performs read-only review; if issues are found, register them via
meow_dsh_task_issue_reportand return them to the original engineer (usingagentRunIdto continue the conversation for fixes). - After the issue is resolved, use
meow_dsh_task_issue_resolveto close the task. - Key decisions or files are recorded via
meow_dsh_task_checkpoint_append; the data is stored separately in the Task ledger and the Workflow memory.
Technical Constraints and Boundaries¶
- Runtime environment: Only the
webprofile is supported (strongly depends onwebServer). Supports Node 18+ only; ESM only. - Permission isolation: The plugin only writes configuration and data files under
$DSH_HOME/meow-dsh-workflow/, and does not modify DSH source code (zero intrusion). - Data privacy: It does not read chat records, session history, or the configurations and data of other plugins; it does not call third-party APIs outside DSH, and no telemetry data is sent externally.
- Authorization model:
- Main agent: soft constraint (guided by prompts).
- Sub-agent: hard filtering (enforced by
toolFilter.allow).
Conclusion¶
meow-dsh-workflow is a zero-intrusion collaboration layer plugin. It does not change DSH’s core architecture; instead, it structures complex multi-agent conversations through a role library and sub-agent injection mechanisms. If you need to maintain multiple sub-agents with different permissions and memory in one session, this plugin provides a standardized solution.