DeepSeek Harness allows plugins to extend agent capabilities, but when writing code for a specific game, developers still need to manually provide many specification details, look up official implementations, and repeatedly verify code logic. dsh-noname-kit aims to solve this pain point by encapsulating the “Noname” extension development workflow—including specifications, search, validation, and writing—into a plugin, allowing the AI to generate code according to a defined process.

What Is This

dsh-noname-kit is a DeepSeek Harness plugin maintained by qtaik, positioned as a “Noname Extension Development Workshop”. It provides the AI with a complete development environment: specification injection, official source code search, static validation, task management, and a dedicated extension directory write channel. It also includes a cross-network P2P online assistant, supporting automatic extension package backfill.

Installation and Enablement

Web Client Installation

Run the following command in a terminal to install the plugin:

dsh plugin --profile web add dsh-noname-kit

After installation is complete, restart dsh web.

Desktop Client Installation

The desktop version has an independent environment. Open the desktop application, click “Add Plugin” in the left-side “Plugins” panel, enter dsh-noname-kit, and install it.

Enable Development Mode

After restarting, select the “Noname Development Mode” preset when creating a new session. DSH 0.1.7 and later (including the desktop version) automatically have this preset available after installing the plugin, so no manual reinstallation is needed.

Core Features

1. Specifications and Validation

The plugin automatically injects development specifications. It includes the following AI tools:
* noname_search_reference: Search for official implementations in the local game source code.
* noname_validate: Perform syntax compilation checks and static rule validation (without executing code).
* noname_write_extension: The only write channel. It validates before writing; if errors occur, it refuses to write, and it automatically backs up before overwriting.

2. Task Management

Manage development tasks through the Workshop tab:
* New Task: Select a type (hero/card/new gameplay custom mode) and fill in a skill description or gameplay description. After submission, the AI first provides a requirements confirmation list, and writing occurs only after confirmation.
* Edit Task: Supports editing an existing extension package and building a block index to optimize read/write efficiency.
* Archive: After all skills are confirmed and images and voice assets are ready, the task is archived automatically.

3. Online Assistant

Enter “Online” mode from the Workshop tab. It supports:
* P2P Room: Both participants only need to install the plugin to create a room; no public IP is required.
* Extension backfill: When joining a room, the extension list is automatically compared, and the host automatically transfers any missing extensions to the guest.
* Kernel management: One-click installation of the online kernel into the game directory, with support for kernel version upgrades.

Typical Usage

  1. Create a session: Create a new session and select “Noname Development Mode” from the top-left dropdown menu.
  2. Create a task: Click the “🛠 Workshop” tab and create a new task. Select a type (for example, hero) and fill in a skill description.
  3. Confirm and generate: The AI first lists the requirements confirmation. Reply “confirm” to start code generation.
  4. Write and validate: After the code is generated, the noname_write_extension tool automatically validates and writes the extension package. If issues are encountered, click “🔁 Feedback” in the task list to ask the AI to fix them.
  5. Online testing: Ensure both participants have installed the plugin, then install the kernel in the Workshop “Online” tab and create a room to test.

Applicable Scenarios and Notes

  • Environment differences: The desktop and Web versions have independent environments; installation commands and configuration paths differ. Be sure to distinguish them.
  • Write guard: The plugin guard rejects writes to the game extension directory from the ordinary write/edit/bash commands. You must use noname_write_extension.
  • Audio path: The audio field for skill voice lines must use an in-package path (for example, ext:packName/audio/skill:lineCount); otherwise, the engine will look in the game base directory. Death voice lines can be placed directly in audio/die/.
  • Image path: By default, the engine does not automatically scan the image/ subdirectory of an extension package. The img field must be explicitly written in hero/card definitions.
  • ES Module support: New-style multi-file extension packages (such as lazy packs) support block-based editing, but runtime assignment-style code (pack.skill.xxx = {}) is still not supported.

Summary

dsh-noname-kit standardizes the tedious Noname extension development workflow and reduces errors from manual intervention through specification injection and static validation. Together with the P2P online assistant, it not only assists development but also makes it easier to share and test extension packages.

Plugin Directory Page
GitHub Repository