Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add tdsh-emoji
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
README
Add standard Unicode emoji to DeepSeek Harness (dsh) replies, designed to coexist with dsh-kaomoji.
🤖 Pure Codex generation — the code and docs in this repository were generated entirely by OpenAI Codex and have not been human-reviewed.
Tdsh-emoji injects a “mood → emoji” whitelist into the system prompt, so the
model places a standard emoji right where the content it matches appears —
possibly inside a sentence — instead of always appending it after the sentence.
The library only uses emoji that ship with iOS, Windows and Android; no
skin-tone modifiers, no exotic sequences.
Features
- Content-matching placement — at the point that best matches the content (inside a sentence is fine, default), or at the end of the reply (
end). - Up to 10 per reply —
maxPerTurn1–10, default 3;frequentspreads them across sentences. - Coexists with dsh-kaomoji — both place decorations after sentences, so this plugin also forbids emoji and kaomoji in the same sentence or line; the model picks different sentences. Both settings cards live next to each other under Settings → General.
- Visual settings card — mode, placement, limit and extra guidance; saved live, no restart.
- Remote-friendly — the settings route is same-origin, so Tailscale/LAN/SSH-tunnel pages can save.
- No third-party runtime dependencies — dsh's
systemPromptservice and Node built-ins only.
How it works
- Registers the prompt section
tdsh-emoji:guidance(order177; dsh-kaomoji uses176). - Each assembly contributes mode/placement rules, the per-reply cap, the emoji whitelist, and the “never share a sentence with a kaomoji” rule.
- The settings card uses
POST /tdsh-emoji-settingsto read/write~/.dsh/tdsh-emoji.json; the Host updates the prompt section immediately.
Install
cd "$env:USERPROFILE\.dsh\profiles\web"
# npm (recommended)
dsh plugin --profile web add tdsh-emoji
# or straight from GitHub
dsh plugin --profile web add github:TianJie52009/Tdsh-emoji
Restart the Web Host; the “Emoji (tdsh-emoji)” card appears under Settings → General, right next to the dsh-kaomoji card.
Configuration
Defaults: mode: auto, placement: inline, maxPerTurn: 3. Deployment defaults can be overridden in the profile’s cordis.patch.yml:
- id: tdsh-emoji
config:
mode: frequent # off | auto | frequent
placement: inline # inline | end
maxPerTurn: 5 # 1-10
customPrompt: "Keep it professional; prefer encourage/thanks emoji"
| Key | Type | Default | Description |
|---|---|---|---|
mode |
'off' | 'auto' | 'frequent' |
'auto' |
off disables; auto decorates conversational replies; frequent decorates every conversational reply (code-only/formal excluded) |
placement |
'inline' | 'end' |
'inline' |
At the point that best matches the content (inside a sentence is fine), or at the reply end |
maxPerTurn |
number (1–10) |
3 |
Emoji cap per reply; frequent spreads them across sentences |
customPrompt |
string |
'' |
Extra style/scene guidance |
settingsFile |
string |
~/.dsh/tdsh-emoji.json |
(advanced) user-settings path |
Coexistence with dsh-kaomoji
| Plugin | Inserts | Position | Conflict handling |
|---|---|---|---|
| dsh-kaomoji | Japanese kaomoji (´∀`) |
after the matching sentence | emoji side forbids sharing a sentence/line |
| Tdsh-emoji | Standard emoji 😊 | at the point matching the content | Never place an emoji in the same sentence or line as a kaomoji |
Both cards live under Settings → General (order 30 / 31).
Development
npm test # node:test (guidance rules + settings route + client loading)
npm pack # verify the publish payload
License
Comments
Comments live in GitHub Discussions. Sign in with GitHub to post or react.