Skip to main content

dsh-deep-whale/orca-link

1.5kStars50Forks21Issues2Watchers

Applies the "Orca Link" skin to the DSH web interface: pearl white mechanical cabin, obsidian orca operator, and electric blue link signals. Pure display layer only—no access to any DSH services.

Evidence4/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
TypeScript
Branch
main
dshdsh-plugin

Install

cmdweb profile
$ dsh plugin --profile web add github:Small-tailqwq/dsh-deep-whale#path:orca-link

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin Small-tailqwq/dsh-deep-whale/orca-link for me: review the repository at https://github.com/Small-tailqwq/dsh-deep-whale first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Pitch

orca-link is a display skin for DeepSeek Harness Web that applies the "Whale Link" theme to conversation backgrounds, sidebars, status characters, and system icons. It doesn't modify any DSH behavior—no new services, no Cordis events, no model requests—it just dresses the Web interface in a black-and-white mechanical style skin.

Core Features

  • Global Right-Angle Contract: Zero border-radius, status signal dots and favicons all square, unified straight-line visual design for buttons/input fields/cards/menus/popups/toasts/tags/avatars/scrollbars
  • Runtime Icon Redraw: SVG icons that match the host get additional straight-line graphic layers appended (original nodes intact), fully restored on unload; covers 10+ scenarios including send, stop, inbox, todo three states, context usage, folders
  • Light/Dark 16:9 Scenes: Empty state characters and workspace scenes crossfade in 640ms, assets embedded as data URIs in client bundle
  • Sidebar Persistent Status Character: Ten states (idle/sync/working/authorized/input/review/complete/failed/offline/ready), multi-frame continuous motion, automatically driven by session state reuse
  • Peak/Valley Pricing Traffic Light: Real-time coloring by Beijing time (09:00-12:00 / 14:00-18:00 as peak, 10 minutes before switch as transition window, rest as idle), hover for detail card
  • Input Box Animation: Hero→workspace crossfade at 560ms, auto-hide on upward scroll, left/right handles draggable to collapse into small restore bar
  • **Mobile auto-hides large scenes and stage decorations; prefers-reduced-motion disables character frame-by-frame animation and typewriter effect

Technical Implementation

  • Language: TypeScript (also built as CJS bundle for host module loader loading)
  • Key Dependencies: @deepseek-ai/cordis (^4.0.1, corresponds to DSH rc.6+), lightningcss (build-time CSS Modules compilation), tsdown (build packaging)
  • Architecture Pattern: Cordis ctx.effect lifecycle: apply() startup has 13 independent controllers separately take over scenes, icons, status characters, pricing light, composer animation/collapse, hero typewriter, sidebar search autocomplete, window resume prompt suppression, terminal performance, settings overlay, etc.; unified deactivator registered via ctx.effect(() => () => {...}, 'ui-skin-orca-link: technical chrome') restores all DOM, CSS variables, Observers, setInterval, document.title, favicon in one go
  • Entry File: src/index.ts (placeholder apply() with no operations on host side only); real implementation in src/client/index.ts, build artifact lib/client.js (contains all asset data URIs)
  • Host Injection: Registered to Web plugin list via cordis.patch.yml as ui-skin-orca-link, switched mutually exclusively by DSH skin center based on home-layer

Use Cases

Users who want to change DSH Web terminal to "Whale Link" black-and-white mechanical style skin, those who prefer flat/right-angle visuals; users who only care about decoration without touching any DSH behavior; privacy-conscious users who want all assets localized (no external network requests). Prerequisite: already using DSH Web terminal and willing to enable it in the skin center.

Prerequisites & Compatibility

DependencyMin VersionDescription
DSH0.1.0-rc.6+peerDependencies locks @deepseek-ai/cordis ^4.0.1 (package.json:28-30), consistent with maid-atelier in same repo
NodeNot declaredSkin only loads in browser, build done by repo owner, no Node requirement at runtime
PlatformCross-platformdsh.client.platform = "web" (package.json:14-22), runs on all desktop/mobile OS with modern browsers
Native ModulesNoneAll assets embedded as data URI in client.js, no Node native modules or external resources

Installation

dsh plugin --profile web add github:Small-tailqwq/dsh-deep-whale/orca-link

After installation, you need to enable the skin in DSH skin center (dsh-skin) to trigger apply().

Configuration

No additional configuration needed. All "parameters" are hardcoded as fixed values in the source code (e.g., LINK status ten-level text, pricing peak windows 09:00-12:00 / 14:00-18:00, composer collapse threshold 56%, sidebar width threshold 96px, etc.), skin center only handles on/off binary choice.

ConfigTypeDescriptionDefault
None—This plugin requires no extra configuration—

FAQ

Q: Installed but no interface changes and no errors, what to do?

A: Installation alone doesn't auto-activate. Open DSH skin center (dsh-skin), check "Whale Link" in the skin list to activate; to uninstall, uncheck in skin center, the deactivator will restore everything.

Q: Can skin coexist with DSH built-in themes/other third-party skins?

A: No. cordis.patch.yml uses home-layer mutually exclusive switching (wiring.id is ui-skin-orca-link), only one skin can be active at a time.

Q: Can it be installed on desktop (Electron)?

A: No. package.json explicitly declares dsh.client.platform: "web", skin only injects to Web GUI; desktop shell runs its own host.

Q: The "LINK ACTIVE" indicator sometimes turns green sometimes red, what's the rule?

A: Pricing traffic light colors in real-time by Beijing time (UTC+8): 09:00-12:00 and 14:00-18:00 are peak (red), 10 minutes before peak start is transition window (yellow), other times are idle (green, pricing is half of peak). Switch times only happen at four boundaries: 09:00 / 12:00 / 14:00 / 18:00 (src/client/pricing-light.ts:24-77).

Q: When switching dark theme in browser, does skin change accordingly?

A: Yes. MutationObserver in settings-overlay.ts listens for data-ds-dark-theme (src/client/settings-overlay.ts:46-55), switches to corresponding mechanical cabin night scene and electric blue signal color scheme in dark mode.

Q: Page layout messed up after uninstall?

A: Very rare but theoretically possible: if forced uninstall before apply() completes, some body attributes may not be restored. Re-enable then uninstall again to restore.

Q: If browser has "reduce motion" preference enabled, does skin stop animations?

A: Yes. Status character and headline typewriter check prefers-reduced-motion: reduce, when enabled status character stops frame-by-frame switching, headline displays full text directly (src/client/status-character.ts:318-322 / src/client/headline-typewriter.ts:40-41,69-73).

Difficulty Level

Beginner — After installation, just check once in skin center, no config items, no commands, no hotkeys, regular users can use it.

Known Issues & Limitations

  • When ResizeObserver is unavailable in very old browsers (IE, early Safari), sidebar width linkage degrades to only relying on --orca-sidebar-width initial value, CSS variables don't update during scaling (src/client/index.ts:171-175)
  • When switching to background and back, browser automatically replays "activation" prompt, skin suppresses sidebar tooltip until user actively moves pointer/presses key to avoid accidental trigger (src/client/window-resume.ts:8-46), but prompt may still appear in very rare browsers that don't trigger visibilitychange
  • All skin assets embedded in lib/client.js, first installation requires downloading/unpacking this package
  • Strictly prohibited from any commercial use, must retain complete attribution chain (see NOTICE); when modifying and redistributing, must share in the same manner
  • Development build needs to be done in upstream dsh-web-ui repo's packages/skins/orca-link/ directory (README.md:35-45), this repo only distributes finished products

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/Small-tailqwq/dsh-deep-whale/orca-link)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory