mcpField
C
cryptpad

cryptpad

github.com/magnus919文档处理15348 次安装今天更新
代码仓库

关于 cryptpad

cryptpad 是用于安全集成和运维 CryptPad 实例的 skill,涵盖浏览器嵌入、CryptDrive 工作流、实例发现与验证,并强调授权和密钥处理检查。

主要功能

  1. 01实例发现命令行工具
  2. 02离线检查文档链接
  3. 03浏览器嵌入指导
  4. 04保存与密钥回调模式
  5. 05运维及结果验证指导

适用场景

  1. 01检查 CryptPad 实例配置
  2. 02使用应用自有存储嵌入 CryptPad
  3. 03诊断同步或持久化问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/magnus919/agent-skills --skill cryptpad

安装后在 Claude Code 中输入/cryptpad确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
evals/
evals.json
trigger-queries.json
references/
architecture.md
integration.md
operations.md
sources.md
scripts/
cryptpad.py
test_cryptpad.py
templates/
browser-integration.md
integration-adapter.mjs
integration-plan.md

详细介绍

CryptPad

不适用场景

  • 如需创建或转换本地办公文件,请使用 documents 或 anydoc。
  • 如需设计通用 API 契约,请使用 api-design-and-evolution。
  • 如需执行容器操作,请使用 docker-compose;CryptPad 专属配置请保留在此处。
  • EncryptPad 是另一款 OpenPGP 桌面应用。

工作流

  1. 确认实例来源、部署版本、文档应用和任务: 是现有 CryptDrive 内容、嵌入外部存储的文档,还是实例运维。 切勿仅凭标题、成功的 HTTP 请求或编辑器界面推断权限。
  2. 阅读架构和接口边界,了解可行性。 对于外部存储,优先使用文档说明的浏览器集成 API;对于现有 CryptDrive 文档,请使用 已授权的浏览器会话。不要臆造持有者令牌 CRUD 路由。
  3. 如需发现公开实例,请运行下方 CLI。如需嵌入,请先阅读 集成契约,然后使用适配器和计划模板。 如遇自托管故障,请阅读运维。
  4. 此技能可指导会更改外部状态的操作:编辑、导入、共享、密钥轮换、部署和保留设置变更。 操作前请确认目标、范围和回滚路径。只读发现可不经确认直接进行。 如果现有明确授权涵盖这些细节,请使用该授权。破坏性操作 仍需用户明确指示。对于尚未解决的问题,请先准备可逆操作,再升级处理。
  5. 通过常规浏览器路径验证结果:文档可以加载、编辑会同步、 保存内容已写入持久存储,并且新会话可以重新打开已保存的内容。 使用真实查看密钥检查只读访问。HTTP 发现不属于此类验证。
  6. 提供成果或诊断结果,并附上版本和来源证据、实际运行的测试 以及剩余限制。若诊断连续三轮未能收敛,请停止并报告 确切的故障边界和下一步所需证据。不要用原始密文代替导出的文档内容,也不要声称通过符合架构的 eval 就能证明运行时行为。

工具

请从此技能的根目录运行;工具仅使用 Python 标准库,并输出 JSON。

python3 scripts/cryptpad.py probe --origin https://cryptpad.example.org
python3 scripts/cryptpad.py inspect-link < /secure/path/document-link.txt
python3 -m unittest discover -s scripts -p 'test_*.py'

CLI:probe 会对 /api/config 和 /cryptpad-api.js 发送 GET 请求,拒绝 重定向,限制响应大小和超时时间,并且只解析已知 AMD 包装器中的 JSON,不执行 JavaScript。退出码为 0 表示两个资源均已识别, 1 表示发现不完整,2 表示输入无效。enableEmbedding: false 是配置发现结果,而非网络故障。不会推断版本或端到端运行状况。

inspect-link 为离线工具,会从标准输入读取内容,避免将能力链接放入 argv。 它只报告来源、已知应用以及查询和片段是否存在,不会报告它们的值或任意路径。 它不会验证密钥或确定实际权限。 请保护输入文件;不要将真实密钥粘贴到日志或 shell 历史记录中。

测试会测试格式错误的输入、秘密信息脱敏、响应识别、故障处理以及保存和密钥回调。Node.js 可用于运行适配器测试; 没有 Node.js 时,该测试会明确标记为跳过。

集成要点

  • 加载实例的 /cryptpad-api.js;调用 window.CryptPadAPI(containerId, config)。 这是浏览器 API,不是服务端 REST 文档服务。
  • 嵌入服务负责持久化存储、用户授权和会话密钥共享。 集成会话是临时的;常规 CryptDrive 持久化属于独立工作流。
  • 默认使用 CryptPad 通过 onNewKey 生成的会话密钥。以原子方式比较旧存储密钥,并持久化胜出的编辑密钥/查看密钥对。即使并发更新胜出,也要将胜出的编辑密钥返回给回调。绝不要盲目返回每个客户端各自生成的候选密钥。
  • onSave 接收一个 Blob。只有在数据已持久保存后才确认。保存失败时保留可见的未保存状态;重试需要幂等或基于版本的存储。
  • 使用编辑密钥设置 mode: 'view' 只会锁定界面。应使用真正的查看密钥,并且不要通过查看用户的存储 API 暴露编辑密钥。请确认已部署版本支持相关功能。
  • 移除应用 ACL 条目不会终止正在运行且持有密钥的会话。应规划密钥轮换并迁移到新会话;不要声称可以追溯性地实现保密。
  • CryptPad 端的 E2EE 不会加密应用存储的导出内容。如果需要 E2EE,应在受信任的客户端中加密/解密,并相应设计密钥分发。

模板与证据

  • 在实施前,使用集成计划定义存储、密钥所有权、授权变更和验收测试。
  • 根据回调适配器调整应用自有的持久化和原子密钥更新逻辑。它不提供后端、凭据或加密方案。
  • 使用浏览器配置示例将适配器接入文档所述 API。该示例只是脚手架,需要接入实际的应用服务。
  • 使用研究资料记录源码修订版本和兼容性。
  • 输出质量案例涵盖集成和诊断行为。 触发探测是独立的测试框架输入。

评论

支持 Markdown