dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness 双向 Telegram 远程控制台:实时进度卡片、截图识图、Git 差异对比、Shell 执行与工具审批。未配置 chatId 前首个发送者即被认领为主人;语音转文字需本地 ffmpeg 与 BeeRouter 服务前置支持。
Full two-way Telegram remote control, real-time progress tracking, and native OS notifications for DeepSeek Harness (DSH).
Turn your phone into a remote coding cockpit for your local DSH agent: send text prompts, voice messages, screenshots, inspect live diffs, switch models/sessions, execute shell commands, approve tools, and download generated deliverables.
.ogg). The bot converts audio via ffmpeg + Gemini speech-to-text into a clean text prompt for the agent..pdf, .sql, .json, .py, .js, .txt files directly to your agent's workspace.read, edit, bash, serena, etc.) in a single message with typing indicators, preventing notification spam.[ 📄 View Diff ], [ 📁 Modified Files ], [ 🚀 Git Status ], [ 🔇 Mute/Unmute ], [ 🔄 New Session ]./diff): View detailed staged and unstaged code changes within the active workspace./commit <message>): Run git add -A && git commit -m <msg> && git push directly from your phone./sh <command>): Run terminal commands (e.g. git status, pnpm test, docker ps, pm2 status) locally with zero LLM token cost./get <file>): Download files from your host machine with one click in /files or via /get <path>.present tool, generated deliverables are automatically uploaded to your Telegram chat./sessions, /switch <index>): List all open DSH sessions and switch active targets with inline buttons or indices./workspaces, /cd <path>): Browse project directories and change working directories on the fly./model): Switch between models (Gemini 3.8 Flash, Claude 4.6 Sonnet, GPT-6 Astra, etc.) via interactive inline buttons./new): Spawn a fresh session in the active workspace.approval/asked), the bot prompts with [ ✅ Allow ] and [ ❌ Reject ].ask_user_question): Interactive single/multi-choice buttons for agent questions.afplay (Hero.aiff on success, Basso.aiff on error, Ping.aiff on prompt/approval)./mute, /unmute): Mute Mac speakers from your phone when you need silence.| Command | Description |
|---|---|
| Send Voice Message | Converts speech to text and dispatches as a prompt |
| Send Photo + Caption | Attaches screenshot for vision-based bug fixing |
| Send Document | Uploads code or docs into workspace for analysis |
/diff | Displays git diff for the active workspace |
/commit <msg> | Commits and pushes changes to git remote |
/sh <command> | Runs shell commands directly on host (0 tokens) |
/get <file> | Downloads file from host machine to Telegram |
/files | Lists recently modified files with 1-click download buttons |
/workspaces | Lists available workspaces with quick-switch buttons |
/cd <path> | Changes agent's working directory |
/model | Opens interactive model selection menu |
/sessions | Lists open sessions with quick-switch buttons |
/switch <index> | Switches to session by index or ID |
/mute | Mutes Mac speaker sounds |
/unmute | Unmutes Mac speaker sounds |
/new | Spawns a new session |
/status | Shows status of agent, session, workspace, and speaker |
/stop | Aborts current agent turn immediately |
/help | Displays help message and command list |
ffmpeg installed on your host system (e.g. brew install ffmpeg).BeeRouter running locally on port 20128 (or an OpenAI-compatible speech/chat endpoint) to transcribe incoming voice notes.chatId is left unconfigured, the first sender to message the bot will be automatically claimed and locked as the owner.chatId explicitly before starting the bot to prevent unauthorized claiming.Run the standard dsh plugin add command in your terminal:
# Install directly from GitHub into your active profile (e.g. web)
dsh plugin --profile web add github:datit309/dsh-telegram-bridge
Or install from a local checkout:
# Clone the repository
git clone https://github.com/datit309/dsh-telegram-bridge.git ~/dsh-telegram-bridge
# Install into DSH profile
dsh plugin --profile web add ~/dsh-telegram-bridge
dsh plugin addautomatically records the dependency in~/.dsh/profiles/web/package.jsonand activates the bundle layer indsh.profile.bundles.
http://127.0.0.1:3080).github:datit309/dsh-telegram-bridge
~/.dsh/profiles/web/package.json:{
"dependencies": {
"dsh-telegram-bridge": "file:/path/to/dsh-telegram-bridge"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-telegram-bridge"
]
}
}
}
node_modules (if developing locally without pnpm install):ln -sf /path/to/dsh-telegram-bridge ~/.dsh/profiles/web/node_modules/dsh-telegram-bridge
~/.dsh/profiles/web/cordis.patch.yml:- id: dsh-telegram-bridge
name: "dsh-telegram-bridge"
~/.dsh/telegram.json (Recommended)Create or edit ~/.dsh/telegram.json:
{
"token": "YOUR_TELEGRAM_BOT_TOKEN",
"chatId": "YOUR_TELEGRAM_CHAT_ID"
}
Auto-Pairing: Leave
chatIdempty, then send/startto your bot from your phone. The bot will automatically lock to your chat ID.
Navigate to Settings (gear icon in lower-left) ➔ Telegram & Notifier: Configure Token, Chat ID, sound/notification toggles, and click Save.
export TELEGRAM_BOT_TOKEN="YOUR_TELEGRAM_BOT_TOKEN"
export TELEGRAM_CHAT_ID="YOUR_TELEGRAM_CHAT_ID"
Restart your DSH web service:
# If dsh web is currently running, stop it with Ctrl+C, then:
dsh web
Open Telegram on your phone, find your bot, and send /start.
MIT