RBkreb/dsh-console-hub ↗★ 0

dsh-console-hub

网络设备会话网关管理插件,提供 telnet/raw 操作与 console_* 工具 适合运维控制台集中化管理场景,支持连接、读取、发送并对高危指令进行批准拦截。

包名
dsh-console-hub
兼容性
待验证
Harness 依赖范围
^0.1.5-rc.1
Cordis 依赖范围
^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