首页龙虾技能列表 › @openclaw/interchange — OpenClaw 共享 .md 交换库

@openclaw/interchange — OpenClaw 共享 .md 交换库

v1.0.0

OpenClaw 技能的共享 .md 交换库,提供原子写入、确定性序列化、YAML 前置格式、建议性锁定和模式验证等功能,作为其他 OpenClaw 技能的基础。

0· 527·0 当前·0 累计
by @frank-bot07·MIT-0
下载技能包
License
MIT-0
最后更新
2026/2/20
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
medium confidence
该包与其声明的目的(确定性 .md 交换库)一致,但存在几个实现问题(特别是建议性锁竞争条件、路径限制不足和一些并发间隙),使其在未进行缓解或代码修复审查之前部署风险较高。
评估建议
该库与其声明的目的一致,但在修复之前应视为不适合用于不受信任的多进程环境。使用前建议:自行审计或供应代码、设置专用目录、避免依赖建议性锁、审查/修复锁清理和文件描述符生命周期代码、在环境中运行测试套件。...
详细分析 ▾
用途与能力
代码与名称/描述一致:这是一个纯 JavaScript 库,提供读/写/序列化/锁帮助器用于 `.md` 交换文件。它没有声明环境变量/凭证,只依赖 js-yaml,这与描述的功能成比例。
指令范围
SKILL.md 用法示例和 README 仅限于读/写 .md 文件和获取锁,这是预期的。但运行时代码允许写入任意文件系统路径(无根目录强制执行)并依赖一个建议性锁实现,该实现由包含的 CODEX_REVIEW 标记为具有 TOCTOU 和文件描述符处理问题。这意味着遵循示例的调用者可能会意外覆盖交换工作区外部的文件或在争用下看到破坏的互斥排除。
安装机制
没有技能的安装规范(仅指令),并且 package.json 只显示一个小依赖 (js-yaml) 和 dev 依赖 (vitest)。包中没有远程下载或不透明的安装步骤,这保持了低安装风险。
凭证需求
包中没有声明所需的凭证或环境变量。它读取 process.env.INTERCHANGE_ROOT(并回退到 HOME)。这很合理,但由于代码将读/写任意路径,在使用前应将 INTERCHANGE_ROOT 设置为专用目录。没有请求秘密/外部服务令牌。
持久化与权限
技能不请求持久平台权限(始终:false)。它不修改其他技能的配置也不需要不寻常的系统权限。其威胁面仅限于文件系统 I/O,位于它指向的任意路径。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/2/20
● 可疑

安装命令 点击复制

官方npx clawhub@latest install openclaw-interchange
镜像加速npx clawhub@latest install openclaw-interchange --registry https://cn.clawhub-mirror.com

技能文档

共享库,通过 .md 文件实现代理到代理的通信。

用法

import { writeMd, readMd, acquireLock } from '@openclaw/interchange';
// 原子写入交换文件
await writeMd('ops/status.md', { skill: 'crm', status: 'healthy' }, '## 状态
所有系统正常。');
// 读取文件
const { meta, content } = readMd('ops/status.md');

关键功能

  • 原子写入(tmp + fsync + rename)
  • 确定性序列化(排序键、稳定 YAML)
  • 带有过时锁检测的建议文件锁定
  • YAML 前置格式解析
  • 模式验证
  • 电路断路器模式
  • 生成跟踪 + 内容哈希
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务