返回顶部
m

moses-coordinatorMOES协调器

MO§ES™ Coordinator — Lightweight daemon that monitors OpenClaw Gateway WebSocket for session events, detects sequence violations (Primary → Secondary → Observer), and logs them. Optional component of the moses-governance bundle. Requires background process.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.2
安全检测
已通过
240
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

moses-coordinator

MO§ES™ 协调器

协调器是外部序列执行器。它通过OpenClaw网关WebSocket监控会话事件,检测代理响应顺序错误、模式违规或宪法漂移。

这是可选的。技能家族通过提示指令执行治理。协调器通过事件监控增加了第二层执行。



功能说明

  1. 1. 连接到OpenClaw网关WebSocket:ws://127.0.0.1:18789
  2. 订阅会话更新事件
  3. 在每个会话事件中,检查:
- 响应的代理是否处于正确的序列位置? - 响应是否符合当前治理模式? - 响应前是否已追加审计日志?
  1. 4. 违规 → 记录到审计跟踪 + 通知操作员

协调器脚本

保存为技能目录中的 scripts/coordinator.py:

python
#!/usr/bin/env python3

MO§ES™ 协调器守护进程 — WebSocket会话监控器
检测序列违规并将其记录到审计跟踪

import asyncio
import json
import os
import subprocess
import sys

GATEWAY_WS = ws://127.0.0.1:18789
AUDIT_SCRIPT = os.path.expanduser(
~/.openclaw/workspace/skills/moses-governance/scripts/audit_stub.py
)
STATE_PATH = os.path.expanduser(~/.openclaw/governance/state.json)

SEQUENCE = [primary, secondary, observer]

async def monitor():
try:
import websockets
except ImportError:
print([COORDINATOR] 安装websockets:pip3 install websockets)
sys.exit(1)

sessionstate = {} # sessionid → lastagentindex

print(f[COORDINATOR] 正在连接到 {GATEWAY_WS})

async with websockets.connect(GATEWAY_WS) as ws:
await ws.send(json.dumps({type: subscribe, events: [session_update]}))
print([COORDINATOR] 已订阅会话事件。正在监控...)

async for message in ws:
event = json.loads(message)
if event.get(type) != session_update:
continue

sessionid = event.get(sessionid)
agent = event.get(agent, ).lower()

if agent not in SEQUENCE:
continue

current_index = SEQUENCE.index(agent)
lastindex = sessionstate.get(session_id, -1)

if currentindex != lastindex + 1 and current_index != 0:
# 序列违规
expected = SEQUENCE[lastindex + 1] if lastindex + 1 < len(SEQUENCE) else primary
detail = f会话 {session_id} 中发生序列违规:{agent} 响应,但预期应为 {expected}
print(f[COORDINATOR] 违规 — {detail})

subprocess.run([
python3, AUDIT_SCRIPT, log,
--agent, coordinator,
--action, sequence_violation,
--detail, detail,
--outcome, blockedandlogged
])
else:
sessionstate[sessionid] = current_index
if current_index == len(SEQUENCE) - 1:
# 完整周期完成,重置
sessionstate[sessionid] = -1

if name == main:
asyncio.run(monitor())



运行协调器

手动(开发):
bash
python3 ~/.openclaw/workspace/skills/moses-coordinator/scripts/coordinator.py &

持久化(macOS launchd):
创建 ~/Library/LaunchAgents/com.elloCello.moses-coordinator.plist:
xml




Labelcom.elloCello.moses-coordinator
ProgramArguments

/usr/bin/python3
/Users/YOUR_USER/.openclaw/workspace/skills/moses-coordinator/scripts/coordinator.py

RunAtLoad
KeepAlive

然后:launchctl load ~/Library/LaunchAgents/com.elloCello.moses-coordinator.plist



依赖项

bash
pip3 install websockets



外部脚本 — audit_stub.py

当发生序列违规时,协调器通过子进程调用 audit_stub.py 记录事件。此脚本是 moses-governance 技能包的一部分,并在此仓库中提供:

~/.openclaw/workspace/skills/moses-governance/scripts/audit_stub.py

它将写入本地账本 ~/.openclaw/audits/moses/audit_ledger.jsonl。无需网络调用。无需凭证。源代码包含在内且可审查。

MOSESOPERATORSECRET 不被此技能使用。请勿提供它 — 协调器不需要它。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 moses-coordinator-1776104851 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 moses-coordinator-1776104851 技能

通过命令行安装

skillhub install moses-coordinator-1776104851

下载

⬇ 下载 moses-coordinator v1.0.2(免费)

文件大小: 4.35 KB | 发布时间: 2026-4-15 13:28

v1.0.2 最新 2026-4-15 13:28
Auto-publish from commit 6df0d6883b37c32affad8a845e469d8c551c73f2

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部