DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

2233heorbrin /

2233heorbrin/fish-body

Verified

DSH agent 框架的「身体」层:饭→胃→手流程入口、目录查看、身体开关,以及只在开启时挂载的 SHA-256 工具

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@ae1783de

fish-body(鱼的身体)

一个 DSH bundle,包含饭(固定上游材料)→胃(审查、依赖准备、构建)→手(受管包、决定、部署和恢复)的现有完整后端、设置页及内置 SHA-256。无需另找未发布的 fish-hand 后端。

官方原版仍无安装事务扩展;配套扩展为隔离验证原型。 根入口检测宿主明确导出的 installTransactionExtensionVersion=1,官方 rc.5 继续显示 FISH_NATIVE_INSTALL_INTERCEPT_UNAVAILABLE。扩展宿主按已选择 bundle 的 dsh.installTransaction 元数据调用现有后端,然后由原生执行器安装同一受管 tgz,保留兼容性、失败和恢复语义。插件不会自行修改宿主。

安装入口与运行要求

需要 DSH 和 Node >=22.14。已验证官方 0.2.1-rc.5 的插件生命周期、后端挂载与资源释放,不声称完整安装接管已验证。

当前版本为 0.0.2。可使用 GitHub 根仓库入口;开发者也可在仓库根执行 npm pack --ignore-scripts,把生成的 fish-body-0.0.2.tgz 作为 file:<绝对 tgz 路径> 交给 DSH 原生插件管理。启停以原生插件选择为准,不增加第二个总开关。完整安装接管需要上述配套宿主扩展;“换用线上版本”另需市场可选接口支持。

首次初始化与数据

每个 DSH Profile 保存一份 <Profile>/fish-data.json,鱼脑和身体共用:

{"schema":"fish-profile-data/v1","root":"<绝对数据根目录>","components":["brain","body"],"origin":"conversation-workspace"}
  • 尚未初始化时,从当前主对话实际绑定的工作区取根目录;不使用进程 cwd、安装目录或最近会话。没有有效工作区时显示“待选择工作区”,在页面选文件夹后继续。
  • 先装脑或先装身体均可,后装者复用绑定,只补齐自己的目录。两个插件可以分别安装。
  • 绑定后切换会话不换根。页面显示实际路径,可打开对应文件夹。
  • 手动切换数据位置只更新绑定、补齐新目录,不会搬迁旧数据。已经挂载的身体后端需要重新加载才能使用新根,期间拒绝向旧根启动新流程。
  • 多个 Profile 各有绑定。可以人为选择相同数据根;这不会合并 Agent、开关或其他配置。
  • 升级时保留通过配置传入的有效旧根及已有文件,只补缺失结构。旧根失效时保留原路径并提示重选,不自动换位置。
  • 页面分别显示目录初始化和程序准备状态;host-blocked 不是完整功能就绪。失败显示原因,可点“重试准备”。

后端与自动程序依赖

身体初始化 <根>/饭、鱼的胃/{来源审查,脑组件,手组件}、鱼的手/{插件仓,插件注册表,运行数据,审计日志}。共享绑定是数据根唯一权威;<Profile>/fish-body-state.json 是后端运行路径投影,不要把它当成另一份需要手动维护的根配置。

完整后端在 internal/backend/,保留已实现的源码包身份、GitHub 子目录/固定 commit/归档回退、批准复用、依赖生命周期语义、产包、部署原有文件完整性、正常 .bin 生成入口及失败恢复。市场适配复用既有可选 fish-body.market.v1 接口,按 Profile 注册、随身体卸载撤销;没有该接口的市场不宣称已适配。

固定正常依赖:yaml@2.8.1、pnpm@12.4.2、npm@11.6.2。优先使用宿主 ProfileContext 提供的包管理命令,缺省使用包内声明的 pnpm;npm 生命周期执行器来自声明的 npm 依赖,不依赖作者机器的隐藏安装。Node 优先使用当前 Node 进程,桌面宿主另需可用 Node;缺失会显示准备失败,不静默继续。自身无 install/build 脚本;候选插件确需执行的生命周期钩子仍按现有授权处理。

不需要安装鱼脑;身体不读取人格或记忆。普通工具安装意图、权限、新增执行范围和完整性沿用原流程;不是通过放宽准入来解决发行问题。

原生开关和限制

关闭身体插件时,本 Profile 已接纳的身体操作先收尾,期间拒绝新流程;实际 Cordis 卸载释放路由、fish_hand 及 utility_sha256,另一个 Profile 和独立工具保持可用。已有文件和记录保留,不主动开关独立插件。

扩展宿主仅在身体 bundle 已选择时调用事务入口;关闭后原生安装不读取身体注册表、不产生身体审计。普通启用、停用不经过安装事务。既有独立插件不随身体卸载。官方原版和扩展版的验收必须分别报告。

开发验证

将发行物独立安装在临时目录,设置 FISH_TEST_INSTALL_ROOT;官方原生测试另设 FISH_DSH_TEST_ANCHOR 为临时官方宿主 package.json。

node --test test/distribution.test.mjs test/backend-*.test.mjs test/official-native.test.mjs

包含真实本地产包、依赖生命周期、源码身份、Git/归档替身、本地离线 pnpm 安装与部署校验、多 Profile 状态隔离及原生卸载。网络测试不是 GitHub 在线验收;路由与文件夹打开测试使用最小连接/桌面 opener 接缝,不是完整桌面点击验收。未在生产安装或重启,没有真实市场安装验收。

MIT,第三方来源与许可见 THIRD-PARTY-NOTICES.md。

—/ 5

No ratings yet

Verified DSH bundle

Commit ae1783de2633

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout