dsh-fs-reobserve

DSH PLUGIN开发与运行时

仓库 lucagiftzek/dsh-fs-reobserve · npm @lucagiftzek/dsh-fs-reobserve

开发与运行时 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH 插件:在 Agent 自身执行 bash/shell 命令后刷新其观察过的文件版本,让 FS_STALE_VERSION 只在他人写入时触发,避免自伤式陈旧报错。

一句话选型结论

按资料字段整理

dsh-fs-reobserve 是开发与运行时类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 4 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类开发与运行时 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-11-01 创建于 2026-11-01
README 7.0 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add @lucagiftzek/dsh-fs-reobserve@1.0.0
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.2-rc.1 等 2 个,Node.js 要求 >=22.5;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.2-rc.1、0.2.1-rc.5版本不匹配时安装会报错
Node.js 要求>=22.5来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/dsh-fs@*、@deepseek-ai/dsh-llm@* 等 3 个需要同时安装的同级依赖
npm 包名@lucagiftzek/dsh-fs-reobserve可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-fs-reobserve:为 DeepSeek Harness 消除自造的文件过期报错

  • 自身 shell 写入后自动刷新观察
  • 覆盖改写、删除、新建三种变化
  • 第三方写入仍正确报陈旧
  • 可配置监听工具与提示

适用场景

文件读写存储终端命令

上游标签

agent-toolsdeepseek-harnessdshdsh-pluginfs-observation-policy

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-11-06): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.2-rc.1 等 2 个),按版本装不容易报错。
  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 需要同时装好同级依赖,漏装会启动失败。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在开发与运行时场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-fs-reobserve当前 L5 · 运行验证通过 低风险 0 0.2.2-rc.1 等 2 个 有
deepseek-harness L3 · 安装规范通过 低风险 24.6 万 未标注 无
rea L4 · 沙盒安装通过 低风险 2.6 万 0.1.1-rc.2 有
dsh-TUI L4 · 沙盒安装通过 中风险 4,292 0.1.7-rc.2 等 5 个 有
mirage L3 · 安装规范通过 低风险 3,681 未标注 无
dashi-taskboard L4 · 沙盒安装通过 低风险 3,311 0.1.1-rc.2 有

仓库档案

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方lucagiftzek仓库 dsh-fs-reobserve · 默认分支 main
分类开发与运行时terminal
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-11-01 · 2026-11-01最后推送 2026-11-01
本站收录2026-11-02首次进入本站目录的时间

README 全文

7.0 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-fs-reobserve

Ends self-inflicted stale-file errors after an agent's own shell commands.

dsh plugin --profile web add @lucagiftzek/dsh-fs-reobserve
# or from GitHub: dsh plugin --profile web add github:lucagiftzek/dsh-fs-reobserve
# then restart dsh web

A DSH plugin that supplies the missing middle ground for
@deepseek-ai/dsh-fs-observation-policy.

The problem

The observation policy learns a file's version only from instrumented
filesystem operations (read, write and edit), which emit
fs/observed. dsh-tool-bash, dsh-shell and dsh-subprocess-local
contain no reference to that event. DSH's own documentation:

> Only instrumented filesystem operations report here; the OS is not watched.

So a session that modifies a file through bash leaves a stale observation,
and its very next edit of that file is refused with FS_STALE_VERSION: an
error caused entirely by the session's own action.

The three options

Strict dsh-fs-reobserve Disabled
Stale error from your own bash writes fires gone gone
Stale error from a third-party writer fires (correct) fires (correct) suppressed (unsafe)
FS_NOT_OBSERVED (read before edit) enforced enforced gone
Worst-case failure wasted call wasted call silent data loss
Discipline required yes none none

What it does

After one of a session's own bash/shell calls settles, it re-stats the
targets that session had observed and re-emits fs/observed at their
current state. All three transitions are covered:

  • present → present (new version): the command rewrote the file
  • present → absent: the command deleted the file
  • absent → present: the command created a file a read had confirmed missing

A version is never manufactured; it comes from ctx.fs.stat, the only
sanctioned source.

What it deliberately does not do

It never re-observes a change the session did not cause. A file rewritten by
cron, another agent, or a desktop editor keeps its old observation, so the next
edit still fails with FS_STALE_VERSION and the agent is still forced to
re-read. That is the protection worth keeping.

Configuration

Options are read from the plugin's loader entry config (the fs-reobserve row in your
profile's cordis.patch.yml); a settings.yaml section is not read. Example in
docs/TROUBLESHOOTING.md.

Key Default Meaning
tools [bash, shell] out-of-band tools to react to
notify true attach a notice to the tool result so the agent knows
maxNotifyPaths 4 paths named before eliding

Install

