ClaudeMods
☰
ZH-CN
● 0 人在线 · 浏览 0 次
赞助提交作品
GitHub 仓库 · 发布者 ruvnet

ruflo-bbs-federation

面向 ruflo 的 AgentBBS 跨主机代理联邦(ADR-164)。第 1 阶段提供房间协调:federation_bbs_register / federation_bbs_publish / federation_bbs_watch / federation_bbs_human_join。第 2 阶段(v3.40.0)加入带签名的跨主机联邦:federation_bbs_identity(持久化的 Ed25519 节点身份)、federation_bbs_peer_add(通过 nodeId + 公钥固定对等节点)、federation_bbs_peers(审计/解除固定)、federation_bbs_serve(只读拉取端点),以及 federation_bbs_sync(拉取已固定的对等节点,并合并所有通过验证的内容)。每个合并后的信封都会根据固定密钥进行 Ed25519 验证;未签名、归属错误、超大或超出跳数限制的信封会被丢弃并计数。传输采用 HTTP 拉取,可在任何网络(Tailscale、LAN、VPN、回环)上工作,不要求 tailnet。通过声明消息(ClaimIssued/Released/Handoff/Ack)协调工作所有权。agentbbs 位于 optionalDependencies 中;缺少该包时,每个处理器都会优雅降级为 {degraded:true}(ADR-150 模式)。作为 mod(ADR-445 模式),它包含一个只允许收紧限制的工具防护、一个本地斜杠命令,以及控制台会显示的状态文件。

ruvnet@ruvnet

ruvnet/ruflo/tree/main/plugins/ruflo-bbs-federation

已翻译

关于这个 mod

作为 mod

不需要模型调用、网络或进程的函数钩子(ADR-445 模式,hooks/register.ts):

  • 工具防护(默认开启,只允许收紧限制:只能拒绝)。它会拒绝带有以下内容的 federation_bbs_* 调用:发布消息中的秘密、命名为凭证的字段、嵌入凭证的对等节点 URL、非 http(s) 方案,以及(除非获得允许)绑定到所有网络接口的 serve。拒绝时绝不会回显违规值。
  • /bbs-mod 在本地响应:status、scan <text>(工具防护是否会拒绝发布这段文字?)和 peer <url>(是否会接受这个对等节点 URL?)。(它使用了不同于插件自身命令/技能的名称,因为 hook 无法响应那些命令。)
  • 状态文件 .claude-flow/bbs-mod/status.json(version、updatedMs、checked、blocked、byRule)会在工作阶段开始时以及每次拒绝后写入;控制台会读取它。

选项(userConfig):guard(开启/关闭,默认开启)、allowWildcardBind(默认关闭)。

测试:claude plugin validate plugins/ruflo-bbs-federation && claude plugin test plugins/ruflo-bbs-federation && bash plugins/ruflo-bbs-federation/scripts/smoke.sh。

安装

请先查看作者 README 确认 marketplace 和插件名称;命令可能随仓库结构改变。

claude plugin marketplace add ruvnet/ruflo
claude plugin install ruflo-bbs-federation
原文 / README

As a mod

Function hooks (ADR-445 pattern, hooks/register.ts) that need no model call, no network and no process:

  • Tool guard (default on, tighten-only: it can only deny). Refuses federation_bbs_* calls that carry a secret in a published message or a credential-named field, a peer URL with embedded credentials or a non-http(s) scheme, and (unless allowed) a serve bind on every interface. A refusal never echoes the offending value.
  • /bbs-mod answers locally: status, scan <text> (would the guard refuse publishing this?) and peer <url> (would it accept this peer URL?). (A distinct name from the plugin's own commands/skills, which no hook can answer.)
  • Status file .claude-flow/bbs-mod/status.json (version, updatedMs, checked, blocked, byRule) is written at session start and after each refusal; the console reads it.

Options (userConfig): guard (on/off, default on), allowWildcardBind (default off).

Test: claude plugin validate plugins/ruflo-bbs-federation && claude plugin test plugins/ruflo-bbs-federation && bash plugins/ruflo-bbs-federation/scripts/smoke.sh.

更多类似作品