一键导入
remote-compute-ssh
Submit recoverable SSH-direct research Runs through Wisp's local control plane without blocking the conversation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Submit recoverable SSH-direct research Runs through Wisp's local control plane without blocking the conversation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | remote-compute-ssh |
| description | Submit recoverable SSH-direct research Runs through Wisp's local control plane without blocking the conversation. |
| license | Apache-2.0 |
Use this skill after choosing an ssh:<alias> execution context. Wisp owns the
job lifecycle locally: run_in_context creates the Run record, stages explicit
inputs, starts a detached supervisor on the server, and returns after launch.
The Runs panel and SQLite record remain authoritative if the conversation ends
or Wisp restarts.
shell only for a few quick, read-only discovery commands such as
ssh <alias> 'nvidia-smi -L', which python3, or module avail.run_in_context call. Include environment
activation in the command so the Run is reproducible.get_run once for the latest status and output
tails. Use cancel_run when the user asks to stop it.Never monitor a Run with Start-Sleep, sleep, ssh ... ps, kill -0, a
shell polling loop, nohup, background &, or hand-written PID files. Those
duplicate the control plane and can strand the agent turn. A transient SSH
error is stored as last_poll_error; do not resubmit, because Wisp retries the
same idempotent remote handle.
{
"context_id": "ssh:gpu-box",
"title": "Motif enrichment across 2,000 backgrounds",
"command": "source ~/miniforge3/etc/profile.d/conda.sh && conda activate genomics && python motif_enrichment_analysis.py",
"timeout_secs": 14400,
"input_paths": ["scripts/motif_enrichment_analysis.py"]
}
input_paths are project-relative local files. Wisp validates them, copies
them into an isolated inputs/ directory, and flattens them to their basenames.
The command starts in that directory, so the example above can use the staged
script by basename. Keep inputs small enough to transfer interactively. For a large dataset already on
the server, reference its absolute remote path in command; do not copy it
back to the laptop just to send it out again.
The control directory is ~/.wisp-science/runs/<run-id> and the command starts
in its inputs/ subdirectory. stdout and stderr are
tailed into the Run record. The SSH supervisor requires setsid, GNU-compatible
timeout, bash, and /proc; a missing prerequisite fails the Run instead of
running without a wall-time limit. Wisp maps the supervisor timeout marker to
timed_out.
SSH-direct v1 does not expand remote output globs or automatically download a
remote directory. Do not promise that relative output_specs will be
harvested. When the command writes a result to a known durable server path, it
may register that exact path as a remote Artifact reference:
{
"output_specs": [
{
"glob": "ssh://gpu-box/home/me/project/results/motif_enrichment_all.tsv",
"kind": "table",
"residency": "remote"
}
]
}
For a small result that must become local, wait until the Run is terminal, then transfer it as a separate quick operation and register the local file. Large outputs should remain remote references.
cancel_run({"run_id":"..."}) changes an SSH Run to cancelling. Wisp
verifies the persisted token, PGID, and Linux process start time before sending
TERM to the remote process group; it records cancelled only after remote
confirmation. If the server is temporarily unreachable, the Run stays
cancelling and retry continues after reconnection or app restart.
Active statuses are submitted, running, and cancelling. Terminal statuses
are succeeded, failed, timed_out, cancelled, and lost. lost means
the remote token/control directory/process identity was definitively missing,
not merely that one SSH poll failed.
This implementation is SSH-direct and assumes a Linux-like server with sh,
bash, nohup, setsid, and /proc. Do not daemonize or create a new session
inside the job, because that escapes process-group cancellation.
Scheduler lifecycle is not implemented yet. Do not submit sbatch, qsub, or
bsub through this direct runner: the Run would only track the short submit
command, not the scheduler job. On a shared login node, ask the user for a
dedicated compute host or explain that scheduler-aware submit/poll/cancel is a
separate capability still needed.
Configure the local wisp-science runtime — uv/Python bootstrap, Node+scimaster-cli for bear-* literature skills, pixi for bioinformatics multi-env analysis. Detect mainland-China network and apply mirrors. Use when Capabilities shows missing Python/uv/Node/sci/pixi, bootstrap errors, or the user asks to 配置环境 / install Python / uv / Node / pixi / set up the local environment. Not for remote GPU/SSH compute (use compute-env-setup).
Use the InfiniSynapse CLI (`agent_infini`) for multi-turn AI data-analysis tasks, database/RAG context, and task workspace files. Use when the user mentions InfiniSynapse, agent_infini, database or RAG analysis, or asks to delegate analysis through InfiniSynapse.
Find, verify, and synthesize scientific literature — from "what's the seminal paper for X" through full multi-source reviews. Covers grounding claims in real retrieved sources, avoiding fabricated citations, handling retractions, and calibrating confidence to evidence strength.
给一句话或一段话,找出真实学术文献来反对它——相反结论、边界条件、替代解释、方法批评、复制失败。按威胁程度排序,每篇附一行"它如何威胁这个观点"和"怎么回应它"。底层走真实检索(scimaster-cli),绝不编造反例。 **以下情况请主动触发本技能**:用户想"提前挡住审稿人"、"找这个结论的反例"、"这个方向有没有争议"、"有没有跟这个相反的研究"、"帮我攻击这个论点"、"这个结论稳不稳"、"想知道有哪些反对意见"——即使用户没有说"bear-counter",只要意图是**为一个观点寻找学术反对证据**,就使用本技能。bear-support 和 bear-counter 配对使用效果最好:对同一段话各跑一遍,就能同时看到正反两面。 不适用于:找支持文献(用 bear-support)、选题查重(用 bear-scoop)、概念地图(用 bear-map)、溯源演化史(用 bear-trace)。
给一个概念,从真实检索到的论文摘要里挖出它的邻近概念,画出以该概念为中心的知识地图——每个节点都锚定真实文献,不从记忆里补节点。同时输出 Mermaid 概念图(可在 Claude Code / GitHub / Obsidian 渲染)和可截图的独立 HTML 地图,再给 3–6 篇入门推荐。 **以下情况请主动触发本技能**:用户说"帮我画一张这个概念的知识地图"、"这个词周围有哪些相关概念"、"梳理一下这个方向的概念网络"、"给我一张概念图"、"这个领域的核心概念有哪些"、"知识地图"、"概念地图"、"map out this concept"、"draw a knowledge map of X"、"what concepts surround X"、"show me the concept network around this term"、"concept map for X"——即使用户没有说"bear-map",只要意图是**以一个概念为中心,了解它周围的知识版图**,就使用本技能。 不适用于:为观点找支持文献(用 bear-support)、找反对文献(用 bear-counter)、选题查重(用 bear-scoop)、溯源演化史(用 bear-trace)。
给一个概念或领域,同时画出它的概念版图(空间:现在这个领域长什么样)和演化脉络(时间:这个领域是怎么走到今天的),在一份综合报告里帮你快速建立对一个陌生领域的立体认知。底层走真实检索(scimaster-cli),绝不编造引用。 **以下情况请主动触发本技能**:用户想"快速入门一个领域"、"搞懂这个方向"、"这个领域的核心概念和发展历史"、"帮我建立对这个方向的认知框架"——即使没有说"bear-onboard",只要意图是**对一个陌生领域同时理解概念版图和演化脉络**,就使用本技能。 不适用于:只画概念地图(用 bear-map)、只做溯源(用 bear-trace)、为观点找文献(用 bear-support / bear-counter)、选题查重(用 bear-scoop)。