voyager
Nagi-ovo
Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any web UI, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;提示词管理器可用于任意 Web UI,含 DeepSeek Harness。
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:dbydd/dsh-onlyne
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
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.
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/.
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? })
onlyne_send({
channelId: "telegram",
text: "# Build report\n\nAll checks passed."
})
Set rawText: true to send literal text instead of Markdown.
onlyne_broadcast({
targets: [{ channelId: "telegram" }, { channelId: "feishu" }],
text: "# Release shipped"
})
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.
/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.
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 }
}
}
npm install
npm run check # build + tests
npm pack # build the publishable tarball
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: messaging。