jumpserver-east/jumpserver-dsh1

jumpserver-dsh

DeepSeek Harness plugin: manage JumpServer assets and operate on them through KoKo

AI 분석

核心用途是让 DSH 能够管理 JumpServer 资产并执行操作。适合需要通过堡垒机(JumpServer)安全管理和运维远程服务器资产的团队或运维人员。需要手动配置 .env 文件。

패키지
jumpserver-dsh
버전
0.1.0
라이선스
MIT
최근 업데이트
2026. 8. 17.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:jumpserver-east/jumpserver-dsh

配置

dsh 的「插件配置」页不会根据插件 Config 自动出表单,目前只展示 Host 白名单里的官方卡片(Shell、Agent loop、Web search)。第三方插件进不了这一页,所以 JumpServer 没有设置页。装好后新建下面的 .env,再重启 dsh

需配置 — $DSH_HOME/.env

dsh 主目录默认为:

  • macOS / Linux:~/.dsh
  • Windows:%USERPROFILE%\.dsh

在该目录新建 .env(安装插件时不会自动生成,可对照本仓库的 .env.example):

JUMPSERVER_URL=https://jms.example.com
JUMPSERVER_ORG_ID=00000000-0000-0000-0000-000000000002
JUMPSERVER_ACCESS_KEY_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
JUMPSERVER_ACCESS_KEY_SECRET=********************************
JUMPSERVER_ENABLE_ASSET_ADMIN=false
JUMPSERVER_ENABLE_DB_WRITE=false

Access Key 在 JumpServer「个人设置」里创建。跑 dsh 的这台机器要能连上 JumpServer Core(HTTPS)和 KoKo SSH;KoKo 的地址和端口会从 connection-token 自动带出,不用单独填。

  • JUMPSERVER_ORG_ID 不写则使用 JumpServer 的 Default 组织。换组织改这一行后重启 dsh 即可。
  • JUMPSERVER_ENABLE_ASSET_ADMIN 默认 false:只能列出、连接该 Access Key 已有权限的资产。设为 true 会额外注册创建 / 更新 / 删除主机的工具(jms_list_platformsjms_create_hostjms_update_hostjms_delete_host)。请求仍走 Core RBAC,也不会绕过 KoKo。没有主机管理权限时保持 false
  • JUMPSERVER_ENABLE_DB_WRITE 默认 false:数据库会话只允许查询(SELECT / SHOW / DESCRIBE / EXPLAIN 以及 Redis 读命令等)。设为 true 才允许 INSERT / UPDATE / DELETE 等写语句。JumpServer 自己的命令过滤仍然生效。没有写库授权时保持 false

密钥也可以放进 $DSH_HOME/.credentials.yaml,变量名相同。JumpServer 地址写在 .envJUMPSERVER_URL 即可,也可以写在下一节 cordis.patch.ymlbaseUrl

可选 — cordis.patch.yml

只有在需要用 baseUrl 覆盖 JUMPSERVER_URL 时,才改这个文件:

  • macOS / Linux:~/.dsh/profiles/web/cordis.patch.yml
  • Windows:%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml
- update:
    - id: jumpserver
      name: jumpserver-dsh
      config:
        baseUrl: https://jms.example.com
        tlsRejectUnauthorized: true

tlsRejectUnauthorized 默认 false(内网自签证书可连)。设为 true 时按系统 CA 校验 Core 的 HTTPS 证书。

需配置 — $DSH_HOME/.env

dsh 主目录默认为:

  • macOS / Linux:~/.dsh
  • Windows:%USERPROFILE%\.dsh

在该目录新建 .env(安装插件时不会自动生成,可对照本仓库的 .env.example):

JUMPSERVER_URL=https://jms.example.com
JUMPSERVER_ORG_ID=00000000-0000-0000-0000-000000000002
JUMPSERVER_ACCESS_KEY_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
JUMPSERVER_ACCESS_KEY_SECRET=********************************
JUMPSERVER_ENABLE_ASSET_ADMIN=false
JUMPSERVER_ENABLE_DB_WRITE=false

Access Key 在 JumpServer「个人设置」里创建。跑 dsh 的这台机器要能连上 JumpServer Core(HTTPS)和 KoKo SSH;KoKo 的地址和端口会从 connection-token 自动带出,不用单独填。

  • JUMPSERVER_ORG_ID 不写则使用 JumpServer 的 Default 组织。换组织改这一行后重启 dsh 即可。
  • JUMPSERVER_ENABLE_ASSET_ADMIN 默认 false:只能列出、连接该 Access Key 已有权限的资产。设为 true 会额外注册创建 / 更新 / 删除主机的工具(jms_list_platformsjms_create_hostjms_update_hostjms_delete_host)。请求仍走 Core RBAC,也不会绕过 KoKo。没有主机管理权限时保持 false
  • JUMPSERVER_ENABLE_DB_WRITE 默认 false:数据库会话只允许查询(SELECT / SHOW / DESCRIBE / EXPLAIN 以及 Redis 读命令等)。设为 true 才允许 INSERT / UPDATE / DELETE 等写语句。JumpServer 自己的命令过滤仍然生效。没有写库授权时保持 false

密钥也可以放进 $DSH_HOME/.credentials.yaml,变量名相同。JumpServer 地址写在 .envJUMPSERVER_URL 即可,也可以写在下一节 cordis.patch.ymlbaseUrl

使用

写好 .env 后重启 web profile:

dsh --profile web

在对话里用自然语言即可,不必写工具名,例如:

查看我当前 JumpServer 可连接的资产有哪些

或:

先确认 JumpServer 登录,再列出我能连的资产;连上 xxx 执行 hostname,然后断开。

agent 会按需调用 jms_* 工具。不要让它直接 SSH 资产 IP。