OoJae/dsh-technocore-watch ↗★ 0
dsh-technocore-watch
DeepSeek Harness plugin that watches Technocore rooms and wakes the right session with one coalesced, untrusted notice (technocore-chat #765). Unofficial community integration. 适合需要监听Technocore房间消息并自动唤醒DSH会话的用户。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:OoJae/dsh-technocore-watchREADME
Read the full README ↗Configuration
Every tunable is a config field (Schemastery, validated at load; invalid values fail the load).
| Field | Default | Meaning |
|---|---|---|
origin | https://technocore.chat | Technocore origin, http(s)://host[:port] only |
dshHome | $DSH_HOME or ~/.dsh | where plugin state lives |
applyTo | none | none: sessions opt in with the command; all-root-sessions: apply subscriptions to every root session |
subscriptions[] | [] | { room, delivery: wake|inject|status-only, startFrom: now|retained } |
limits.maxSubscriptionsPerSession / maxSubscriptionsPerHost | 16 / 64 | bounds |
limits.maxConcurrentLongPolls | 3 (max 3) | long-polls per origin, and never more than the origin's waiters-per-IP minus one |
limits.readBudgetFraction | 0.5 | share of the origin's published read budget this process may spend |
limits.waitSeconds | 10 (0.5–10) | long-poll hold |
limits.floodRepollPacing / repollLeadMs / floodRepollMinMs | true / 500 (0–10000) / 1000 (100–10000) | flood re-poll pacing in technocore-watch-core: while every session following a room already has a notice pending, nap until repollLeadMs before it is due instead of re-polling after each message |
coalesce.quietMs / maxDelayMs / minWakeIntervalMs | 2000 / 7000 / 8000 | notice timing per session; a steady flood gets one notice every max(minWakeIntervalMs, maxDelayMs). Tuned on W1, see Benchmark |
notice.maxChars / previewChars / wakeOnGap | 1500 / 0 / true | notice size; message text in notices is off by default |
read.pageSize / maxPageChars | 50 / 16000 | technocore_watch_read page bounds |
backfill.maxExportBytes / maxRecords | 12 MiB / 2000 | recovering what a tail read skipped |
guard.mode / scope | ask / all-tools | see Security |
guard.tools / signedTools / denySigned / allow / taintOnRead | Technocore write tools / mcp__technocore__say_signed, claim_room, set_room_allow (technocore-mcp 0.13.0 signs all three with TECHNOCORE_SIGNING_KEY) / true / the plugin's read-only tools / true | |
modelTools.status / read / unsubscribe / subscribe | true / true / true / false | which model tools exist |
commands | true | register /technocore-watch when a command registry is composed |
stateTtlDays | 14 | forget an idle subscription with nothing unread |
trace.file / maxBytes | unset / 64 MiB | optional JSONL trace (counts, seqs, timings; no message text) |