RBkreb/dsh-console-hub ↗★ 0

dsh-console-hub

DSH 插件:网络设备 console 映射端口(Telnet / Raw TCP)会话管理 —— 配置增删改查(敏感信息存 credentials)、连接/关闭/发送/读取、分页自动处理,模型侧 console_* 工具,高危指令 approval 拦截。 适合运维控制台集中化管理场景,支持连接、读取、发送并对高危指令进行批准拦截。

패키지
dsh-console-hub
호환성
미검증
Harness peer 범위
^0.1.5-rc.1
Cordis peer 범위
^4.0.2
버전
0.1.0
라이선스
MIT
최근 업데이트
2026. 9. 20.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:RBkreb/dsh-console-hub

配置项

插件行配置

字段类型默认说明
requestBodyLimitBytesnumber1048576插件 API 单次请求体上限
sessionIdleSweepMsnumber15000空闲控制台回收的扫描间隔
trustedHostsstring[][]非回环部署被访问的 host:port(或仅 host);未声明拒绝所有请求

设置文档

连接与读取:

字段类型默认说明
defaultKind'telnet' | 'raw'telnettelnet 剥离协商字节
defaultEncodingencoding 枚举utf-8utf-8 / gbk / gb18030 / big5 / shift_jis / euc-kr / latin1
connectTimeoutMsnumber8000socket 连接预算
readTimeoutMsnumber15000单次 read 等待新字节的时长
idleTimeoutMsnumber600000空闲控制台回收时长(不记保活)
maxConsolesnumber16并发控制台上限
outputLimitBytesnumber65536单次 read/wait 携带的字节上限
scrollbackLimitBytesnumber262144会话为游标保留的原字节数
idleQuietMsnumber1500for: "idle" 的静默窗口
views对象{}设备清单,字段同 console_upsert_view

分页、提示与休眠:

字段类型默认说明
pagingModepagingMode 枚举auto-more缺省分页反应:auto-more 发空格 / auto-quit 发 q / auto-interrupt 发 Ctrl+C / manual 无处理
pagingMaxPagesnumber50自动分页上限
pagingQuietMsnumber120分页命中后等待静默窗口
promptPatternstring(正则)同时接受 `` / [...]缺省提示符模式,大小写不敏感
pagerPatternstring(正则)--More-- / more: / 按任意键等缺省分页正则
dormantPatternstring(正则)Vty connection is timed out. … Please press ENTER.设备半关闭标记
dormantAutoWakebooleantrue检测到半关闭标记时自动唤醒
dormantProbeMsnumber120000无输入保活间隔
wakeOnConnectbooleantrue连接自动输入回车

拦截与模型:

字段类型默认说明
approvalMode'always' | 'high-risk'high-riskalways 每条提问;high-risk 未命中规则放行
fenceRules规则数组回滚 + 重启两条 ask有序规则表,第一条命中即定;每条 { id, action, tokens, pattern, note },tokens 与 pattern 二选一
highRiskPatternsstring[][]遗留字段,仅保留旧式已声明的拦截
agentConsoleToolsbooleantrue是否注册 console_* 工具与 systemPrompt 段落
agentInstructionsstring''进模型提示段落的约定

拦截规则格式

动作:deny直接拒绝| ask人工确认| allow放行。

配置示例


### 插件行配置

| 字段 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `requestBodyLimitBytes` | number | `1048576` | 插件 API 单次请求体上限 |
| `sessionIdleSweepMs` | number | `15000` | 空闲控制台回收的扫描间隔 |
| `trustedHosts` | string[] | `[]` | 非回环部署被访问的 `host:port`(或仅 `host`);未声明拒绝所有请求 |

### 配置示例

```yaml