Introduction¶
The DeepSeek Harness (DSH) plugin dsh-meal-picker is a tool for solving the “what to eat today” problem. It provides a draggable floating bubble in the bottom-right corner that randomly selects three dishes from the local dish library for the user to choose from. The selection process is fully local and consumes no tokens; if cooking instructions, calorie estimates, or reviews are needed, it can call the AI service provided by the host.
Core Features¶
Local Weighted Random Recommendations
The plugin ships with data for 4,423 dishes, including dish name, cuisine, cooking method, meal type, and more. The recommendation algorithm uses weighted random selection, and the weights are influenced by home city, cooking/takeout scenario, meal-time match, favorite status, and recent recommendation history.
Floating Bubble in the Bottom-Right Corner
The bubble can be dragged to change its position. Left-click to open the recommendation panel; left-click again to close it. Right-click to open the filter panel directly.
Zero-Token Selection
The core “Refresh” feature does not call a large language model. It is computed purely by local algorithms and incurs no cost. Only the three AI buttons—“Big Fat Fish Review,” “AI Write Recipe,” and “AI Estimate Calories”—incur charges.
Favorites and Dietary Restrictions
Dishes can be favorited, and favorited dishes have a higher chance of being recommended. Dietary restriction information is permanently retained in local files and remains effective after restarting the browser or host.
AI Trio
Provides three features: “Big Fat Fish Review” (reviews in a specific character’s tone), “AI Write Recipe” (generates home-style cooking instructions), and “AI Estimate Calories” (estimates calories and explicitly marks them as estimates).
Installation¶
Install through DSH profile dependencies.
dsh plugin --profile web add github:wcytjy/dsh-meal-picker
Restart DSH Desktop after installation to activate the plugin.
Usage¶
Open the Panel
Left-click the bubble in the bottom-right corner to open the recommendation panel; left-click again to close it.
Switch Panels
Click the “Filter Conditions” button at the top of the recommendation panel, or right-click the bubble, to switch to the filter panel.
Favorite and Unfavorite
In the recommendation panel, click the ☆ star to the left of a dish name to favorite or unfavorite it.
AI Features
Each dish in the recommendation panel has three buttons below it:
- 🐳 Big Fat Fish Review: Calls the model to generate a review.
- More 〈Cuisine〉: Switches to that dish’s cuisine and reruns the recommendation.
- AI Write Recipe / AI Estimate Calories / Search Recipe: Generates cooking instructions, estimates calories, or opens a search page.
Configuration¶
Configuration items are located in the host profile’s cordis.patch.yml file. The plugin installation script automatically writes a commented template. The key configuration fields are:
- id: meal-picker
config:
city: 成都 # Home city; supports 40+ cities. When matched, cuisine weighting is applied
scene: takeout # cook (home cooking) or takeout
avoid: '香菜,苦瓜' # Long-term dietary restrictions, comma-separated
count: 3 # Number of dishes recommended at once (1~12)
meal: auto # auto (by time of day) or fixed breakfast/lunch/dinner/late-night snack
method: '' # Default cooking method, e.g., stir-fry, steam
mainstreamCount: 2 # First N items are guaranteed mainstream dishes (0~20)
bubbleSize: 96 # Bubble diameter (pixels)
Notes¶
Runtime Environment
The plugin depends on DSH Desktop 0.8.x (host @deepseek-ai/dsh 0.1.2-rc.x and Cordis 4.x) and Node.js ≥ 20.
Data Storage
Favorites are stored in DSH_HOME/dsh-meal-picker/favorites.json; dietary restrictions are stored in DSH_HOME/dsh-meal-picker/prefs.json. The plugin does not write calorie or nutrient data locally; the AI calculates them in real time when needed.
Cost
Only AI buttons incur charges. The plugin itself consumes no tokens.
Ecosystem and Links¶
The plugin is released under the MIT license. For more details and source code, see:
- GitHub repository
- Community directory