feat: publish workphone SDK deployment and API docs

This commit is contained in:
Manus AI
2026-07-14 18:10:52 +08:00
commit 021d633cc1
534 changed files with 122391 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
#!/usr/bin/env python3
"""校验中台 Skill 注册表与设备端 Skill 类 public method 对齐"""
from __future__ import annotations
import inspect
import json
import sys
import time
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(ROOT / "app"))
sys.path.insert(0, str(ROOT / "agent"))
from services.brain_skill_registry import DEVICE_EXECUTABLE_SCRIPTS, SKILL_REGISTRY, flatten_actions # noqa: E402
SKIP_METHODS = frozenset({
"execute_compound_task", "send_message_with_vision", "send_message_with_search",
"get_current_screen_info",
})
def _public_methods(cls) -> set[str]:
return {
n for n, m in inspect.getmembers(cls, predicate=inspect.isfunction)
if not n.startswith("_") and n not in SKIP_METHODS
}
def main() -> int:
from skills import get_skill # noqa: WPS433
missing_on_device: list[str] = []
extra_on_device: list[str] = []
ok = 0
for script in sorted(DEVICE_EXECUTABLE_SCRIPTS):
registry_actions = set(flatten_actions(script))
try:
cls = get_skill(script)
except ImportError as e:
print(f"{script}: 无法加载 Skill 类: {e}")
return 1
device_actions = _public_methods(cls)
for action in sorted(registry_actions):
if action not in device_actions:
missing_on_device.append(f"{script}.{action}")
else:
ok += 1
for action in sorted(device_actions - registry_actions):
extra_on_device.append(f"{script}.{action}")
report = {
"timestamp": time.strftime("%Y-%m-%dT%H:%M:%S"),
"registry_actions_checked": ok,
"missing_on_device": missing_on_device,
"extra_on_device_not_in_registry": extra_on_device,
"complete": len(missing_on_device) == 0,
}
out = ROOT / "tmp" / f"skill_registry_audit_{int(time.time())}.json"
out.parent.mkdir(parents=True, exist_ok=True)
out.write_text(json.dumps(report, ensure_ascii=False, indent=2), encoding="utf-8")
print(f"registry 校验 action 数: {ok}")
print(f"设备缺失: {len(missing_on_device)}")
print(f"注册表未收录(设备有): {len(extra_on_device)}")
if missing_on_device:
print("缺失示例:", missing_on_device[:10])
if extra_on_device:
print("未收录示例:", extra_on_device[:10])
print("完整对齐:", "" if report["complete"] else "")
print("报告:", out)
return 0 if report["complete"] else 1
if __name__ == "__main__":
raise SystemExit(main())