dbydd / dsh-onlyne

목록에 있음

IM gateway for DeepSeek Harness agents — send and receive QQ, WeChat, Feishu and Telegram messages from dsh sessions.

main세션 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:dbydd/dsh-onlyne

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 4c4bb3c동기화 2026. 8. 18.

dsh-onlyne

English | 中文

Give DeepSeek Harness agents a real IM inbox/outbox through Onlyne.

dsh-onlyne is the DeepSeek Harness (dsh) plugin for Onlyne, the workspace-local IM channel daemon. It adds model-facing tools and a watch loop so a dsh agent can receive messages from IM channels (Telegram, Feishu/Lark, QQ Bot, WeChat) and send replies — without pretending a chat platform is a terminal or a workflow engine.

It is the dsh counterpart of pi-onlyne and shares the same per-project config file (.pi/onlyne.json), so one workspace can be bridged by either harness without reconfiguration.

Install

Onlyne is a single binary; see the Onlyne README to install and initialize a workspace:

onlyne init

Then install the plugin into a dsh profile and mount it:

dsh plugin --profile web add dsh-onlyne

Add a row to the profile's cordis.patch.yml ($DSH_HOME/profiles/<name>/cordis.patch.yml):

- insert:
    - id: onlyne
      name: dsh-onlyne

The plugin finds the workspace by walking up from the dsh process's invoking directory to the nearest .onlyne/.

Tools

onlyne_daemon_start()
onlyne_daemon_stop()
onlyne_daemon_restart()
onlyne_reply({ text })
onlyne_send({ channelId, text, rawText? })
onlyne_broadcast({ targets, text, rawText? })
onlyne_loopback({ text, rawText? })
onlyne_mark_no_reply({ reason? })

Send one message

onlyne_send({
  channelId: "telegram",
  text: "# Build report\n\nAll checks passed."
})

Set rawText: true to send literal text instead of Markdown.

Broadcast

onlyne_broadcast({
  targets: [{ channelId: "telegram" }, { channelId: "feishu" }],
  text: "# Release shipped"
})

Loopback wake-up

From any local script, inject an inbound message into the running daemon:

onlyne client '{"id":"wake","op":"loopback","text":"background job finished","raw_text":true}'

Channel loopback is wake-up-only: it surfaces a follow-up in the session but does not expect onlyne_reply.

Command

/onlyne status
/onlyne watch on
/onlyne watch off
/onlyne daemon start
/onlyne daemon stop
/onlyne daemon restart
/onlyne config auto-start

watch on subscribes to the daemon's event stream; inbound messages are surfaced into the current dsh session as user follow-ups, and the agent replies with onlyne_reply or acknowledges with onlyne_mark_no_reply. Control messages such as /handshake are consumed silently. config auto-start toggles watching automatically at session start.

Config

Shared with pi-onlyne at .pi/onlyne.json:

{
  "watch": { "autoStart": false },
  "inbound": {
    "defaultMode": "auto-handle",
    "rules": [{ "channel": "telegram", "mode": "queue-only" }]
  },
  "outbound": {
    "defaultReplyMode": "guarded-explicit",
    "retry": { "attempts": 2, "concurrency": 8 }
  }
}

Development

npm install
npm run check     # build + tests
npm pack          # build the publishable tarball

프로젝트 파일 및 신호

표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.

테스트감지됨

저장소 정보

언어
TypeScript
라이선스
MIT
마지막 업데이트
2026. 8. 13. 오후 2:20

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.