ZCode,外加一整张画布
想运行多少个 ZCode 智能体都行,每张卡片里都是真正的 zcode。ZCode 自己的钩子报告每一轮和每个问题,箭头把终端、笔记和其他智能体交给它,每张卡片都能续上自己的会话,并记下它发出的每一次请求。
官方网站zcode.z.ai- 真正的
zcode,用你自己的提供方 - 你的
~/.zcode只会被读取 - 免费,支持 Windows 和 macOS
它知道 ZCode 何时完成——何时在提问
安静的终端可能意味着“已完成”,也可能是“在等你授权”。NeuroSquad 不靠猜:每张卡片的设置里都带着 ZCode 自己的钩子,而且 ZCode 会等待每一个钩子执行完。
UserPromptSubmit钩子你按下回车。卡片图标开始旋转,团队状态卡片把它算作工作中,上一个问题的通知随之撤下。
PermissionRequest钩子ZCode 在调用前询问。通知会写明这次调用——ZCode needs your permission: Bash rm -rf dist——并一直保留到你回答;该工具的 PostToolUse 会把卡片切回工作中。
Stop钩子这一轮结束了。队列里的下一条提示词发出,日志记下回答,通知告诉你已完成。
提问和计划同样算数
ZCode 通过同一个 PermissionRequest 发送 AskUserQuestion 和 ExitPlanMode,所以通知显示 ZCode is asking: Tabs or spaces?,卡片会等你。
Esc 靠按键判断
Escape 会取消这一轮(“Turn cancelled.”),但不触发任何钩子,所以卡片直接根据按键来判断。空闲时按 Ctrl+C 会退出 ZCode——卡片从不发送它。
子智能体不影响它
子智能体在自己的会话(sess_subagent_…)中运行;它的钩子不会改变卡片状态。
用 ZCode 你会做的三件事
应用的复刻演示,一步一步播放。ZCode 提问时,由你来回答。
ZCode 通过终端卡片修好一个失败的测试,在删除文件夹前停在它的授权对话框上,然后完成——日志自动写好。
ZCode 在 NeuroSquad 中能做的一切
基于 zcode-app-cli 的 zcode 命令、ZCode 运行时 0.16.9 实测。大部分是 ZCode 自带的——钩子、MCP、会话、用量账本。凡是 NeuroSquad 额外实现的,或无法实现的,卡片上都会注明。
- 01
清楚自己的状态
ZCode 自己的钩子报告每一轮、每次授权和每个问题,不靠猜测。
“已完成”和“在等你”是两回事
每张卡片的设置里都有 ZCode 的
文档: “已完成”和“在等你”是两回事process钩子——SessionStart、UserPromptSubmit、PermissionRequest、Stop——ZCode 会等待每一个,所以卡片能即时得知每一轮。通知写明它需要什么
通知会写明这次调用——
文档: 通知写明它需要什么ZCode needs your permission: Write notes.md——或 ZCode 提出的问题。每个智能体一条;等待中的通知会保留到你回答。- 由 NeuroSquad 实现
用 Esc,不用 Ctrl+C
Escape 取消正在进行的一轮;ZCode 对此没有钩子,所以卡片根据按键判断。空闲时 Ctrl+C 会退出 ZCode,因此预算刹车和手机按键行都不会发送它。
文档: 用 Esc,不用 Ctrl+C 重启后会话依旧
ZCode 在第一条提示词时创建会话,没有指定 id 的参数;
文档: 重启后会话依旧SessionStart会报告 id,于是下次启动就是zcode --resume <id>。会话被删除时会自动换成新会话。
- 02
通过画布工作
从卡片引出的箭头就是一组工具,经由 ZCode 自己的 MCP 客户端。
NeuroSquad 自己的工具不弹窗
所有
文档: NeuroSquad 自己的工具不弹窗mcp__neurosquad__*工具都在卡片的permission.allowedTools里,所以运行时不会弹出对话框。其他调用照常按 ZCode 的方式询问。稳得住的卡片模式
文档: 稳得住的卡片模式--disallowedTools把 Bash、它的后台 shell 和网络工具从模型可见的列表中移除——yolo 模式也一样——另有一个PreToolUse钩子拒绝它们。
- 03
为长时间运行而生
上下文、压缩、提示词队列和日志——都在卡片上处理。
- 04
团队协作
每张卡片都有自己的 ZCode 文件夹,所以多个智能体可以共用一个项目,却不共用会话列表。
- 由 NeuroSquad 实现
每张卡片一个 ZCode 文件夹
ZCode 从你的主目录读取设置,且没有开关可以改,所以一个小小的预加载脚本让 ZCode——也只有 ZCode——改读卡片的副本:你的设置加上 NeuroSquad 的设置。磁盘上的密钥始终是占位符。
文档: 每张卡片一个 ZCode 文件夹
- 05
费用、控制与访问
它花了多少、最多能花多少、用的是哪个模型,以及你怎样联系到它。
OpenRouter 和你自己的服务器
卡片专属的提供方,可指向 OpenRouter(附带 NeuroSquad 的归属请求头),也可指向你自己的服务器(Chat Completions 或 Anthropic Messages)。密钥来自卡片的环境变量,绝不来自磁盘。
文档: OpenRouter 和你自己的服务器
谁在等你,花了多少
同时运行多个 ZCode 智能体时,这两张卡片回答你最常问的问题。
团队状态卡片
工作区里每个智能体的状态、模型和本轮用时。等你处理的排在最前,附带 ZCode 的问题。点一下状态即可筛选。
coupon-fixZCodeGLM-5.3ZCode needs your permission: Bash rm -rf dist等你处理2:34
api-migrationZCodeGLM-5.3把路由迁到新客户端工作中14:58
lint-setupZCodeGLM-5.3-FlashZCode is asking: Tabs or spaces?等你处理3:51
docs-passZCodez-ai/glm-4.6更新 README已完成7分钟前
用量与费用
从每张卡片自己的 ZCode 数据库中的用量账本读取,所以每次请求只属于一张卡片。令牌和费用精确加总到合计。
| 智能体 | 令牌 | 费用 | ||
|---|---|---|---|---|
| coupon-fix | 1,184,310 | US$0.96 | ||
| api-migration | 802,554 | US$0.64 | ||
| docs-pass | 196,402 | US$0.11 | ||
| 总计 | 101 | 2,183,266 | US$1.71 |
真正的 ZCode,拥有自己的文件夹
NeuroSquad 启动的就是你自己运行的那个 zcode,运行在卡片里的真实终端中。它额外添加的全部内容如下:
你的 ~/.zcode 只会被读取
预加载只在 ZCode 自己的进程里生效:读取你的设置文件,写入的是卡片的副本。用户 setting.json 中的一个标记在每次测试运行后都逐字节保持不变。
磁盘上没有密钥
卡片文件里的令牌和密钥都是 ${NAME} 占位符,在内存中填入,并从 ZCode 的环境中移除——所以它执行的 shell 命令看不到它们。
是哪个 ZCode
ZCode 的源代码由 Z.ai 公开;npm 上的 zcode 命令来自 zcode-app-cli,它原样附带 Z.ai 的运行时。设置向导安装的就是它;Z.ai 自己的构建版本也以同样方式运行。
关于 NeuroSquad 中的 ZCode
给 ZCode 一张画布
免费,支持 Windows 和 macOS。你的代码、提供方和费用都留在你的电脑上。