DeepSeek Harness 插件

dsh-node-repl

Per-session Node REPL terminal in the DSH web UI: a session-local floating terminal (ghostty-web) bridged over WebSocket to an in-process node:repl that has the live agent Cordis Context (agent.ctx)(英文原文)

跳到安装方式

来源信息

GitHub 仓库
idkidknow/dsh-node-repl
最近更新
2026年8月16日
分类
自动化与任务
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/idkidknow/dsh-node-repl
插件名:dsh-node-repl
作者:idkidknow

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器2 个文件
README.md来源说明 · 只读预览

dsh-node-repl

![npm version](https://www.npmjs.com/package/dsh-node-repl)

Per-session Node REPL terminal for the DSH web UI. Open a real Node.js REPL inside any conversation — with the live agent context (ctx, agent) in scope.

Features

  • A REPL button in every session header opens a floating terminal window,

local to that session (no global overlay, no conversation space taken).

  • A real node:repl prompt — Tab completion, up/down history, top-level await,

ANSI colors, .help / .editor.

  • The live agent context is in scope: ctx (= agent.ctx) and agent, so

ctx.plugin, ctx.effect, ctx.get, ctx.on, ctx.provide all work — plus the usual Node globals (require, process, console, fetch, …).

  • Draggable and resizable window; collapse keeps the REPL alive, close kills it.

Install

dsh plugin --profile web add dsh-node-repl

Restart dsh web, and the REPL button appears in each session header.

Usage

Open a session, click REPL, and type JavaScript. Top-level await works:

> 1 + 1
2
> await Promise.resolve(42)
42
> ctx.get("webServer")   // any service the agent can reach
> agent.id               // the session id

Window controls

ControlEffect
Header REPL buttonopen / restore / collapse
Title bar collapse (keep the REPL alive)
Title bar close (kill the REPL)
Drag the title barmove the window
Drag the bottom-right cornerresize

The REPL belongs to its session: refreshing the page, dropping the WebSocket, or disposing the agent kills it (reopen to start fresh).

Notes

The REPL runs inside the DSH host process (not in a child), which is how it reaches the live agent.ctx. That also makes it a fully-trusted local tool: code runs unsandboxed and can hang the process — treat it like a shell on that process.

Development

Requires pnpm and Node ≥ 22. Build outputs (lib/) are generated, not committed.

pnpm install   # installs deps and builds (prepare)
pnpm build     # rebuild host (tsc) + client bundle (esbuild)
pnpm test      # PTY/REPL bridge smoke test
pnpm lint      # eslint
pnpm format    # prettier --write