Developer Guide
Extend DeepSeek Harness with Cordis plugins: architecture, dynamic plugins, Host services & events, Slot UI and tools
Welcome to the Developer Guide. This section is for developers extending the harness itself: every capability — tools, model adapters, the session log, UI blocks, even the agent loop itself — is a plugin, so almost anything can be replaced or added.
Everything is a plugin
The harness is built on the vendored Cordis plugin framework. There is no privileged core to patch: extending the harness means mounting a plugin beside the others.
Where to start
Cordis Primer
Plugins, ctx, services, events and reversible effects — the composition model to learn first
Architecture
Everything is a plugin, profiles & bundles, the core package map, events and capability seams
Dynamic Plugins
The runtime dynamic plugin model: Host/Client halves, immutable versions, lifecycle and approval
Host Services & Events
Read services with ctx.get, declare dependencies with inject, listen to events, provide services
Client UI & Slots
Register UI in Slots, use theme tokens, write interfaces with React.createElement
Registering Tools
Define tool schemas and execution with defineTool, then register on ctx.tools
Cookbook
Hands-on recipes: add a package, add a tool, wire an LLM adapter
Suggested order
- Read the Cordis Primer first to learn the plugin composition model.
- Then read Architecture to see where each capability lives and which extension point new behavior attaches to.
- Pick the page for what you are doing: Dynamic Plugins, Host Services & Events, Client UI & Slots, or Registering Tools.
- When you need a complete example, check the Cookbook.
Developer preview
The harness is in the developer preview stage and iterating rapidly. Breaking changes are expected; when writing plugins, treat the upstream repository as authoritative.