dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
简体中文 | English
A relaxing fishing and collection plugin for DeepSeek Harness (DSH) Web. Head to the shore and cast a line, or enable automatic fishing and let your character wait for a catch while you use DSH.
Current main branch: main · 0.3.0-preview.13. Explore four walkable 3D shores with detailed 2D characters and a pixel-art paper interface. You can build and install the plugin locally from source; it has not been published to npm.
Search and sort your inventory, browse illustrated pages to arrange collections and decorations, and preview visitor outfits. Picnic preparation has three steps: invitation, ingredient, and confirmation. The bottom-left “存档” (Save) button opens local backup management; settings are grouped into window, appearance, and sound/performance.
The original pixel-art version, 0.1.0-rc.11, is preserved in full on archive/pixel-v1-rc11.
Actual gameplay using demo progress. The scene fills the portrait window, with menus and conversations opening inside it.
Characters use shaded 2D images that convey depth and are occluded by objects in the 3D scene. Animations include standing, blinking, walking toward and away from the camera, casting, holding a rod, reeling, and reacting to a catch. The player turns to a back view when walking away from the camera.
The game UI currently uses Chinese. The English instructions below include the Chinese button labels so you can find them in the game.
Aquariums, display shelves, and equipped decorations appear on all four 3D shores. Visitors walk, sit and observe your collection in either outfit, and head to the seat for a picnic. Approach facilities to inspect and arrange them using the bottom action button, or navigate there with “去哪里”. All 24 decorations have distinct geometry, and float movement and splashes reflect different fight patterns.
Each coast has distinct fishing spots and an independent story. Coral Bay, Moonlit Pool, and Deepwater Sea offer branching routes with persistent shore decorations. The automatic Clues goal follows the current story and waits when a choice or construction needs your attention.
Invite a discovered Sword-and-Shield Dog, Milk Frog, or Banana Cat from Shore Stories → Companions. They offer line protection, catch clues, or a shorter automatic wait, plus small shore interactions. Companions have walking, greeting, guarding or jumping frames. A cast keeps the companion it started with.
Open Shore Stories → “继续岸边生活” to track a stardust Gemfish, dedicate a letter or light to a built memorial, or invite a familiar visitor to a picnic. Tracking requires the specified shores, spots, and tides. Picnics consume one ordinary fish you explicitly choose and leave a memory in an album after the conversation. The automatic “追传说” goal waits whenever travel or preparation is needed.
Focus the scene before using the arrow keys / WASD. Manual fishing pauses when you close the game window, leave the page, or click outside the game. Select “继续这一竿” (Resume this cast) when you return.
Open “托管” (Auto) on the right and turn on the prominent “自动钓鱼” (Automatic fishing) switch. Your character walks back to the selected fishing spot and uses your current bait and equipment. Fishing progresses with DSH model responses and tool activity. By default, catches go into your inventory or collection automatically, with a summary when you return. Use the goal cards to choose “随心钓” (Relax), “补图鉴” (Collection), “攒壳币” (Coins), or “找线索” (Clues). Collection favors undiscovered entries at the cost of longer waits. Coins sells eligible duplicate ordinary fish in their original appearance, preserving first discoveries, records, and special appearances. Clues waits for your input after a discovery. Goal changes apply to the next cast. Automatic fishing pauses if the inventory is full or bait runs out.
Select “接管这一竿” (Take over this cast) to switch to manual fishing while retaining the catch and progress already accumulated. Automatic fishing is off by default and is independent of work supplies. It can continue while the game window is closed, but no offline time is credited after you exit DSH or qualifying activity stops.
Open “码头 → DSH 补给” (Dock → DSH supplies) and enable “工作补给” (Work supplies). DSH activity earns points toward supply packs. The page shows stored packs and progress toward the next one. Choose a bait tile and claim a pack for 20 shell coins, 1 tide shard, and 2 portions of that bait. Stored packs remain available when the switch is off; open “!” for timing rules and the daily limit.
Fish near the shallow cove at Idle Pond to find a message in a bottle. Follow it in “岸边故事” (Shore stories), talk to Beiyou, recover an old object, and contribute ordinary fish to build a wind chime that stays in the 3D scene. The story has no time limit.
After discovering Knife-and-Shield Dog (刀盾狗), invite it through “岸边故事 → 岸边伙伴” (Shore stories → Companions). It follows you and guards your line once per cast during a burst or dangerous tension. Companion changes apply to the next cast.
| Menu | What it does |
|---|---|
| 图鉴 · Collection | View discoveries, appearances, size records, and clues |
| 背包 · Inventory | Inspect catches, lock items, sell, release, or organize them |
| 码头 · Dock | Change shores, bait, equipment, and tide phases; manage local saves |
| 手记 · Journal | Accept requests, view achievements, meet visitors, and arrange displays |
| 托管 · Auto | Choose a goal, enable automatic fishing, view summaries, or take over the current cast |
| 岸边故事 · Shore stories | Follow the Idle Pond story, prepare building materials, and invite a companion |
| 设置 · Settings | Adjust the window, theme, text size, motion, rendering load, and sound |
Approach a visitor and select “交谈” (Talk), or choose “聊一句” (Chat) from their journal page, to open a conversation with portraits on both sides. Use “再聊一句” (Chat more) and “继续” (Continue) to advance. Press Esc or select “结束交谈” (End conversation) to return. Casual chat does not consume items or change relationship progress.
The floating launcher normally shows Jingxi's (鲸汐) portrait with flowing water. During automatic fishing, it changes to a fishing rod over the water. Both launcher and window positions are remembered. The “摸鱼海岸” section in DSH Settings also provides a plugin enable/disable switch.
Currently targets DSH Web 0.1.2-rc.1. The build environment uses Node.js 22.20.0 and pnpm 11.19.0. The commands below are for Windows PowerShell. The 3D scene requires a browser with WebGL support; a lightweight view is available if it cannot load.
Clone the main branch and build a local package:
git clone https://github.com/Nath-Vikky/dsh-fisher.git
cd dsh-fisher
pnpm install --frozen-lockfile --ignore-scripts
pnpm check
pnpm pack
Install and start a preview using a separate data directory:
$env:DSH_HOME = Join-Path $PWD 'tmp/dsh-fisher-preview'
$fisherVersion = (Get-Content .\package.json -Raw | ConvertFrom-Json).version
$fisherPackage = Join-Path $PWD "nath-vikky-dsh-fisher-$fisherVersion.tgz"
pnpm dlx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add --ignore-scripts $fisherPackage
pnpm dlx @deepseek-ai/dsh@0.1.2-rc.1 web
Open the local URL printed in the terminal and click “摸鱼海岸” to play. Fishing itself does not require a model API key. Automatic fishing requires actual activity in DSH.
To update an existing installation, stop that DSH host, remove the old plugin using the same DSH_HOME, then install the newly built package and restart. Removing the plugin preserves saves by default.
pnpm dlx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web remove @nath-vikky/dsh-fisher
For development, you can also run:
pnpm test
pnpm content:check
Game progress and the plugin's enabled state are stored on the host under $DSH_HOME/fishersave/. If DSH_HOME is not set, they are stored in .dsh/fishersave/ under your user directory. Window and launcher position preferences are stored in the current browser.
“码头 → 本机存档” (Dock → Local saves) provides export, import preview, backup recovery, and deletion. Confirming an import replaces the current progress and keeps a recovery copy of the previous save; automatic fishing and work supplies are reset to off. Deletion requires typing the exact phrase 删除摸鱼海岸 and only removes this plugin's game data and backups.
Upgrading an older save preserves the original file and retains collected items, balances, and records. Exporting a copy before updating is recommended. If saving fails, the game pauses and prompts you to retry. A sudden power loss may roll back the most recent unsaved actions.
The plugin makes no additional model requests and does not read chat content, reasoning content, tool arguments, or token counts. Automatic fishing and work supplies use only DSH activity metadata. There are no in-app purchases, player trading, multiplayer features, or leaderboards.
Newer saves cannot be opened directly by an older branch. Use a backup from before the upgrade when rolling back.
The game and 3D code load on demand, with compressed delivery and versioned caching. Character animations are decoded ahead of time and textures are uploaded in batches. The scene appears after the first frame is ready. Decoded images can be reused when switching shores or briefly closing the window, and the current visitor's original portrait is prepared in advance.
Rendering is capped at 30 FPS by default. The “降低动画与画布开销” (Reduce animation and rendering load) setting lowers the cap to 20 FPS, reduces rendering resolution, and disables real-time shadows. Rendering pauses when the page is hidden, loses focus, or a detail view is open. Leaving the scene releases GPU resources, and unused decoded-image caches are released automatically.
This is a preview version; actual performance depends on your device and DSH workload. The game window is an overlay inside the DSH webpage. If WebGL is unavailable, you can retry or use the lightweight pixel-art view. Compatibility with other DSH versions and platforms has not yet been verified.
The project code and generated artwork are currently UNLICENSED; no redistribution license has been granted. Three.js is licensed under MIT; see the Three.js license. This is an independent plugin.