diff --git a/agent/manifest.json b/agent/manifest.json index f640302..e0a8a0d 100644 --- a/agent/manifest.json +++ b/agent/manifest.json @@ -6,6 +6,6 @@ "agent/profile.json": "c0051a351c446d4135642cda3af37d302bc83b9c74ddfafc1dc68545e41249d6", "skills/oneclickvirt-backtrace/SKILL.md": "6627224a6ddd3637291d3cb03793ae29fe798561d38462674baa075940738213", "skills/oneclickvirt-backtrace/SKILL_ZH.md": "88e3e6d9561f17c53e1b7af0d601c9c7878341a8c4f54256b56da92087c15472", - "agent/server.py": "d01416e6194095d90bf0d49ea29f7122969f0b74cf4d74ed0b1ce78753423a7d" + "agent/server.py": "c54981973f8d98e6eada6e0442f3d7e5c9296947706c2c5d33b80b7f9a1c9b5b" } } diff --git a/agent/server.py b/agent/server.py index 704c5a8..3e26e0a 100644 --- a/agent/server.py +++ b/agent/server.py @@ -333,11 +333,14 @@ def serve(adapter, input_stream=sys.stdin, output_stream=sys.stdout): reply["error"] = {"code": -32601, "message": "Method not found"} except (ValueError, TypeError) as exc: reply["error"] = {"code": -32602, "message": str(exc)} - output_stream.write(json.dumps(reply, ensure_ascii=False) + "\n") + output_stream.write(json.dumps(reply, ensure_ascii=True) + "\n") output_stream.flush() def main(): + for stream in (sys.stdin, sys.stdout): + if hasattr(stream, "reconfigure"): + stream.reconfigure(encoding="utf-8") parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--profile", type=Path, default=Path(__file__).with_name("profile.json")) parser.add_argument("--version", action="version", version=VERSION) diff --git a/scripts/install_agent.py b/scripts/install_agent.py index fd9253f..784b9bc 100644 --- a/scripts/install_agent.py +++ b/scripts/install_agent.py @@ -195,6 +195,8 @@ def install(manifest, payload, skill_dir, mcp_dir, record, skill_only=False, bin def main(): + if hasattr(sys.stdout, "reconfigure"): + sys.stdout.reconfigure(encoding="utf-8") parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--client", choices=["claude", "codex", "openclaw"], default="claude") parser.add_argument("--source", choices=["github", "cnb"], default="github")