DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Shikitor — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-shikitor

Shikitor

Shikitor editor and sender surfaces for DeepSeek Harness

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-shikitor@1.0.2
READMECompatibilityVersions

Compatibility and provenance

Shikitor is published as dsh-shikitor and currently resolves to version 1.0.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/22/2026

Versions

1.0.2stable
8/18/2026
1.0.1stable
8/17/2026
1.0.0stable
8/17/2026

Related plugins

Loading related plugins…

Latest
1.0.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
8.5 MB
Files
42
Surface
web
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
71
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Client Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Remote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleWeb All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。

README

Shikitor Logo

dsh-shikitor

Description

A Shikitor editor and sender integration for the DeepSeek Harness web client.

| en-US | 中文 |

Installation

Requires DeepSeek Harness 0.1.0-rc.5 or newer within the 0.1 release line (<0.2.0).

dsh plugin --profile web add dsh-shikitor

Preview

Discover from the message sender

PreviewWhat it discovers
Session completion triggered by hash in the DeepSeek Harness sender # Sessions
Searches the conversations shown in the current workspace sidebar. A selection is inserted as one protected session link using the deepseekharness://sessions/<sessionId> protocol.
Workspace file completion triggered by at sign in the DeepSeek Harness sender @ Workspace files
Lists files from the current workspace. When Cordis plugins or subagents contribute candidates, they appear before files. Files are ordered from shallow to deep, loaded incrementally, and can be narrowed with file: or plugin:. Hidden paths appear only after the query explicitly enters a dot-prefixed segment.
Skill completion triggered by dollar sign in the DeepSeek Harness sender $ Skills
Searches merged project, home, and plugin-provided skills. Project-local entries take precedence when names collide, and the chosen skill is converted to DSH's executable /skill-name form.
Command completion triggered by slash in the DeepSeek Harness sender / Commands
Uses DSH's command catalog together with executable skills. Selection remains inside DSH's original pick transaction, so built-in command behavior and plugin contributions continue to work.

Workspace file editor

Shikitor workspace file editor in DeepSeek Harness

Editor settings

Shikitor file editor settings in DeepSeek Harness

Features

The integration provides:

  • Shikitor editing and completion menus in the DSH message sender;
  • a file editor tab for the current workspace;
  • a Cordis ctx.shikitor service that other client plugins can extend.

Completion menus support pointer selection, Arrow Up/Down, Enter/Tab, and Escape. Workspace files are ordered from shallow to deep and loaded into the menu incrementally while scrolling. The Message sender settings can further limit file search with comma-separated include/exclude folder globs. Accepted file references render only the filename. Cmd-click (Ctrl-click on Windows or Linux) opens the referenced workspace file in the Shikitor editor tab.

Skill discovery covers <projectRoot>/{.agents,.codex,.claude,.oo}/skills and the matching directories under the user's home. Project entries win duplicate names from home entries.

Register a surface plugin

import type {} from 'dsh-shikitor/client'
import type { ClientContext } from '@deepseek-ai/dsh-client-runtime/client'
import mySenderPlugin from './my-sender-plugin.ts'

export const inject = ['shikitor']

export function apply(ctx: ClientContext) {
  ctx.effect(
    () => ctx.shikitor.register('sender', mySenderPlugin),
    'my-plugin: Shikitor sender contribution',
  )
}

Use sender for message-composer behavior and editor for file-editor behavior. Register the same Shikitor plugin on both surfaces when they should share it.

Register a file icon rule

export const inject = ['shikitor']

export function apply(ctx: ClientContext) {
  return ctx.shikitor.registerFileIcon({
    extensions: ['vue', 'svelte'],
    icon: 'vue-icon medium-green',
    color: '#41b883',
    priority: 100,
  })
}

The default filename mapping, glyphs, fonts, and colors come from Atom File Icons. Rules can match extensions, exact fileNames, or a custom match function. Their icon may be an Atom File Icons class list or a DOM renderer. Higher priority wins; equally ranked rules prefer the most recently registered contribution. The disposer removes only that plugin's rule.

General settings also expose browser-persisted path rules. Each rule accepts a glob (* within one path segment, ** across folders) and can select any Atom glyph or an image. Image sources may be HTTP(S)/data URLs, workspace-relative paths, or absolute paths inside the current workspace. Workspace images must use a supported image type and be no larger than 1 MiB. Later user rules win. Plugins can observe the same effective registry through fileIconRules; the editable rules are exposed separately through configuredFileIconRules and configureFileIconRules().

The General settings tab owns the shared color scheme, highlight-theme family, cursor shape, and file-icon policy. Sender and File editor inherit that appearance until their first surface-specific change; resetSurface() removes the override and resumes live inheritance. Editor-only line/current-line controls remain on the File editor tab. These browser-local appearance values are also available through ctx.shikitor.appearance, resolveAppearance(), and configureAppearance().

Edited files save automatically by default. Auto save can be disabled in the File editor settings; the editor toolbar and Cmd/Ctrl+S remain available for manual saves. Plugins can read and update this behavior through ctx.shikitor.preferences and configurePreferences().