尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
我给 AI 的约定写了个插件:让规则在对的时刻自己出现
摘要约定写进记忆就够了吗不够——语义召回是概率干活那一刻撞不上就等于不存在。这篇讲我为什么写一个 DSH 插件门铃 → 索引 → 清单三层注入、版本门控、软提醒之外再加一道硬拦截没读清单就拒写以及把该换会话交给压缩次数这类机械信号最后是两个真工程坑和一张谁审谁的监管链。一、问题约定记了干活时不提就用不上我把写脚本先定错误处理、改文件先确认路径、收尾先自检这些规矩写成了清单清单写得很细。但清单写得再细不解决一个前置问题它什么时候被看见语义召回是概率性的——它按话题相关性检索聊到相关的东西才撞得上。而我真正需要它的时刻往往是这个报错怎么办这种具体场景那一刻上下文里全是报错和代码未必能召回你上次说过失败必须显式。**记了 ≠ 会用。**这个差距不是靠把约定写得更长能填平的。二、为什么不干脆把约定塞进提示词我先后否掉了三条路全塞进去每次会话每轮都付这份成本且随清单增加线性涨。靠启动注入把一句话写进每个会话开局必现的画像段口径稳、成本低但旧会话看到的是快照——改了不生效得关闭重开。靠每轮召回概率撞不上就没有。所以真正要的是第四种一个每轮都会执行的钩子。钩子不是快照所以已经开着的旧会话也会生效。三、方案门铃 索引 正文落地成一个 DSH 小插件挂在会话的 pre-step 上命中就直接把一段提醒注入进上下文。提醒本身叫门铃因为它只干一件事响一下然后告诉你去哪看。层内容成本何时付门铃动手前必须读索引并执行对应清单、收尾自检外加六行跨类都成立的常驻规则约 400 字符量级一百 token每会话一次清单版本变了再补一次索引按触发词把七类清单分派出去约 300 token想起来才读正文具体清单脚本 / 文件 / 笔记 / 自检 / 长任务 / 插件 / 发布每份 1.6–2.2 KB真要用那条时三个设计细节值得单独说**措辞是要求不是建议。**门铃 v3 起从建议读一下改成必须读并执行跳过未完成——一句话的差别执行率完全不同。**从每轮注入改成每会话一次。**早期每次操作轮都注入约 72 token/轮后来发现同一份提醒在一个会话里重复十遍没有信息增量于是改成同会话同版本只注入一次版本变了下一轮补一次新会话首轮一次。省下的不是钱是注意力。**版本门控。**门铃带一个版本号文件会话在内存里记上次注入的是第几版没变就跳过。那个版本号从 1 一路涨到v31——每次 1 都必须对应清单真的改了写记忆、闲聊、讨论都不算。还有个兜底旧会话的技能目录是快照可能拿不到新清单这时门铃指向的是普通文件路径现场read就是最新——绕开快照不给自己留看不到所以不执行的借口。四、软提醒不够时硬拦截门铃只是提醒而模型完全可以不读清单直接动手。所以我加了第二把锁一个tools/pre-execute钩子——操作类轮次、且本会话还没成功读过索引时对写类工具直接返回拒绝理由里带着清单的绝对路径。几个必须写清的边界只拦写类工具写文件、编辑、打补丁。shell 默认不拦因为误伤只读命令的代价比收益大。闲聊轮不拦无会话的调用放行。读失败不算已读必须是成功读取才放行否则假装读一下就能绕过。钩子异常时 fail-open放行并写日志——宁可少拦一次也不要因为插件出错把人卡死。上线后有个反直觉的结果真正触发拒绝的次数很少。这说明软提醒本身够用硬拦截是最后一道不是常用路径。这个比例反而是好事一把锁天天响说明设计有问题。五、把该换会话改成机械触发我原来让 AI 自己判断是不是该收尾、该建议换会话。结果是误触发 2 次、漏提醒至少 1 次、正确 0 次。原因很简单——这是个需要全局判断又没法验证的问题靠模型自觉必然不稳。改成机械信号读 DSH 会话投影缓存里的compaction事件数这个会话的压缩次数比上次多才注入一句提示。首次看到某会话只记基线、不提示——否则旧会话里以前压缩过会被当成刚刚发生这个坑我踩过一次。从未压缩过 → 不注入所以 1M 上下文窗口下噪音极低。已知风险投影缓存是宿主的内部实现升级可能失效而且是静默降级不注入也不报错。这条的价值不在功能本身在于它示范了怎么把一个靠自觉的判断改成可观察的计数。六、它自己会不会也失效会而且比记不住更隐蔽。所以设计时就把盲点写下来了钩子不会被模型跳过每个工具调用都要过但可能压根没装上插件没加载、宿主版本不兼容、钩子名变了 → 静默失效没人知道。关键词会误判讨论要不要加一条清单可能被当成要动手了而真正操作时又可能漏判。所以它只是尽力。只保证顺序不保证内容读了索引也算已读然后照样可以不照做。硬拦截拦得住没读就写拦不住读了不写对。shell 不拦 留了个口子用命令行绕过去是可行的。对付隐蔽失效只有一个办法让它暴露数字。插件日志记inject vN sessionid拒绝时记guard deny审计脚本再把门铃 N 次 / 读索引 M 次 / 拒绝 K 次按会话列出来。而且审计和插件必须用同一套这轮要不要动手的判定一开始两边各判一次审计把闲聊轮收到的门铃也算成漏执行数字虚高得离谱22 次闲聊轮门铃全被算成违规。后来审计脚本直接import插件里那个判定函数——判定只写一份问题立刻现形。这是整篇文章里我最想强调的一条指标不可信时先怀疑口径别怀疑人。七、两个真工程坑这两个跟AI 记忆一点关系都没有纯粹是插件工程的坑但它们是让约定真的被执行必须付的钱。**一、链接残留会让安装把旧路径钉回来。**插件最初以链接形式挂进 profile改路径后怎么重启都不生效。根因是三处引用同时成立node_modules下的 junction、pnpm-workspace.yaml的overrides: link:、以及pnpm-lock.yaml里两条link:。任一处残留一次install就把旧源码路径钉回来——所以必须三处同时清最后把依赖改成 Release 的 tgz不可变 URL从此不再依赖源码目录在哪。二、包里带 BOM 会让宿主判包不可用。症状特别迷惑“上次用都是好的”。原因是打包那一刻的package.json带了 UTF-8 BOM宿主严格 JSON 解析直接抛Unexpected token。之前能用是因为装上去的副本恰好是无 BOM 的旧文件。根治办法是在 CI 里加两道门禁打包前扫一遍 BOM打包后再校验压缩包内package.json的首字节是{。八、开源与上架这插件解决的问题约定收到了却不想执行别人大概也有于是走了一遍开源流程。真正花时间的不是写功能而是把只对我这台机器成立的东西去掉写死的本地路径改成分层解析 存在性检查配置 → 环境变量 → 包内 → 平台存储目录 → 用户默认选第一个有效的并把选中项写进日志清单脱敏、自带一份六类示例清单让别人零配置也能跑零依赖的跨平台安装脚本含卸载版本发布走 CI三个平台 × 两个 Node 版本跑语法检查和单测tag触发打包、建 Release、传 tgz市场收录要求用钉 tag 的下载地址。上架已经完成市场仓库里的收录文件data/plugins/HeliosTangDev__dsh-ops-conventions.yml已在 2026-10-20 实测存在分类workflow。发布链路已闭环之后按 semver 递增下个功能会话压缩提示还在开发。边界也说一句界面点击类操作fork、发 Release、加 topic只能本人做助手沙箱里没有 GitHub 凭证。所以自动化止步于把材料准备好。九、意义一张监管链单个插件不大但做完它我才想明白监管这件事的形状。把约束 AI 行为拆开看它其实是一条链每层都在被别人审层角色被谁审盲点L0我无最高层只该看一两行数字别让自己去翻文档L1门铃 硬拦截插件日志注入对了 ≠ 被执行关键词会误判L2AI 执行清单审计脚本门铃 / 读索引 / 拒绝次数读了也可能不照做L3自检清单断言、读回、外部校验自检清单自己也会过期L4审计 / GC 脚本无人审唯一没有上级的层脚本自己坏了数字就没人信规则只有一句每一层都必须向上暴露一个可读数字。没有数字的层等于没被监管。而 L4 是唯一没有上级的层——所以我给它补了一个最便宜的上游信号每次跑完写一个时间戳超过 7 天没更新就视为审计失效跟漏执行同等处理。这大概是从这件事里能带走的最通用的一条包括监督者会不会失效在内所有东西都得有一个能看见的数。插件信息如果你也想给自己的 AI 定这套规矩可以直接用我做的这个数据核于 2026-10-20名字dsh-ops-conventionsDSH 插件仓库同名一句话每会话注入一条极短的「操作约定」门铃入口清单绝对路径 版本号约定改版后下一轮重新注入可选硬拦截——操作类轮次里没读索引前拒绝写类工具。在哪已收录进 DSH 插件市场awesome-dsh-plugin分类workflow源码仓库HeliosTangDev/dsh-ops-conventionsMIT许可topics 为deepseek-harness、dsh-plugin。下载地址https://github.com/HeliosTangDev/dsh-ops-conventions/releases/latest/download/dsh-ops-conventions.tgz——固定名地址永远指向最新版不用记版本号。仓库主页https://github.com/HeliosTangDev/dsh-ops-conventions。装法在 DSH 插件市场搜索安装或直接下上面那个 tgz装完重启宿主日志出现plugin loaded即生效。零配置也能跑包内自带一份六类示例清单技能目录、日志位置都可配。适合谁手里已经有一堆动手前该先看的清单、但 AI 总是直接开干的。如果你还没有清单先别装——它只负责把清单递到眼前不负责内容。系列《给 DSH 配置 OpenViking 长期记忆》——怎么装上uv、Ollama、初始化、接入。《从记得更牢到放对位置》——要求怎么变从记住到分层、时机、边界。本篇——怎么让它真的执行门铃、硬拦截、监管链。初稿 2026-10-19最近更新 2026-10-20
RELATED

相关推荐

无人机水稻病害区域检测 水稻田目标检测YOLO数据集 AI深度学习数据集第10811期

无人机水稻病害区域检测 水稻田目标检测YOLO数据集 AI深度学习数据集第10811期

水稻田目标检测YOLO数据集项目详情任务类型目标检测类别数量1分类类别名称水稻田图片总量6900张数据集划分7:1:2分配 训练集:4830张 验证集:690张 测试集:1380张标注格式YOLO txt格式、VOC xml格式,可直接用于模型训练应用领…

📅 2026/10/21 7:21:03
AI全链工作台实战:从ComfyUI到AI Agent的自动化内容生产

AI全链工作台实战:从ComfyUI到AI Agent的自动化内容生产

我第一次完整跑通 closerAI flowStudio Pro 的全链流程时,最大的感受是:以前要装五六个软件、写一堆脚本才能完成的事,现在真的能在一个工作台上收口。这个叫“万能全链工作台”的东西,不是那种把几个按钮拼在一起的缝合怪——它把…

📅 2026/10/21 7:16:03
一物一码食品防伪溯源实战:从赋码到消费者扫码的全链路解析

一物一码食品防伪溯源实战:从赋码到消费者扫码的全链路解析

去年有个做坚果礼盒的客户找上我,一开口就是“假货都卖到旗舰店楼下了”。他们之前用刮刮卡式的防伪标签,结果印刷厂那边的码库被泄露过一次,市面上流通了一批真码假货,消费者刮开扫码验真居然还显示正品。这事后来闹得挺大&#…

📅 2026/10/21 7:16:03
MORE NEWS

更多资讯

📰

PostgreSQL 查询全部函数信息:从 pg_proc 到综合模板

1. 为什么需要把数据库里的函数全部查出来:几个真实场景先讲个实际例子。我接手过一个跑了三年的业务系统,里面几十个服务共用一个 PostgreSQL 实例。某天要做数据迁移前的合规盘点,DBA 要求把所有自定义函数、触发器和存储过程全部登记造册。…

📰

汽车推荐分析系统全链路实现:爬虫、线性回归与Flask可视化

本科阶段的计算机毕业设计里,“汽车推荐分析系统”几乎是长盛不衰的经典选题。但很多同学做出来的版本,往往停留在“爬了几百条数据 画两张图表 套一个线性回归模型”的层面,答辩时最怕老师追问两类问题:一是“你这些数据怎么来…

📰

平衡膳食指南文档解读:五大类食物与三大营养素供能比落地执行

简介:这是一份面向普通大众、营养学习者及健康管理从业者的科普文档,围绕平衡膳食的内涵、重要性与现代实践展开,帮助读者理解如何通过合理搭配食物满足人体近50种营养素的全面需求。文档共1个doc文件,压缩包约21KB,内…

📰

PL/0编译器添加运算符:词法、语法到P-code虚拟机的完整改动指南

简介:编译原理课程设计资料,面向计算机专业本科生,围绕PL/0编译器的修改扩充展开,重点集中在运算符扩展和循环语句实现。内容包含基本要求与选做内容:基本部分完成、-赋值运算以及Pascal FOR语句的TO/DOWNTO两种形式&a…

📰

arping 实战:链路层定位主机与回读 MAC 地址

简介:这是一份面向网络管理员、运维工程师及网络编程学习者的 arping 工具源码资源包,聚焦以太网环境下基于 ARP 协议探测主机在线状态并获取其 MAC 地址这一典型场景。资源共 19 个文件,以 cpp 与 h 源文件为主,辅以 vcxproj、vc…

📰

Python自然语言处理入门:从分词到深度学习完整指南

简介:这份资源面向希望系统掌握中文自然语言处理的Python开发者与初学者,围绕分词、词性标注、命名实体识别、情感分析、主题建模及深度学习模型等核心主题,提供从基础概念到实战案例的完整学习路径。压缩包共42个文件,约53.58MB&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