Skip to content

Releases: Verisw/rea-dsh

Release list

v1.0.0

Choose a tag to compare

@Verisw Verisw released this 24 Oct 21:59

首个稳定版:一个 bundle 覆盖 desktop / web / headless / dsh-tui 四个 profile;REA 转接层懒启动、空闲自动退出;一条命令安装(
== 运行环境 ============================================================
ok node 23.11.0
ok dsh 0.2.0-rc.2 (/opt/homebrew/lib/node_modules/@deepseek-ai/dsh/package.json)
ok 来源:git checkout /Users/jiewang/Desktop/Code/rea-dsh -> 软链安装,改代码即时生效

== profile =========================================================
ok desktop 已装
ok dsh-tui 已装
ok headless 已装
ok web 已装

== 安装 ==============================================================
install desktop
link already correct
dsh.profile.bundles already lists dsh-rea-reverse-preset
profile already up to date
next: quit and reopen the DeepSeek Harness app
install dsh-tui
link already correct
dsh.profile.bundles already lists dsh-rea-reverse-preset
profile already up to date
next: restart dsh-tui
install headless
link already correct
dsh.profile.bundles already lists dsh-rea-reverse-preset
profile already up to date
next: each "dsh -p" run picks it up
install web
link already correct
dsh.profile.bundles already lists dsh-rea-reverse-preset
profile already up to date
next: restart "dsh web"

== 分析引擎(不配也能用,只是少了对应工具) ============================================
ok Hopper /Users/jiewang/Applications/Hopper Disassembler.app/Contents/MacOS/hopper
ok Ghidra /Users/jiewang/Tools/ghidra_12.1.4_PUBLIC
ok JAVA_HOME /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home (Java 21)
warn IDA 未配 REA_IDA_MCP_CONFIG,只影响 IDA 那批工具

建议加进 shell 配置(脚本探测到的路径):
export HOPPER_LAUNCHER_PATH="/Users/jiewang/Applications/Hopper Disassembler.app/Contents/MacOS/hopper"
export GHIDRA_INSTALL_DIR="/Users/jiewang/Tools/ghidra_12.1.4_PUBLIC"
export JAVA_HOME="/opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home"
.. 想自动写入:npm run setup -- --write-env

== 校验 ==============================================================

package

PASS package name — dsh-rea-reverse-preset
PASS version is semver — 1.0.0
PASS license declared and present — MIT
PASS dsh.bundle.patch resolves — ./cordis.patch.yml
PASS every published file exists — 12 entries
PASS every npm script target exists — 12 scripts

preset declaration

PASS patch is one pure insert layer
PASS patch inserts exactly one row
PASS row uses the official declaration plugin — @deepseek-ai/dsh-agent-preset
PASS preset id is a stable slug — reverse
PASS declaration has an order — 5
PASS top-level rows — 21
PASS rows including group children — 34
PASS row ids are unique — 34 ids
PASS every row names an id and a plugin
PASS every group carries an isolate realm — planning, compaction, delegation

REA row

PASS the composition contains !!js scalars — [0].config.command, [0].config.args, [0].config.env, [3].disabled, [4].disabled, [8].config.bundledSkillDir
PASS mcp-rea uses the stdio client — @deepseek-ai/dsh-mcp-client
PASS serverName and transport — rea/stdio
PASS a dead REA leaves the preset selectable — failOnStartupError: false
PASS the row launches the host runtime — /opt/homebrew/Cellar/node/23.11.0/bin/node
PASS the supervisor resolves from the installed profile — /Users/jiewang/Desktop/Code/rea-dsh/scripts/rea-lazy.mjs
PASS the supervisor resolves from the tui include — /Users/jiewang/Desktop/Code/rea-dsh/scripts/rea-lazy.mjs
PASS every env value is a non-empty string — HOPPER_LAUNCHER_PATH, REA_MCP_SPEC
PASS the supervisor keeps --prefer-offline
PASS the supervisor pins a REA build
PASS the supervisor spawns mcp as the only REA verb
PASS the supervisor reads REA_LAZY_MODE
PASS the supervisor reads REA_LAZY_IDLE_MS
PASS the supervisor reads REA_LAZY_CACHE
PASS the supervisor reads REA_MCP_SPEC

skill row

PASS no redundant customSkillDirs — the user-agents root already scans ~/.agents/skills
PASS bundledSkillDir resolves from an installed profile — /Users/jiewang/Desktop/Code/rea-dsh/skills
PASS bundledSkillDir resolves from the tui include — /Users/jiewang/Desktop/Code/rea-dsh/skills/
PASS an unresolvable skill dir is omitted, not guessed — undefined
PASS the bundled skill is present — skills/reverse-workflow/SKILL.md

portability

PASS no machine-specific path in cordis.patch.yml
PASS no machine-specific path in tui/agent.cordis.yml

dsh-tui twin

PASS tui composition equals the patch composition — 21 rows
PASS the twin is marked generated

host

PASS host installation found — 0.2.0-rc.2 at /opt/homebrew/lib/node_modules/@deepseek-ai/dsh
PASS only the two REA rows are added over standard — mcp-rea, tool-presentation
PASS no standard row is dropped
PASS every plugin row resolves here — 31 names
PASS mcp-client config passes the live schema — serverName, transport, command, args, env, toolCallTimeoutMs, failOnStartupError
PASS skill-filesystem config passes the live schema — bundledSkillDir

RESULT: PASS
host 0.2.0-rc.2 (/opt/homebrew/lib/node_modules/@deepseek-ai/dsh/package.json)
PASS desktop — preset reverse / 21 plugin rows, layer 5/11, 4 unrelated skip(s)
PASS dsh-tui — preset reverse / 21 plugin rows, layer 3/3, 0 unrelated skip(s)
PASS headless — preset reverse / 21 plugin rows, layer 3/3, 0 unrelated skip(s)
PASS web — preset reverse / 21 plugin rows, layer 6/6, 0 unrelated skip(s)

RESULT PASS — 4 profile(s) compose

== 接下来 =============================================================

  • 桌面 App:完全退出再打开(Cmd+Q,不是关窗口)
  • dsh-tui:退出重开
  • headless:下次 dsh -p 自动带上,无需操作
  • dsh web:重启那个命令 / 那个进程

重启后:/preset -> 逆向工程模式(或 /preset reverse),然后 /mcp 看一眼 REA 是否起来。
已有对话历史的会话不能切 preset,新开一个会话。

完成,没有需要你处理的问题。 或
== 运行环境 ============================================================
ok node 23.11.0
ok dsh 0.2.0-rc.2 (/opt/homebrew/lib/node_modules/@deepseek-ai/dsh/package.json)
warn dsh --version 什么都不打印:它跑在缺 import.meta.main 的 Node 上(PATH 上是 v23.11.0)
dsh plugin 会静默退出、exit 0 却什么都没装。换 Node >= 22.18 / >= 24,或改用 checkout 软链方式。
ok 来源:git checkout /Users/jiewang/Desktop/Code/rea-dsh -> 软链安装,改代码即时生效

== profile =========================================================
ok desktop 已装
ok dsh-tui 已装
ok headless 已装
ok web 已装

== 安装 ==============================================================
install desktop
link already correct
dsh.profile.bundles already lists dsh-rea-reverse-preset
profile already up to date
next: quit and reopen the DeepSeek Harness app
install dsh-tui
link already correct
dsh.profile.bundles already lists dsh-rea-reverse-preset
profile already up to date
next: restart dsh-tui
install headless
link already correct
dsh.profile.bundles already lists dsh-rea-reverse-preset
profile already up to date
next: each "dsh -p" run picks it up
install web
link already correct
dsh.profile.bundles already lists dsh-rea-reverse-preset
profile already up to date
next: restart "dsh web"

== 分析引擎(不配也能用,只是少了对应工具) ============================================
ok Hopper /Users/jiewang/Applications/Hopper Disassembler.app/Contents/MacOS/hopper
ok Ghidra /Users/jiewang/Tools/ghidra_12.1.4_PUBLIC
ok JAVA_HOME /opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home (Java 21)
warn IDA 未配 REA_IDA_MCP_CONFIG,只影响 IDA 那批工具

建议加进 shell 配置(脚本探测到的路径):
export HOPPER_LAUNCHER_PATH="/Users/jiewang/Applications/Hopper Disassembler.app/Contents/MacOS/hopper"
export GHIDRA_INSTALL_DIR="/Users/jiewang/Tools/ghidra_12.1.4_PUBLIC"
export JAVA_HOME="/opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home"
.. 想自动写入:npm run setup -- --write-env

== 校验 ==============================================================

package

PASS package name — dsh-rea-reverse-preset
PASS version is semver — 1.0.0
PASS license declared and present — MIT
PASS dsh.bundle.patch resolves — ./cordis.patch.yml
PASS every published file exists — 12 entries
PASS every npm script target exists — 12 scripts

preset declaration

PASS patch is one pure insert layer
PASS patch inserts exactly one row
PASS row uses the official declaration plugin — @deepseek-ai/dsh-agent-preset
PASS preset id is a stable slug — reverse
PASS declaration has an order — 5
PASS top-level rows — 21
PASS rows including group children — 34
PASS row ids are unique — 34 ids
PASS every row names an id and a plugin
PASS every group carries an isolate realm — planning, compaction, delegation

REA row

PASS the composition contains !!js scalars — [0].config.command, [0].config.args, [0].config.env, [3].disabled, [4].disabled, [8].config.bundledSkillDir
PASS mcp-rea uses the stdio client — @deepseek-ai/dsh-mcp-client
PASS serverName and transport — rea/stdio
PASS a dead REA leaves the preset selectable — failOnStartupError: false
PASS the row launches the host runtime — /opt/homebrew/Cellar/node/23.11.0/bin/node
PASS the supervisor resolves from the installed profile — /Users/jiewang/Desktop/Code/rea-dsh/scripts/rea-lazy.mjs
PASS the supervisor resolves from the tui include — /Users/jiewang/Desktop/Code/rea-dsh/scripts/rea-lazy.mjs
PASS every env value is a non-empty string — HOPPER_LAUNCHER_PATH, REA_MCP_SPEC
PASS the supervisor keeps --prefer-offline
PASS the supervisor pins a REA build
PASS the supervisor spawns mcp as the only REA verb
PASS the supervisor reads REA_LAZY_MODE
PASS the supervisor reads REA_LAZY_IDLE_MS
PASS the supervisor reads REA_LAZY_CACHE
PASS the supervisor reads REA_MCP_SPEC

skill row

PASS no redundant customSkillDirs — the user-agents root already scans ~/.agents/skills
PASS bundledSkillDir resolves from an installed profile — /Users/jiewang/Desktop/Code/rea-dsh/skills
PASS bundledSkillDir resolves from the tui include — /Users/jiewang/Desktop/Code/rea-dsh/skills/
PASS an unresolvable skill dir is omitted, not guessed — undefined
PASS the bundled skill is present — skills/reverse-workflow/SKILL.md

portability

PASS no machine-specific path in cordis.patch.yml
PASS no machine-spe...

Read more