Introduction¶
Creating pixel art or sprite animation assets typically involves installing Aseprite, drawing, exporting PNGs, and uploading them to the project. If you only need to tweak a few tiles or create a simple animation, the cost of constantly switching between tools is high.
dsh-aseprite brings this workflow into the DeepSeek Harness (DSH) web interface: the editor is embedded directly in the conversation, using pure JavaScript to directly read and write .aseprite project files without requiring a local installation of Aseprite. It also provides ASK for local adjustments and a visual blueprint workflow, allowing the canvas content to be handed over to the AI in the current conversation for processing. Below is an introduction to the plugin’s positioning, features, and usage.
What is this¶
dsh-aseprite is a pixel art/sprite animation editor plugin for DeepSeek Harness. Current version 0.3.0, MIT license, code hosted on GitHub under the name Ratevoid, categorized as media.
It solves these problems clearly:
- Provides editing capabilities for canvas, layers, frame animation, palettes, etc., in the DSH web interface;
- Directly reads and writes
.asepriteproject files, maintaining file compatibility with Aseprite; - Sends the selected area or the whole image to the AI in the current conversation for processing via the ASK and blueprint mechanisms.
Core Features¶
Entry and Drawing Tools¶
After installation, the plugin adds a 🎨 button to the top of the conversation. Clicking it opens or closes the editor dock above the message input box.
Drawing tools include Pencil, Eraser, Paint Bucket, Color Picker, Line, Rectangle, and Rectangle Selection. It features Undo/Redo, mouse wheel zoom, grid, onion skinning, adjustable brush and eraser sizes, and a draggable separator bar between the upper and lower panels.
ASK Local Adjustment¶
Select an area and click ASK, then describe the desired local adjustment. The plugin sends the magnified PNG crop and selection coordinates to the current DSH conversation. The AI’s response is reviewed in the chat; pixels in the editor are not automatically modified.
Blueprint Workflow¶
Clicking the 🧩 button in the toolbar opens a ComfyUI-style visual node graph. Drag nodes and click input/output ports to connect them. Blueprints are divided into two categories:
- Passive Blueprints: such as Transparent Crop, Pixel Outline, Crop + Outline. All run locally, reusable infinitely after creation, and never call an LLM;
- Active Blueprints: contain LLM nodes and send the selected image and node prompts to the AI in the current conversation.
There is also the AI Create Blueprint feature: after describing a complete task, the dsh-blueprint JSON generated by the assistant is automatically parsed, validated, and saved to the browser’s blueprint library, eliminating the need to manually copy the JSON. The blueprint library supports UI import/export.
Layers, Frames, and Palettes¶
- Layers: Create, delete, reorder, toggle visibility;
- Animation Frames: Add, copy, delete, set frame duration (milliseconds), preview playback;
- Palettes: Built-in DB16 and PICO-8 style 16-color palettes, supports custom colors, extra palettes, and color picking.
File I/O¶
The plugin implements read/write functionality for .aseprite project files using pure JavaScript, without needing to install Aseprite. Reading supports RGBA, grayscale, indexed color, and compressed cel decoding. Exporting supports current frame PNG and sprite sheet PNG.
How it Works¶
The plugin consists of three parts, with the editor running entirely in the browser:
- Host (
lib/index.js): Minimal load entry point, exposesdsh.clientdeclaration; - Client (
client/client.js): Follows thewindow.__ModuleLoader__.load({ id, factory })contract, registered toconversation.session.header.actionsandconversation.input.dockviactx.slots; - Codec (
src/ase-codec.js): Implements the Aseprite file format specification, writing 32bpp RGBA, raw cel, and modern palette chunks. Aseprite can open the files written by it directly.
Regarding dependencies, peerDependencies is @deepseek-ai/cordis ^4.0.1. The client injects @deepseek-ai/dsh-client-connection, @deepseek-ai/dsh-client-runtime, @deepseek-ai/dsh-client-locale, @deepseek-ai/dsh-client-ui-slots, and @deepseek-ai/dsh-client-ui-conversation. platform is web, and immediately is true.
Installation and Uninstallation¶
Install using the DSH plugin command:
dsh plugin --profile web add
The installation method provided in the materials is local file installation. If manual reinstallation is needed, the command is as follows (replace placeholders with local paths, omit --store-dir if not needed):
dsh plugin --profile web add --store-dir "<your-pnpm-store>" "file:<path-to-dsh-aseprite>"
After installation, restart DeepSeek Harness and refresh the page. The appearance of the 🎨 button at the top of the conversation indicates the plugin is loaded. The materials do not provide a command for remote installation from GitHub.
Uninstall command:
dsh plugin --profile web remove dsh-aseprite
If it exists in the configuration, you also need to delete the manually written aseprite entry in cordis.patch.yml, then restart the application.
Typical Usage¶
Combining with the README, here are several reproducible operation paths:
- Open the Editor: Click the 🎨 button at the top of the conversation to open the editor dock above the message input box;
- Local Adjustment: Select an area on the canvas, click ASK and describe the adjustment needs. The PNG crop and selection coordinates will be sent to the current conversation, and the response is viewed in the chat;
- Manually Connect Blueprints: Click 🧩 in the toolbar to open the node graph, drag nodes and click input/output ports to connect them;
- AI Generate Blueprint: Click AI Create Blueprint, describe a complete task, and the generated dsh-blueprint JSON will be automatically parsed and saved to the blueprint library.
If you want to participate in development, the build and test commands are:
node scripts/build.mjs # Regenerate client/client.js
pnpm test:blueprints # Run blueprint engine tests
Use Cases and Notes¶
Suitable users: Developers creating game prototypes, pixel art assets, or demo content in DSH; people who want to put drawing and AI chat in the same interface and don’t want to install a local graphics tool environment separately.
A few notes:
- The editor runs entirely in the browser, but the plugin itself loads with the permissions of the current dsh process. Before installation, it is recommended to review the source code and license; this project is under the MIT license;
- The write format of
.asepritefiles is designed so that Aseprite can open them directly, but it is recommended to verify the read/write results with your own project files before using them in the formal workflow; - Maintainer information is derived from the GitHub repository address; there is no explicit attribution in the README or package.json.
Conclusion¶
dsh-aseprite brings pixel art editing, frame animation, and Aseprite file compatibility into the DSH web interface, and connects the canvas to the conversation AI via ASK and Blueprints. For those who need to process pixel assets in DSH, it is an easy-to-use addition.
Plugin Directory Page: https://www.skillhub.cn/plugins/Ratevoid/dsh-aseprite
GitHub Repository: https://github.com/Ratevoid/dsh-aseprite