Folio(兰亭)@nyantused/folio-dsh-tools:咨询/汇报材料生成引擎的 15 个 DSH 原生工具(记忆面 + 质量门禁)+ L0 守卫;与 @nyantused/folio-dsh-events 配套使用。
安装
# npm 包(预构建)
dsh plugin --profile web add @nyantused/folio-dsh-tools
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:nyantused-cpun/folio#path:/plugins/folio-tools
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
P1 实施(2026-08-14);L0 守卫合并(2026-08-16)。把兰亭「模型决策点」命令注册为 DSH 原生工具;生成型机械命令(html-build/pptd-/docx-build/quote- 等)留 pwsh。安装本包即同时获得 15 个工具 + L0 守卫(原
@presales/dsh-guard)。
1. 工具面(15 个)
- 记忆面 9:folio_status / folio_pending / folio_recall / folio_read / folio_chunk_read / folio_graph_query / folio_session_start / folio_save / folio_load
- 质量面 6:folio_verify / folio_review / folio_cite_audit / folio_audit / folio_theme_verify / folio_spec_diff
每个工具 = defineTool({name, description, parameters, output, execute});execute 走 ctx.subprocess.spawn([PYTHON, "_cli.py", ...args])(vision-bridge 已验证模式),CLI 支持 --json 的命令结构化返回,其余返回 stdout 文本。value 恒为 {ok, exitCode, output, error?}。
1.1 守卫面(L0,原 @presales/dsh-guard)
fs/write-intent/fs/edit-intent:拦output/**/*.{html,pptx,docx,xlsx}直写与一切refs/**写/改(项目内路径)tools/pre-execute:拦 pwsh/bash 里除python.exe _cli.py ...外的 python 直调,以及 shell 直写受保护路径- 作用域隔离:shell/python 拦截仅对「售前项目内」命令生效,其他 workspace/项目完全放行
2. 接口依据
ctx.tools.register/defineTool:dsh-tools 官方注册面(rc.8 逐行核实);注册层 = 调用方 ctx scope(profile 层 = host 全局);ctx.subprocess.spawn:argv/cwd/stdio.maxBytes/graceMs +proc.collected.stdout.readFrom(0).text;ctx.timeout:fiber 生命周期计时器;- guard 兼容:工具 spawn 不经过 pwsh/bash exec(与 guard 的 tools/pre-execute 无交叉);命令形态保持
.venv python _cli.py,满足 guard CLI 白名单(单测含正则断言)。
3. 目录
.dsh/folio-tools/
index.js 插件体(runCli + makeCliTool + apply + 安装守卫)
defs.js TOOL_DEFS 纯数据(零依赖,可独立单测)
guard.js L0 守卫纯函数 + install(零依赖,可独立单测)
guard-entry.js @nyantused/folio-dsh-tools/guard 子入口(profile 层挂载用)
cordis.patch.yml 激活 patch(工具 + guard 两个 entry)
package.json
test/run-check.mjs 沙箱内自检(无 spawn);用户终端可跑 node --test 变体
README.md
4. 验证
- 沙箱内:
node --check index.js defs.js guard.js+node test/run-check.mjs(2026-08-14:10/10 通过;2026-08-16 增补 guard 纯函数断言;2026-08-20:rc.8 源码复核 + import 冒烟通过); - 运行级(待 dsh web 重启):新会话问模型「你有哪些 folio_ 工具」;直接调 folio_status 应返回客户状态 JSON;
- 守卫运行级:新会话 pwsh 直接
python -c "print(1)"应被 deny;.venv/Scripts/python.exe _cli.py status应放行。
5. 已知限制
- host 插件改动需重启
dsh web生效; review/cite-audit/audit all是 LLM 重操作(timeoutMs 300s);folio_review云端审查依赖能力槽 key 或 DSH 子代理补位;- 工具输出为 CLI stdout 直传,超长输出由 DSH 工具结果剪枝(8192 字符)兜底。
6. 变更记录
- 0.1.0-rc.1(2026-08-14):M1+M2——15 工具(记忆面 9 + 质量面 6),defs 模块化 + 沙箱内自检脚本。
- 1.1.0(2026-08-16):合并原 @presales/dsh-guard 为 guard.js,安装本包即同时获得 L0 守卫;package.json files/keywords 同步更新。
链接
同类插件
Q00/ouroboros#integrations/dsh-plugin★ 6128
通过 DSH MCP 客户端挂载 Ouroboros 的纯配置包,在 DSH 中提供 36 个涵盖需求访谈、Seed、执行、评估与演化流程的工具。
loopx-project/loopx#dsh-loopx-plugin★ 6087
LoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
chuspeeism/dashi-taskboard#deepseek-harness★ 3253
把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述文件连接,而不是使用固定端口。
NanmiCoder/dsh-agent-teams★ 1839
AgentTeams 多智能体团队。
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1181
安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。
tong-io/tongflow#dsh-tongflow★ 1034
基于 TongFlow 的“片场”插件,用于图片、配音、音乐与视频制作:agent 为每个资产生成 TongFlow 工作流文件(.tongflow.json)并通过 TongFlow 插件执行,内嵌工作流画布,按镜头/角色/take 组织项目,附漫剧模板;以 @tongflow 开头的会话进入 Studio 界面。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。