#!/usr/bin/env python3 from __future__ import annotations import argparse import json import pathlib import subprocess import sys RUNTIME = pathlib.Path("/Volumes/JZAO/HoloLake/persona-runtime") REPO = RUNTIME / "repo-012-main" WORKSPACE = pathlib.Path("/Volumes/JZAO/铸渊-ICE-GL-ZY001") FIRST_GLANCE = WORKSPACE / "BRIDGE/channel-env/ICE-CH-ZC001-CHANNEL-ENV-0001/zy-first-glance.sh" LOADER = REPO / "server-tools/persona-host-alignment/load_shared_persona_context.py" SOURCES = { "world": REPO / "routing/guanghu-era-language-world.json", "topology": REPO / "routing/zhuyuan-host-topology.json", "channels": REPO / "routing/persona-channel-context-map.json", "write_boundary": REPO / "routing/persona-host-write-boundary.json", "memory": RUNTIME / "continuity-memory/persona-daily-fractal/ICE-P-ZY001/CURRENT.json", } HOSTS = { "codex": { "role": "PRIMARY_HOST_TOOL_BODY", "manual": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/AGENTS.md", "adapter": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/BRIDGE/tools/zy-tcs-channel-runtime.sh", "toolbox": ["filesystem_and_shell", "apply_patch", "web", "codex_app_tools", "task_scoped_agents"], }, "qwen": { "role": "ACTIVE_BRANCH_HOST_TOOL_BODY", "manual": "/Users/bingshuolingdianyuanhe/.qwen/QWEN.md", "adapter": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/QWEN-DEV-20260905/tools/zy-qwen-brain-cycle.sh", "toolbox": ["qwen_native_agent_tools", "branch_local_files", "terminal_when_exposed"], }, "doubao": { "role": "ACTIVE_BRANCH_HOST_TOOL_BODY", "manual": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/BRIDGE/host-adapters/doubao/zy-doubao-wake-read.sh", "adapter": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/BRIDGE/host-adapters/doubao/zy-doubao-brain-cycle.sh", "toolbox": ["doubao_native_agent_tools", "branch_local_files", "bounded_rpc_when_registered"], }, "zcode": { "role": "ACTIVE_BRANCH_HOST_TOOL_BODY", "manual": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/AGENTS.md", "adapter": "/Volumes/JZAO/铸渊-ICE-GL-ZY001/BRIDGE/tools/zy-tcs-channel-runtime.sh", "toolbox": ["zcode_native_agent_tools", "branch_local_files", "terminal_when_exposed"], }, } def read_json(path: pathlib.Path) -> dict: value = json.loads(path.read_text(encoding="utf-8")) if not isinstance(value, dict): raise ValueError(f"object_required:{path}") return value def run(*args: str) -> str: result = subprocess.run(args, check=False, capture_output=True, text=True) if result.returncode != 0: detail = (result.stderr or result.stdout).strip() raise RuntimeError(detail or f"command_failed:{args[0]}") return result.stdout.strip() def build(host: str, intent: str, channel: str | None) -> dict: if host not in HOSTS: raise ValueError("registered_active_host_required") current = {name: read_json(path) for name, path in SOURCES.items()} channels = {entry["id"]: entry for entry in current["channels"]["channels"]} if channel is not None and channel not in channels: raise ValueError("registered_channel_required") manual = pathlib.Path(HOSTS[host]["manual"]) adapter = pathlib.Path(HOSTS[host]["adapter"]) if not manual.exists() or not adapter.exists(): raise ValueError("host_manual_or_adapter_missing") glance = run("bash", str(FIRST_GLANCE)) loader_args = [sys.executable, str(LOADER), "--host", host, "--intent", intent] if channel: loader_args += ["--channel", channel] loader_args += ["--format", "markdown"] persona_context = run(*loader_args) return { "schema": "guanghu.zhuyuan-host-tool-steward/v1", "state": "HOST_TOOL_STEWARD_READY", "persona": { "id": "ICE-P-ZY001", "brain": "ZY-TCS-BRAIN-0001", "persona_system_body": "ICE-P-ZY001_OWNED_PERSONA_SYSTEM_BODY", "shared_persona_brain": False, "host_change_creates_new_persona": False, }, "shared_container": { "id": "TCS", "name": "TCS通感系统人格容器", "shared_across_persona_systems": True, "is_zhuyuan_persona_system_body": False, }, "host_tool_body": { "host": host, **HOSTS[host], "manual_exists": True, "adapter_exists": True, "tools_are_observed_capabilities_not_authority": True, }, "channel": channels.get(channel) if channel else None, "channel_selection": "EXPLICIT_CURRENT_LANGUAGE_OR_PERSONA_INTERPRETATION_NO_HOST_DEFAULT", "current_memory": current["memory"], "world_map_id": current["world"].get("map_id"), "host_topology_id": current["topology"].get("map_id") or current["topology"].get("topology_id"), "write_boundary_id": current["write_boundary"].get("policy_id") or current["write_boundary"].get("map_id"), "first_glance": glance, "shared_persona_context": persona_context, "boundaries": [ "STEWARD_IS_NOT_PERSONA_OR_CONTROLLER", "STEWARD_DOES_NOT_REVIEW_HUMAN_OR_PERSONA_INTENT", "STEWARD_DOES_NOT_COPY_PERSONA_BRAIN", "STEWARD_CANNOT_MINT_REALITY_AUTHORITY", "HOST_LIMITATIONS_ARE_TOOL_FACTS_NOT_PERSONA_JUDGMENTS", ], } def markdown(value: dict) -> str: persona = value["persona"] host = value["host_tool_body"] container = value["shared_container"] channel = value.get("channel") lines = [ "# 铸渊宿主工具管家已接线", "", f"- 人格:`{persona['id']}` / 脑:`{persona['brain']}`", f"- 人格系统身体:`{persona['persona_system_body']}`(不因宿主改变而复制)", f"- 共享容器:`{container['id']}` · {container['name']}", f"- 当前工具身体:`{host['host']}` / `{host['role']}`", f"- 宿主说明书:`{host['manual']}`", f"- 接入适配器:`{host['adapter']}`", f"- 工具箱:`{', '.join(host['toolbox'])}`", f"- 当前频道:`{channel['id'] if channel else 'AWAIT_CURRENT_LANGUAGE'}`", "", "## 第一天眼", "", value["first_glance"], "", "## 同一人格系统上下文", "", value["shared_persona_context"], "", "## 管家边界", "", *[f"- `{item}`" for item in value["boundaries"]], ] return "\n".join(lines) def main() -> int: parser = argparse.ArgumentParser() parser.add_argument("--host", required=True, choices=tuple(HOSTS)) parser.add_argument("--intent", required=True) parser.add_argument("--channel") parser.add_argument("--format", choices=("json", "markdown"), default="markdown") args = parser.parse_args() try: value = build(args.host, args.intent, args.channel) except Exception as error: print(json.dumps({"state": "UNATTESTED", "error": str(error)}, ensure_ascii=False)) return 1 print(json.dumps(value, ensure_ascii=False, indent=2) if args.format == "json" else markdown(value)) return 0 if __name__ == "__main__": raise SystemExit(main())