Preface

DeepSeek Harness (DSH) adopts the “everything is a plugin” philosophy. Microsoft Agent Framework (MAF) is Microsoft’s current enterprise-level agent orchestration framework (based on Semantic Kernel, with v1.0 released), and its core capability lies in YAML-based declarative agents and workflows. Currently, MAF does not have built-in DSH integration.

The dsh-maf plugin fills this gap. Using the native dsh toolchain, it provides developers with a set of tools to validate, run, and scaffold MAF’s declarative agents and workflows.

Core Features

The plugin provides the following five core tools:

  • maf_status: Check the MAF package version and environment status.
  • maf_validate: Validate declarative agent YAML files (parsed via AgentFactory).
  • maf_run_agent: Run a declarative agent (based on the YAML definition and prompt).
  • maf_run_workflow: Run a declarative workflow sample (executed via main.py).
  • maf_scaffold: Generate a YAML template for an agent or workflow.

Prerequisites

Before using the plugin, install the MAF-related Python dependencies:

pip install agent-framework agent-framework-declarative python-dotenv

In agent YAML files, model.id usually references an environment variable (for example, =Env.OPENAI_CHAT_MODEL_ID). Before running, configure the .env file or system environment variables with the provider API key.

Installation and Enablement

The plugin integrates via a Cordis patch. Add the following configuration to the cordis.patch.yml in profile:

- insert:
    - id: maf
      name: './src/index.js'
      config:
        pythonCmd: python
        enginePath: scripts/maf.py

Then run the installation command:

pnpm dsh web --patch ./dsh-maf/cordis.patch.yml

Configuration Options

Under the config node in cordis.patch.yml, you can adjust the following parameters:

  • pythonCmd: Python interpreter path, default is python.
  • enginePath: Engine script path, default is scripts/maf.py.
  • timeoutMs: Timeout for a single call (milliseconds), default is 180000 (3 minutes).

Typical Usage

After installation, you can call the tools directly in DSH. For example, check the environment and validate a YAML file:

maf_status
maf_validate ./agents/Assistant.yaml

Known Limitations

  • maf_run_agent and maf_run_workflow consume the configured provider API quota.
  • The declarative agents API is officially marked as experimental, and the interface may change across versions.
  • Output is returned as-is, including model-generated content.

Conclusion

dsh-maf enables developers to leverage DSH workflow capabilities to directly manage MAF declarative definitions. This plugin is maintained by WODE25500 and is licensed under the MIT License.