可选的 Python Code Mode 后端,使用固定版本 Monty 1.3.0 Rust crate,不依赖系统 Python、pip 包或原生扩展。在连接的模型设置中启用 Code Mode 并选择 Python(codeModeLanguage: "python");默认语言仍为 JavaScript。
每个 cell 启动独立的 maka-python-worker,默认位于 Host 可执行文件旁。使用 cargo build -p maka-python-runtime 构建;开发运行脚本和原生发行包自动包含它。嵌入方可通过 CodeExecutor::with_worker 提供明确路径。
支持顶层 await,以及 await tools.name(input) 或关键字参数形式的 JSON 工具调用。使用 asyncio.gather 并发调用;若需保留部分成功结果,在各协程内部捕获异常。Monty 不提供完整 CPython 标准库,也不支持 asyncio.create_task、TaskGroup 或 gather(return_exceptions=True)。文件、网络和进程操作必须通过已授权 Host 工具。
共用 cell 运行时管理工具效果、输出和会话 JSON 存储。取消或丢弃观察者后,仍须等待实际清理才完成。Python 全局变量不跨 cell 保留;store/load 值可跨 cell 和语言共享。worker 边界只接受无损 JSON,嵌套上限为 128 层。
默认限制为解释器分配 64 MiB、累计执行 30 秒;进程分配器为协议和解释器开销保留有界余量。启动和等待 Host 不计入执行时间,编译计入。取消会终止并回收 worker,再等待已接收的工具效果清理。全局分配器只安装于 worker 二进制,不影响 Host。