dsh-onlyne
已验证 · 实测可装 dbydd
功能简介
dsh-onlyne — DSH 插件(其他)
可用 — 实测通过,早期项目
dsh-onlyne — DSH 插件(其他) 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
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
Links
- Onlyne main repository: https://github.com/dbydd/onlyne
- dsh-onlyne package: https://www.npmjs.com/package/dsh-onlyne
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-onlyne」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
Web profile:
dsh plugin --profile web add dsh-onlyne Headless(CLI)profile:
dsh plugin --profile headless add dsh-onlyne 包信息
npm:dsh-onlyne · 版本 0.1.1 · 实测环境 dsh 0.1.0-rc.6
实测报告
端到端验证通过:dsh 0.1.0-rc.6 上 L1 安装 + L2 加载 + L3 运行问答。
使用场景
扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。
适合谁
想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。
二次开发建议
工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。