dsh-ssh-logs
Manifest validRead and search bounded log output from allowlisted SSH servers and log roots without exposing arbitrary remote commands.
dsh-ssh-logs
English | 简体中文
A read-only SSH log tool for DeepSeek Harness. It uses the built-in @deepseek-ai/dsh-mcp-client bridge to expose three MCP tools to the model:
mcp__ssh_logs__list_log_serversmcp__ssh_logs__read_logmcp__ssh_logs__search_log
Servers are configured under fixed aliases. The model cannot select arbitrary hosts, execute arbitrary commands, or modify remote files. Every requested file must remain under an allowlisted log root.
Installation
git clone https://github.com/452926826/dsh-ssh-logs.git
cd dsh-ssh-logs
npm install
dsh plugin --profile web add "$PWD"
It can also be installed directly from GitHub:
dsh plugin --profile web add github:452926826/dsh-ssh-logs
Create ~/.dsh/ssh-logs.yml using config.example.yml as a reference. Use a dedicated read-only account on each server and authenticate with an SSH key or ssh-agent. Do not store passwords or private key contents in the YAML file.
Restart dsh web and refresh the page after configuring the plugin. The Bundle registers an MCP client so agent presets can discover the log tools.
Conversation examples
Read the last 300 lines of service/api.log from the app log root on production.
Search logs/backend.log under staging/app for request-id=abc123 and include 3 lines of context.
If a request names a physical directory instead of a root alias, the model should call list_log_servers first, map the directory to a configured root, and then call the read or search tool.
Configuration
defaults:
maxBytes: 131072
connectTimeoutSeconds: 10
commandTimeoutMs: 120000
servers:
production:
description: Production application server
host: prod-app.example.com
user: log-reader
port: 22
identityFile: ~/.ssh/prod_log_reader
knownHostsFile: ~/.ssh/known_hosts
proxyJump: bastion.example.com
roots:
app: /srv/myapp/logs
nginx: /var/log/nginx
Each server supports description, host, user, port, identityFile, knownHostsFile, proxyJump, roots, maxBytes, connectTimeoutSeconds, and commandTimeoutMs.
Security boundaries
- SSH always uses
BatchMode=yes,StrictHostKeyChecking=yes, and an explicitknown_hostspath. - Servers and log roots must be configured in advance. Absolute paths, backslashes, and
..traversal are rejected. - The plugin only generates fixed
head,tail,sed, andgrep -Fcommands. Dynamic values are shell-quoted. - A request can read at most 5,000 lines or return 1,000 search matches. Output defaults to 128 KiB and has a hard 4 MiB limit.
- Password prompts, sudo, arbitrary commands, SFTP writes, deletion, and file modification are not supported.
Enforce least privilege on the server as well: use a dedicated log-reader account, read-only ACLs, restricted source IPs, and authorized_keys restrictions when appropriate.
Similar plugins
by CrazyShout
SSH remote workspaces for DeepSeek Harness: browse/read/write remote files, run remote commands, with connection status dots.
★ 4
MIT
TypeScript
Sep 2, 2026
dsh plugin --profile web add dsh-ssh-remoteSSH remote ops for DSH: pair servers over SSH or a one-time-code remote-hostd, then run commands, manage background jobs, and read or write remote files with reviewable changes (host_pair/host_bash/ho
★ 0
dsh plugin --profile web add dsh-remote-ssh-opsBundles the remote-shell skill for secure SSH, SFTP, Telnet, and WinRM remote operations, with an encrypted credential vault whose login and execution scripts never accept plaintext passwords.
★ 0
dsh plugin --profile web add dsh-remote-shellSSH remote execution set: give a session an ssh:// workspace and every file, command, and shell operation runs on the remote host.
★ 0
dsh plugin --profile web add dsh-ssh-remoteDSH remote-access authorization page that shows the current process browser-session URL as a clickable link or QR code, behind an optional authority/subnet allow-list and PIN.
★ 0
dsh plugin --profile web add dsh-remote-authby FYL1025
DeepSeek Harness (DSH) 远程工作区插件:通过 SSH 连接一台或多台服务器,直接在 DSH 的 Web 界面里浏览文件、编辑代码、执行命令——体验类似 VS Code Remote-SSH,无需离开对话。
★ 3
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add dsh-remote-workspace