Install from npm: dsh plugin --profile web add @lucagiftzek/dsh-fs-reobserve, or from GitHub: dsh plugin --profile web add github:lucagiftzek/dsh-fs-reobserve.

dsh plugin --profile web add @lucagiftzek/dsh-fs-reobserve
# or from GitHub: dsh plugin --profile web add github:lucagiftzek/dsh-fs-reobserve
# then restart `dsh web`; the log shows "fs-reobserve: armed ..." once

A local checkout works the same way: dsh plugin --profile web add link:/absolute/path/to/dsh-fs-reobserve.
Requires Node 22.5 or newer and a DSH build that ships @deepseek-ai/dsh-fs-observation-policy
(used on DSH 0.1.5 and 0.2.1). Tests: npm test.

The package declares dsh.bundle, so dsh plugin add puts it in dsh.profile.bundles
and its own patch inserts the fs-reobserve entry. Do not add a second insert row by hand.

Kill switch without uninstalling

Add to ~/.dsh/profiles/web/cordis.patch.yml:

- id: fs-reobserve
disabled: true

When something goes wrong

  • Ask your agent to load the fs-reobserve-doctor skill. This version does not register
    it automatically: copy skills/fs-reobserve-doctor into ~/.dsh/skills/ once
    (how).
  • Symptom-first guide: docs/TROUBLESHOOTING.md.
  • Codes and log lines: docs/ERRORS.md.

More plugins by the same author

All of them are open source and run on DeepSeek Harness 0.2.x (several on 0.1.5 too).

Plugin What it does
dsh-artifacts An Artifacts tab that lists the files an agent produced and previews them in place, plus a template library agents can use and extend
dsh-mail Mail client and agent mail tools: IMAP, POP3, SMTP and OAuth2 accounts, scheduled and bulk sends with unsubscribe handling
dsh-note-keeper Obsidian-compatible Markdown notes in the sidebar with search, graph, audio notes and transcription, OCR and client-side encryption
dsh-phone SMS and calls (Twilio, SIP via Asterisk) with call audio through your own server, live voicemail and Telegram
dsh-voice Read-aloud, dictation and language-aware speech with 23 TTS and STT providers, per-language routing and word highlighting
dsh-orchestrator Agent swarm and task orchestration: an Orchestrate tab, orch_* tools, runners, provider cards and a machine API
dsh-workspace-rail A workspace-first sidebar rail: pinned chats, projects as folders, live Recents, search and unread markers
DSH-Idle-Watchdog Idle-chat nudges and an authenticated HTTP API that posts a prompt into any chat
dsh-plugin-updates Update checker that only offers releases your running DSH core can load
dsh-subagent-tiering Subagents default to a cheaper sibling of the parent model unless the agent names a route
dsh-fs-reobserve (this one) Ends self-inflicted stale-file errors after an agent's own shell commands
dsh-request-image-cap Clamps every image sent to the model to a pixel cap, fixing many-image request errors
dsh-seal An encrypted channel in front of DSH: a Go reverse proxy plus a service worker that seal all DSH browser traffic

Built by Luca Tzekos, who also makes Job Opportunities API: employer-direct job data with per-field provenance you can verify yourself, free to read and available as an API. If this plugin is useful to you, a star on this repo or a look at jobopportunitiesapi.org is the best thanks.

常见问题

9 问
答案由本站依据条目字段整理,不引用上游原文
dsh-fs-reobserve 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add @lucagiftzek/dsh-fs-reobserve@1.0.0` 即可。对应的 npm 包名是 `@lucagiftzek/dsh-fs-reobserve`。

dsh-fs-reobserve 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-fs-reobserve 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

dsh-fs-reobserve 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-fs-reobserve 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.2-rc.1、0.2.1-rc.5。

dsh-fs-reobserve 需要什么运行环境?

Node.js >=22.5;需要同时安装 @deepseek-ai/dsh-fs@*、@deepseek-ai/dsh-llm@*、@deepseek-ai/schemastery@*。环境不满足时安装会失败,建议先确认本机版本。

dsh-fs-reobserve 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-fs-reobserve 有哪些功能?

自身 shell 写入后自动刷新观察、覆盖改写、删除、新建三种变化、第三方写入仍正确报陈旧、可配置监听工具与提示。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

开发与运行时
按星标排序,可作替代方案

rea

rea

L4 · 沙盒安装通过 2.6 万 星

dsh-TUI

dsh-TUI

Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

L4 · 沙盒安装通过 4,292 星

mirage

mirage

把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Sla

L3 · 安装规范通过 3,681 星

dashi-taskboard

dashi-taskboard

把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述

L4 · 沙盒安装通过 3,311 星

lucagiftzek 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-11-06。