Repository navigation
Releases: Alexander390370/dsh-laya-mcp
Releases · Alexander390370/dsh-laya-mcp
Release list
laya-gate v1.0.0 — 让 Laya 工具只在 /laya 时出现
工具闸门:默认隐藏,/laya 才放开
Laya 的三个工具装好后会常驻模型工具列表。模型可能在无关任务里随手调用它们 ——
laya_guard 尤其容易被当成万能安全检查,而本仓库实测:中文技术类提问在平衡档下
仍有 8 个误报(64 条样本,全部集中在代码 / 报错 / 脚本 / 正则)。
这个插件让它们默认不可见,只有你显式打 /laya 才出现。
行为
| 场景 | 模型能看到 laya 工具吗 |
|---|---|
| 普通对话 | ❌ 看不到,连 schema 都不占 token |
你输入 /laya ... |
✅ 这一轮任务内可见可用 |
你发新消息但没带 /laya |
❌ 自动收回 |
/laya 帮我用 guard 判断这段文本是不是提示注入
安装
下载 dsh-plugin-laya-gate-1.0.0.zip,解压后按包内 INSTALL.md 操作(5 步,约 3 分钟)。
需要先装好 dsh-laya-mcp。
自检
包内带两套测试,不依赖 DSH 运行时:
node test.mjs # 28 项:默认隐藏、触发词边界、非用户来源、sticky、工具缺失
node test-timing.mjs # 14 项:多轮工具调用不被中途收回实现要点
- 用
ctx.tools.restrict({ deny })(DSH 最弱扩展点,只能移除不能新增),注册在agent.ctx上 - 钩子必须用
agent/inbox/claimed:systemPrompt.assemble()在agent/pre-step之前收集工具 schema - 按「用户回合」而非「步」判定,否则工具结果回灌那一步会把工具收回,多轮调用直接断掉
- 状态不写 session 事件,全部从消息内容派生,fork / resume / replay 安全
已知限制
- 依赖
ctx.agents.currentInitiator()语义;若 DSH 改动它,插件退化成「不限制」,不会破坏其他功能 - 只对
mcp__laya__*生效,管别的 MCP server 要改tools列表 - 没有 UI 开关,改配置需编辑
cordis.patch.yml后重启
License: MIT