Build a DeepSeek Harness Plugin by Chatting (No Code)

One sentence of idea, a co-created spec, Creator mode, a version approval and two rounds of bug-fixing: watch a "what to eat today" plugin get born without a single hand-written line of code.

Last updated: 2026-09-20

Agent completion report in DeepSeek Harness listing every spec item landed: eat button by the input box, two-tab panel, 70/30 split, repeat protection
The receipt: every line of the spec, checked off.

DeepSeek Harness's official plugin docs are excellent — and written for programmers. But the Creator mode hides a second road: describe what you want in plain language, let the agent co-create the requirements with you, write the spec to a file, and build it. This guide follows a complete recorded case: a "what to eat today" plugin that recommends lunch from your taste library — 70% favorites, 30% surprise — reachable from a button next to the input box.

Nothing in the case below is hand-coded. Your job is the part only you can do: knowing what you actually want, and answering the agent's questions honestly.

TL;DR

  • The loop: one-sentence idea → the agent asks the product questions → you decide → it writes the spec, then the code, then installs the panel.
  • The demo ships for real: an 「吃啥」 button by the input box, a two-tab panel (today's pick + taste library), a 70/30 favorites-to-surprise split and repeat protection.
  • Chat-built plugins are prototypes until registered — restart loses them. To make one permanent, follow the create-plugin guide's registration step.

From one sentence to a working panel

  1. 1

    Know both roads

    The official developer docs take the code-first route: scaffold a project, learn the host/client lifecycle, register the bundle. If you enjoy coding, our create-plugin guide covers that path. This page is the other road — the one where you never leave the chat.

    Official DeepSeek Harness developer docs explaining local plugin creation with config files, the code-first route this guide complements
    The docs route: excellent, and written for programmers.Watch at 3:10
  2. 2

    Say the idea in one sentence

    The case starts with a pain everyone shares: noon arrives and nobody knows what to eat. The whole brief, typed into chat: put a 'what to eat today' recommender near the input box — prefer my favorites, surprise me sometimes, and let me manage the things I like. That's enough to start; the details come from dialogue.

    One-sentence plugin idea typed into a DeepSeek Harness session: a what-to-eat recommender near the input box with favorites and surprises
    The whole brief: one sentence of plain language.Watch at 5:00
  3. 3

    Let it ask you the real questions

    Instead of building on guesses, the agent comes back with the decisions that matter: how should favorites and surprises be balanced (70/30, adjustable), how is the taste library organized (cuisine categories, custom), what happens after a recommendation (just show it — keep version one simple), where does the data live (local). You answer in one line each.

    Agent co-creation questions in DeepSeek Harness: favorite-to-surprise ratio, taste library categories, post-recommendation behavior and storage
    It asks the product questions before writing a line.Watch at 7:00
  4. 4

    Check its understanding

    The agent restates the whole product as a requirement list — modules for the recommender and the taste library, the entry point, the behaviors. Read this the way you'd read a contractor's quote: it's the document every later step defers to.

    Requirement restatement in DeepSeek Harness where the agent replays the plugin idea as a structured module list
    Your idea, replayed as a requirement list.Watch at 7:40
  5. 5

    Keep version one boring

    Asked whether recommendations should feed straight into the input box, the course author declines: just show the result. Minimal first, enrich later — the fastest way to a working plugin is refusing features until the second version.

    Scope decision in DeepSeek Harness: first version shows the recommendation only, skipping input-box integration for a minimal build
    Version one stays boring on purpose.Watch at 8:20
  6. 6

    Pin down the entry

    Last decisions: the entry button sits between the permission and model pickers, labeled 「吃啥」 with a rice-bowl icon, opening a panel with two tabs — today's recommendation and the taste library. Small choices, but they're yours to make, not the agent's.

    Entry decision in DeepSeek Harness fixing the eat button beside the permission picker with a two-tab panel layout
    Entry button, icon, panel tabs — your calls to make.Watch at 9:40
  7. 7

    The spec lands as a file

    Co-creation closes with the full specification written into the workspace as what-to-eat.spec.md — modules, behaviors, edge cases (empty library, repeat protection), the works. From here, the spec is the single source of truth.

    Final plugin spec written to the DeepSeek Harness workspace as what-to-eat.spec.md with entry, panel and recommendation engine defined
    The spec lands in the workspace — the single source of truth.Watch at 10:55
  8. 8

    Creator mode: hand over the build

    New session, Creator mode, full-access permission to stop the approval prompts mid-build. The instruction is one paragraph: read the spec in the workspace, build the feature first, then package it as a plugin named what-to-eat — and narrate each step in plain language.

    Creator mode session in DeepSeek Harness instructed to read the spec, build the feature, and package it as the what-to-eat plugin
    Creator mode, full access, one-paragraph brief.Watch at 12:10
  9. 9

    Watch it work in plain language

    The build runs as a visible task list — read spec, scaffold the plugin, wire the panel, register the entry — each step reported in plain Chinese as it happens. You always know where the build is; nothing happens in a hidden terminal.

    Build progress in DeepSeek Harness with the agent narrating each step in plain language: spec read, plugin scaffolded, panel wired
    A visible task list, narrated as it happens.Watch at 12:20
  10. 10

    Approve the version

    When the panel is ready to mount, dsh shows a version-approval dialog: allow this version only, allow this plugin's future versions, or reject. It's the same trust gate community plugins go through — for your own build, allowing future versions saves re-approvals on every iteration.

    Plugin version approval dialog in DeepSeek Harness offering allow once, allow future versions, or reject for the new panel
    The trust gate — the same one community plugins face.Watch at 14:35
  11. 11

    Two small gotchas

    First, the preview can't show you the real panel — the agent can't see your screen, so you are its eyes. Second, a page refresh clears the mounted panel until the build re-activates it. Neither is a bug; both are worth knowing before they surprise you.

    Two preview gotchas in DeepSeek Harness: the agent cannot see the real panel, and a page refresh clears the mounted plugin
    Two gotchas, worth knowing in advance.Watch at 15:40
  12. 12

    Bugs? Describe the symptom

    The first version has real defects: the panel covers the permission picker, one button renders black, and the panel vanishes after refresh. The fix loop is pure description — report what you see, where, and when. The agent locates each cause, patches, and rebuilds a new version.

    Bug report by description in DeepSeek Harness: panel covers the permission picker, a button renders black, panel vanishes after refresh
    Describe the symptom; it finds the cause.Watch at 16:45
  13. 13

    Verify and call it done

    The agent proposes the acceptance test itself: click 吃啥, the panel opens; click the X, it closes; click outside, it closes too. Passed — then two refinements (move the panel to the right edge, make it narrower) and the plugin is done: recommendations from your taste library, surprises included, zero code written by hand.

    Acceptance test in DeepSeek Harness verifying the finished plugin: eat button opens the panel, the X closes it, clicking outside closes it too
    Three actions verified — plugin done.Watch at 24:00

FAQ

Before you describe your first plugin.

Can I really build a plugin without writing any code?

Yes — the recorded case never touches an editor. You supply the idea and the product decisions; the agent writes the spec, the code and the panel. The skill you need is describing what you want precisely, which the co-creation questions are designed to draw out.

Does the plugin survive a restart?

Not yet. A chat-built panel is a prototype mounted into the running session — quit dsh and it's gone. To make it permanent, register it as a standard plugin (config plus a cordis.patch.yaml mount), which our create-plugin guide walks through step by step.

Is 'allow future versions' safe?

It's a trade-off. Allow-once means every new build asks again; allow-future is convenient for a plugin you are iterating on yourself. For plugins from strangers, allow-once — or reject — keeps the trust gate meaningful.

What if the built plugin has bugs?

Describe the symptom instead of guessing the cause: what you clicked, what appeared, what vanished. The case's three defects (overlap, a black button, refresh clearing the panel) were all fixed from plain-language reports — the agent locates the cause in its own code.

Which mode do I need?

Standard mode handles the co-creation fine — it's just conversation. Switch to Creator mode for the build itself: it carries the plugin-development toolset on top of everything standard mode has.

Related guides

From no-code prototypes to the developer's road.

Source & credits

Screenshots in this guide come from the course episode below and are used with attribution to explain the workflow; every step deep-links back to the exact timestamp.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.