Skip to main content

clu

SSH 会话保持与管理 + Slurm 集群 / 普通服务器的 AI agent 能力层。

一个常驻 daemon 持有 SSH 连接池、tmux 托管会话与执行留痕;Claude Code(MCP) 与人类(clu CLI)作为两个薄客户端共享同一套能力。

当前版本:v0.1.4。设计共识与里程碑见 DESIGN.md, 完整用法见 使用说明。

能做什么

  • 从 ~/.ssh/config 导入连接,常驻连接池(心跳、断线自动重连、单级跳板)
  • 查看集群资源余量与实时队列(可过滤“有空闲 CPU / CPU 与 GPU 都空闲 / 完全空闲 / 只看 GPU 节点”)
  • 抢占交互式资源(默认 GPU 优先、无则 CPU),分配后 clu attach 直接进入计算节点 shell
  • 提交批处理作业(可指定分区/节点数/CPU/GPU/时限),脚本与 stdout/stderr 统一落 ~/.clu/jobs/,本地台账定期核对状态
  • SFTP 上传下载、本地端口转发
  • 执行流水与作业/会话台账可检索;危险命令与登录节点重操作由服务端安全门拦截
  • Claude Code 经 MCP 使用同一套能力(16 个工具,只读工具带 read-only hint)

安装

uv tool install clu-ssh      # 或 pipx install clu-ssh

要求:Python ≥ 3.11;macOS 或 Linux。发布的是纯 Python wheel(py3-none-any), 不依赖本机编译工具链。

接入 Claude Code(MCP)

# 项目级
claude mcp add clu -- clu-mcp

# 或用户级
claude mcp add --scope user clu -- clu-mcp

工具面(○ 为只读,可在权限设置中免确认):

工具 说明
exec 远程执行单条命令(受安全门约束)
○ jobs / ○ status / ○ resources 实时队列 / 集群概览 / CPU·GPU 余量
submit / cancel 提交作业(脚本与日志入 ~/.clu/jobs/)/ 取消作业
○ job_list / ○ log 作业台账 / 作业日志
alloc 抢占交互式资源(自动选择,GPU 优先回退 CPU)
○ session_list / ○ session_info / session_release 托管会话查看与释放
upload / download SFTP 传输
○ ledger_query / ○ connection_list 执行留痕检索 / 连接与连接池状态

开发

uv sync                        # 安装依赖(含 dev 组)
uv run clu --help              # CLI
uv run pytest                  # 单元 + 容器化集成测试
uv run ruff format .           # 格式化
uv run ruff check .            # 静态检查
uv run mypy                    # 类型检查(strict)

CI(GitHub Actions)在 macOS 与 Linux 矩阵上运行同一套检查;tag 推送触发 PyPI 发布。

License

MIT

Metadata

Release files for clu-ssh 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clu-ssh 0.1.4
File Size Uploaded Provenance
clu_ssh-0.1.4.tar.gz 364.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for clu-ssh 0.1.4
File Interpreter ABI Platform
clu_ssh-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 430.3 kB

Release files / clu_ssh-0.1.4.tar.gz

Download URL clu_ssh-0.1.4.tar.gz
Size 364.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ff4dd47aa90ada9793a89e6e80aba3720cb2f7b6c055ef64d72db38aa5d8b6cc
BLAKE2b-256 checksum
How to use checksums
72c58923651ec33b8a7170c6f021fc8f660558fbff4d85c1a62fe3cc13b57949
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / clu_ssh-0.1.4-py3-none-any.whl

Download URL clu_ssh-0.1.4-py3-none-any.whl
Size 65.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae4c1e5d0a01f1280efbf74f2604f5bd6950c93436ef2acaa98cfa1a4df7becf
BLAKE2b-256 checksum
How to use checksums
c6dd1a2fae83f48460f3e6a107eb7c91fa9182d2fd9ea76d968f5adbfbc29c3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for clu-ssh 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page