AO Desktop App Launcher
OrchestratorInc/agent-orchestrator
Launches, restarts and troubleshoots the real AO Electron desktop app from a checkout, with isolated or real local data and checks for stale processes.
Build a new skin for the dsh-web-ui skin collection (DSH Web GUI) and publish it into the skin-center plugin — scaffold with scripts/dsh-skin-new, author skin.json plus the apply/dispose +…
$ npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ningbainb/deepseek-harness-desktop skin-developer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ningbainb/deepseek-harness-desktop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.dsh/skills/skin-developer .claude/skills/skin-developer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "skin-developer" agent skill from https://github.com/ningbainb/deepseek-harness-desktop/tree/main/.dsh/skills/skin-developer into .claude/skills/skin-developer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skin-developer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ningbainb/deepseek-harness-desktop/tree/main/.dsh/skills/skin-developerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ningbainb/deepseek-harness-desktop skin-developer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ningbainb/deepseek-harness-desktop.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.dsh/skills/skin-developer .agents/skills/skin-developer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "skin-developer" agent skill from https://github.com/ningbainb/deepseek-harness-desktop/tree/main/.dsh/skills/skin-developer into .agents/skills/skin-developer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skin-developer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ningbainb/deepseek-harness-desktop skin-developer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ningbainb/deepseek-harness-desktop.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.dsh/skills/skin-developer .cursor/skills/skin-developer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "skin-developer" agent skill from https://github.com/ningbainb/deepseek-harness-desktop/tree/main/.dsh/skills/skin-developer into .cursor/skills/skin-developer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skin-developer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ningbainb/deepseek-harness-desktop.git --path .dsh/skills/skin-developer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ningbainb/deepseek-harness-desktop skin-developer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ningbainb/deepseek-harness-desktop.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.dsh/skills/skin-developer .gemini/skills/skin-developer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "skin-developer" agent skill from https://github.com/ningbainb/deepseek-harness-desktop/tree/main/.dsh/skills/skin-developer into .gemini/skills/skin-developer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skin-developer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ningbainb/deepseek-harness-desktop skin-developerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ningbainb/deepseek-harness-desktop.git skills-src && mkdir -p .github/skills && cp -r skills-src/.dsh/skills/skin-developer .github/skills/skin-developer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "skin-developer" agent skill from https://github.com/ningbainb/deepseek-harness-desktop/tree/main/.dsh/skills/skin-developer into .github/skills/skin-developer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skin-developer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ningbainb/deepseek-harness-desktop skin-developer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ningbainb/deepseek-harness-desktop.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.dsh/skills/skin-developer .opencode/skills/skin-developer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "skin-developer" agent skill from https://github.com/ningbainb/deepseek-harness-desktop/tree/main/.dsh/skills/skin-developer into .opencode/skills/skin-developer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "skin-developer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skin-developerBuild a new skin for the dsh-web-ui skin collection (DSH Web GUI) and publish it into the skin-center plugin — scaffold with scripts/dsh-skin-new, author skin.json plus the apply/dispose +…
Skin Developer is an agent skill from ningbainb/deepseek-harness-desktop. Build a new skin for the dsh-web-ui skin collection (DSH Web GUI) and publish it into the skin-center plugin — scaffold with scripts/dsh-skin-new, author skin.json plus the apply/dispose + scoped-CSS contract, build and test with the official standalone bundle standard (turtle-ui shape), regenerate the skin-center registry and gallery, and submit the PR. Use when the user asks to create, add, develop, scaffold, or publish a new skin for the dsh web GUI skin collection.
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Frontend development. It works with DeepSeek, Electron, npm and pnpm. The repository describes itself as: Open-source Windows desktop client and GUI for DeepSeek Harness — zero-setup installer with Codex, plugins, skills, SSH, mobile remote access, and 11 skins. The licence is BSD-3-Clause.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1dbd6d7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmnodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Skin Developer loads about 1.4k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 285 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ningbainb/deepseek-harness-desktop at commit 1dbd6d7, republished under its BSD-3-Clause licence (© ningbainb). 285 words, ~1,357 tokens.
.claude/skills/skin-developer/SKILL.md (or your agent's skills folder).本技能指导在 /Users/zcl/code/dsh-web-ui(或任何 dsh-web-ui 克隆)里从零构建一个新皮肤,
并把它发布进 skin-center 插件(GUI 设置页 Skins 分区)与 gallery。每个皮肤是符合 DSH
官方插件标准(turtle-ui 式 setup)的自包含包,可被 dsh plugin add 安装。
packages/skins/<name>/ — 一个皮肤 = 一个自包含插件包;packages/skins/qq98/ 是成熟样例,遇到疑问先读它。docs/user/develop/basic/publish.md,turtle-ui 为范例):package.json 声明 dsh.bundle.patch → cordis.patch.yml(安装时自动插入 ui-skin-* dshClient 行);cordis.patch.yml — bundle patch 层;prepare 脚本 = tsdown(pnpm 在 git 安装后自动运行,自包含构建 lib/,无项目引用、无类型检查);@deepseek-ai/dsh-* 未发布到 npm,运行时由宿主 shell 的 module table 提供,构建时作 external。packages/skins/tsdown.client.ts(官方 packages/client/tsdown.client.ts 的 standalone 移植)。pnpm install 一次即可构建/测试全部皮肤。cd <dsh-web-ui 克隆根>
pnpm install # 首次;顺带跑每个皮肤的 prepare先读 packages/skins/qq98/ 的 src/client/index.ts 与 skin.json,理解 apply 契约与元数据契约。
node scripts/dsh-skin-new <kebab-case-name> # 如 matrix、coffee-break生成 packages/skins/<name>/:package.json(官方标准)、cordis.patch.yml、tsdown.config.ts、
tsconfig.json、skin.json(order 自动取最大值+1)、src/index.ts(无操作 host 入口)、
src/client/index.ts(最小 apply 模板)、<name>.module.css(作用域样式)、tests/apply.spec.ts
(契约测试)、README.md。随后按脚本打印的 next steps 填写。
apply(ctx) 只写自己会收回的东西:body 属性、注入的 chrome DOM、favicon、document.title;
所有写面在 ctx.effect(() => () => {...}, 'ui-skin-<name>: …') 的 disposer 里全部收回
(包括 body 属性、每个注入元素、favicon;标题仅在仍是皮肤自己的标题时才还原,不覆盖会话标题)。body[data-dsh-<name>];暗色变体
body[data-dsh-<name>][data-ds-dark-theme]。不得用裸类名/全局选择器污染其它皮肤与官方 UI。import css from './<name>.module.css',类名经 css[name] 取值;
CSS 文本由 bundle 的 CSS-modules 自动注入(<style data-plugin-css>,loader 卸载时移除),
皮肤不自己管理 style 标签。skin.json 字段(gallery 与 dsh-skin 的契约):id(=目录名)、name/nameEn、author、
tagline、description、tags、accent、bodyAttr、package、wiring、preview 路径、order。pnpm --filter @deepseek-ai/dsh-client-ui-skin-<name> build # 或根目录 pnpm build
pnpm --filter @deepseek-ai/dsh-client-ui-skin-<name> test # 或根目录 pnpm testlib/index.js(node half)+ lib/client.js(bundle,window.__ModuleLoader__.load({id, factory}),
导出 apply)。tests/apply.spec.ts(vitest + jsdom)至少断言 body 属性设置/收回、chrome 注入/收回、
标题固定/还原。可按 qq98 的 apply.spec 扩展。__ModuleLoader__.load 一次、exports.apply 为函数)。open gallery/preview.html?skin=<name>&theme=light # 真实执行 bundle 的模拟器
open gallery/preview.html?skin=<name>&theme=darklib/client.js(shim __ModuleLoader__ + 最小 ctx),chrome/样式真实渲染。node scripts/capture-previews # 重写 packages/skins/<name>/preview/{light,dark}.png(提交入库)node scripts/skin-center-bundles # 扫描 packages/skins/*/skin.json + lib/client.js,重新生成
# packages/skins/skin-center/src/client/generated/skins.ts(内嵌注册表)
pnpm --filter @linxin666/dsh-client-ui-skin-center build # skin-center 重新构建以嵌入新注册表
node scripts/gallery-build # 重新生成 gallery/manifest.js + gallery/bundles.jsdsh-skin 的 SKINS 注册表在 scripts/dsh-skin 顶部——新皮肤需由维护者添加(或用
dsh-skin install <name> 直接官方安装)。dsh-external/dsh-web-ui(private)并开 PR。PR 描述附 gallery 试穿截图(亮/暗)。pnpm build 通过,lib/client.js 结构正确(__ModuleLoader__.load + exports.apply)pnpm test 通过(body 属性与 chrome 的 apply/dispose 契约)preview.html?skin=<name>&theme=light|dark)preview/{light,dark}.png 已用 capture-previews 重拍并提交scripts/skin-center-bundles 已重跑、skin-center 已重建(新皮肤会出现在 GUI 设置页 Skins 分区)scripts/gallery-build 已重跑,gallery 产物已提交dsh.bundle/cordis.patch.yml/prepare:这是官方安装(dsh plugin add)的契约。@deepseek-ai/dsh-* 写进 devDependencies:未发布到 npm,workspace:^ 在独立环境必炸。body[data-dsh-<name>] 开头(含暗色变体)。© ningbainb, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .dsh/skills/skin-developer of ningbainb/deepseek-harness-desktop.
Open the folder on GitHubat commit 1dbd6d7
Skin Developer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Skin Developer this skillningbainb/deepseek-harness-desktop | 776 | — | ~1.4k | Automated safety check: Pass | BSD-3-Clause | |
| AO Desktop App LauncherOrchestratorInc/agent-orchestrator | 13k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| OpenGUI Installer for DSHCore-Mate/OpenGUI | 1.8k | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Plugin ReleaseNanmiCoder/dsh-auto-mode | 165 | 1 repos | ~1.6k | Automated safety check: Warn | MIT | |
| Repo Healthcheck Nodecommercetools/ui-kit | 154 | — | ~1.6k | Automated safety check: Notes | MIT | |
| @pierre/diffs Code Renderingpierrecomputer/pierre | 6.2k | 2 repos | ~803 | Automated safety check: Pass | Apache-2.0 |
OrchestratorInc/agent-orchestrator
Launches, restarts and troubleshoots the real AO Electron desktop app from a checkout, with isolated or real local data and checks for stale processes.
Core-Mate/OpenGUI
Installs and verifies the latest stable OpenGUI release in a DeepSeek Harness web profile on macOS without disturbing existing plugins or settings.
NanmiCoder/dsh-auto-mode
Package, publish, and distribute DeepSeek Harness (DSH) plugins — npm pack artifact validation, GitHub/npm/hub release-track selection, tarball overrides installs for the unpublished cohort…
commercetools/ui-kit
Verify a Node.js/TypeScript repo's development environment is correctly set up.
pierrecomputer/pierre
Guides an agent through using @pierre/diffs to render syntax-highlighted files and diffs, and to build editing and review surfaces in React or plain JavaScript.
vuetifyjs/vuetify
Maintains the Vuetify repo's local Playground.vue so contributors get a realistic reproduction and a short demo they can paste into a pull request description.
ningbainb/deepseek-harness-desktop
Release and publish the dsh-web-ui monorepo (DSH Web GUI plugin family + skin collection) — bump all packages to one unified version, commit and tag, push the vX.Y.Z tag that triggers the GitHub…
Categories
Build a new skin for the dsh-web-ui skin collection (DSH Web GUI) and publish it into the skin-center plugin — scaffold with scripts/dsh-skin-new, author skin.json plus the apply/dispose +…. Skin Developer is an agent skill from ningbainb/deepseek-harness-desktop.json plus the apply/dispose + scoped-CSS contract, build and test with the official standalone bundle standard (turtle-ui shape), regenerate the skin-center registry and gallery, and submit the PR.
Skin Developer fits situations like: the user asks to create; publish a new skin for the dsh web GUI skin collection.
Run `npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a claude-code`. Or copy the skill folder (.dsh/skills/skin-developer in ningbainb/deepseek-harness-desktop) into .claude/skills/skin-developer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a codex`. Or copy the skill folder (.dsh/skills/skin-developer in ningbainb/deepseek-harness-desktop) into .agents/skills/skin-developer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ningbainb/deepseek-harness-desktop --skill skin-developer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skin-developer, .gemini/skills/skin-developer, .github/skills/skin-developer and .opencode/skills/skin-developer in your project.
Going by SKILL.md and its folder, Skin Developer needs the command-line tools its instructions call (pnpm and node).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Skin Developer is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Skin Developer: AO Desktop App Launcher (OrchestratorInc/agent-orchestrator, 13k stars), OpenGUI Installer for DSH (Core-Mate/OpenGUI, 1.8k stars), Plugin Release (NanmiCoder/dsh-auto-mode, 165 stars) and Repo Healthcheck Node (commercetools/ui-kit, 154 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ningbainb (a GitHub user) maintains it in ningbainb/deepseek-harness-desktop, which has 776 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 6, 2026.
Source: ningbainb/deepseek-harness-desktop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.