8000
Skip to content

Repository files navigation

dsh-chat-bridge

Self-hosted personal assistant on DeepSeek Harness: Telegram + optional Web UI, local notes/reports, search on request only.

The bot allowlists Telegram users, runs the agent in an isolated workspace/, and keeps chat history on disk. Headless mode boots dsh per message with a personal-assistant profile (no shell). SDK mode keeps a JSON-RPC runtime and resumes a real harness session.

Data stays localtelegram-bridge/data/, workspace/, and ~/.dsh/ are not pushed to GitHub.

Requirements

  • Node.js 22.19+
  • DEEPSEEK_API_KEY in the repo-root .env
  • Telegram bot token from @BotFather

Quick start

./scripts/setup-dsh-profiles.sh   # once: mount Cordis plugins into ~/.dsh
cd telegram-bridge
cp .env.example .env              # TELEGRAM_BOT_TOKEN + TELEGRAM_ALLOWED_USER_IDS
pnpm install
pnpm test
pnpm start

Send /whoami, add your user id to TELEGRAM_ALLOWED_USER_IDS, restart.

Telegram commands

Command Effect
/note, /notes, /remember Personal notes and short memory (local files)
/search, /report, /research, /slide Skills — see /skills
/task, /tasks, /cancel-task Background tasks
/export Zip local data and send as a document
/newchat, /cancel, /status Session and turn control

Send a text or PDF document to ingest into workspace/inbox/.

Web UI

./start.sh

Merge config/providers/openrouter-provider.yaml into ~/.dsh/settings.yaml for the model catalog.

Web search uses Tavily only when explicitly requested (tìm kiếm, /search, /report, …). Knowledge answers stay short; search/report replies cite sources.

Local data

Data Path
Telegram chat history telegram-bridge/data/sessions.json
Short memory telegram-bridge/data/memory.md
Notes workspace/notes/
Reports workspace/reports/
Deep research workspace/research/<date>-<topic>/
Slides workspace/slides/*.html
Inbox uploads workspace/inbox/
Web UI sessions ~/.dsh/sessions/

Daily briefing (optional)

cd telegram-bridge
TELEGRAM_BRIEFING_CHAT_ID=123456 node ../scripts/daily-briefing.mjs

Schedule with cron or macOS launchd (see telegram-bridge/deploy/).

Layout

telegram-bridge/   Grammy channel, notes, tasks, export
plugins/           Cordis: search-on-request, personal-notes, report-style, …
scripts/           setup-dsh-profiles.sh, daily-briefing.mjs
  docs/            EXTENSION.md, SKILLS.md
workspace/         Agent cwd; notes, reports, inbox (gitignored)

SDK mode (optional)

Set DSH_MODE=sdk and DSH_SDK_LAUNCH in telegram-bridge/.env when you have @deepseek-ai/dsh-sdk-client and a JSON-RPC runtime. Gives persistent harness sessions per chat.

DeepSeek Harness is MIT-licensed by DeepSeek AI. This repository is MIT-licensed independently.

Extension guidelines: docs/EXTENSION.md.

About

Chat bridge that connects Telegram (WhatsApp, Zalo, Viber, ... ) to DeepSeek Harness via its headless CLI

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0