dsh-console-hub
网络设备会话网关管理插件,提供 telnet/raw 操作与 console_* 工具 适合运维控制台集中化管理场景,支持连接、读取、发送并对高危指令进行批准拦截。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:RBkreb/dsh-console-hub說明文件
閱讀完整 README ↗配置项
插件行配置
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
requestBodyLimitBytes | number | 1048576 | 插件 API 单次请求体上限 |
sessionIdleSweepMs | number | 15000 | 空闲控制台回收的扫描间隔 |
trustedHosts | string[] | [] | 非回环部署被访问的 host:port(或仅 host);未声明拒绝所有请求 |
设置文档
连接与读取:
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
defaultKind | 'telnet' | 'raw' | telnet | telnet 剥离协商字节 |
defaultEncoding | encoding 枚举 | utf-8 | utf-8 / gbk / gb18030 / big5 / shift_jis / euc-kr / latin1 |
connectTimeoutMs | number | 8000 | socket 连接预算 |
readTimeoutMs | number | 15000 | 单次 read 等待新字节的时长 |
idleTimeoutMs | number | 600000 | 空闲控制台回收时长(不记保活) |
maxConsoles | number | 16 | 并发控制台上限 |
outputLimitBytes | number | 65536 | 单次 read/wait 携带的字节上限 |
scrollbackLimitBytes | number | 262144 | 会话为游标保留的原字节数 |
idleQuietMs | number | 1500 | for: "idle" 的静默窗口 |
views | 对象 | {} | 设备清单,字段同 console_upsert_view |
分页、提示与休眠:
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
pagingMode | pagingMode 枚举 | auto-more | 缺省分页反应:auto-more 发空格 / auto-quit 发 q / auto-interrupt 发 Ctrl+C / manual 无处理 |
pagingMaxPages | number | 50 | 自动分页上限 |
pagingQuietMs | number | 120 | 分页命中后等待静默窗口 |
promptPattern | string(正则) | 同时接受 `` / [...] | 缺省提示符模式,大小写不敏感 |
pagerPattern | string(正则) | --More-- / more: / 按任意键等 | 缺省分页正则 |
dormantPattern | string(正则) | Vty connection is timed out. … Please press ENTER. | 设备半关闭标记 |
dormantAutoWake | boolean | true | 检测到半关闭标记时自动唤醒 |
dormantProbeMs | number | 120000 | 无输入保活间隔 |
wakeOnConnect | boolean | true | 连接自动输入回车 |
拦截与模型:
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
approvalMode | 'always' | 'high-risk' | high-risk | always 每条提问;high-risk 未命中规则放行 |
fenceRules | 规则数组 | 回滚 + 重启两条 ask | 有序规则表,第一条命中即定;每条 { id, action, tokens, pattern, note },tokens 与 pattern 二选一 |
highRiskPatterns | string[] | [] | 遗留字段,仅保留旧式已声明的拦截 |
agentConsoleTools | boolean | true | 是否注册 console_* 工具与 systemPrompt 段落 |
agentInstructions | string | '' | 进模型提示段落的约定 |
拦截规则格式
动作:deny直接拒绝| ask人工确认| allow放行。
配置示例
### 插件行配置
| 字段 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `requestBodyLimitBytes` | number | `1048576` | 插件 API 单次请求体上限 |
| `sessionIdleSweepMs` | number | `15000` | 空闲控制台回收的扫描间隔 |
| `trustedHosts` | string[] | `[]` | 非回环部署被访问的 `host:port`(或仅 `host`);未声明拒绝所有请求 |
### 配置示例
```yaml