Safe ZCode:更安全更可靠的开源 ZCode 分支

Safe ZCode 是上游 ZCode 开源快照的下游分支,围绕隐私、可控性和中文使用场景做了一组补丁,跟随上游更新,代码在 jidzhang/ZCode。 九月发布第一版时只支持 Windows;目前基线跟到上游 3.16.2,共发布 10 个版本,Windows、macOS、Linux 的 x64 与 arm64 均有安装包。实现方式与 Edge 之于 Chrome 类似:上游发布快照后合并,逐条重放本地补丁;上游已实现同类功能的,删除本地对应改动。 相较于官方版 隐私默认收紧。 模型遥测在打包环境写入关闭值;阿里云 ARMS 监控 SDK 换为零网络空实现;官方发行版构建期注入的 OTLP 上报地址,本项目不注入,安装包里没有可上报的目的地。启动时的七类后台请求(更新检查、升级提醒、灰度开关、帮助链接、模型列表、插件市场、远端小图标)默认全部停用,各自回落到本地数据;会话分享发布入口默认关闭。需要恢复时在 ~/.zcode/v2/setting.json 里加 "enableStartupOutbound": true 并重启。 日志可配置。 上游保留期固定 14 天且没有级别开关。现在有两个设置项:logLevel(error / warn / info,默认 info)和 logRetentionDays(0–365,默认 14)。阈值同时作用于主进程、渲染进程转发的日志和 Host 服务层日志,日志只写本地目录、不上传。 登录是选项,不是前提。 上游逐步收紧账号体系:未登录可能被全屏拦截,token 过期弹全屏重登页;3.16.2 的手机远控改成账号 JWT,只用 API key 的用户直接无法使用。本项目过滤掉启动守卫与过期推送,只在用户主动登录、选择需要账号的模型或登出后重连时显示登录页;不登录也能使用全部本地功能。手机远控恢复了 3.15.1 的免登录配对链路(二维码携带 hash/t,relay 匿名注册),手机页版本固定到 3.15.1。更新通道独立,发布包只查本仓库的 GitHub Releases。 飞书 / 微信通道更可靠。 通道是客户端与飞书、微信官方服务器的直连,不经过任何中间域名。在此基础上:飞书 token 被服务端提前作废时自动续期重试,流式卡片熔断改为 60 秒半开可恢复(上游为永久闩锁,一次故障只能重启);任务运行中发送的消息改为入队而非拒绝,桌面端发起的任务也能正确排队;工具调用摘要、报错、权限申请、状态预览四个出口统一做密钥打码,路径与链接保持原样。两个通道各有独立包,可挂到 zcode --web 后端用于无桌面部署。 ...

2026年10月23日 · 1 分钟 · Jid

Safe ZCode:把 AI 编程工作台调成静音模式

ZCode 是智谱开源的 AI 编程工作台,桌面端、浏览器、终端 Agent 一应俱全。但原版有个让我坐立难安的毛病:刚装好、什么都没点,它就在后台频频联系官方服务器——更新检查、升级提醒、灰度开关、模型列表、插件市场,一声不吭,全是自发的。 于是有了这个 fork:Safe ZCode。目标就一句话——软件默认安静,该联网时才联网。 顺带一提:同版本安装包官方约 170MB,自带约 143MB——小出来的近 30MB, 是拿掉阿里云遥测、再剔掉 sourcemap 这类非运行时文件省下的。 默认关掉的三样东西 遥测归零:模型遥测、ARMS、埋点上报默认全关,自打的安装包里根本不带上报地址。不是“有个开关可以关”,而是出厂就没有。 启动静默:冷启动 7 类直连官方的请求(更新检查、强制升级检查、灰度、帮助链接、模型列表、插件市场、远端小图标)默认全停,各回本地数据。我用抓包工具一条一条数过,干净了才算完。 分享默认关闭:会话分享不上官方后端;发往飞书/微信的工具调用摘要、报错、权限申请里夹带的密钥令牌,先打码再发,路径和链接保持可读。 修的几个真 bug 飞书 tenant token 会被服务端提前作废,旧代码按固定 90 分钟缓存,失效后熔断永久打开、回复静默丢失——改成按 expire 续期、失效驱逐、熔断 60 秒半开自愈。 打包脚本只认 macOS/Linux,两处 Windows 必挂(pnpm.cmd 的 call 陷阱、GNU tar 的盘符冒号)都修了,现在一键出 Windows 安装包。 打包产物里曾带着 21MB 的 sourcemap(含源码全文),现已剔除;第三方库自带的不动。 更新自己管 官方版的更新通道指向官方服务器——这正是我要切断的。自有更新走本仓库的 Releases,日常包更新器整个拿掉,点“检查更新”也只会告诉你已是最新。发版包的更新只认自家 Releases,不会去官方源。 下载 Releases 下载页(当前 v3.14.3-safe.1,Windows x64;ARM / Linux / Intel Mac 陆续补) 源码仓库(基于上游 v3.14.3,跟随上游更新) 日常用的装上就行;想折腾的看仓库里 SAFE-ZCODE.md,开关都在 ~/.zcode/v2/setting.json 里,改完重启生效。

2026年9月29日 · 1 分钟 · Jid

NSSM:把任何程序变成 Windows 服务的利器

什么是 NSSM? NSSM(Native System Service Manager)是一个轻量级的 Windows 服务管理工具。它的核心能力很简单:把任何可执行程序注册为 Windows 服务,让它随系统自动启动、崩溃自动重启、后台稳定运行。 NSSM 最初的全称是 “Non-Sucking Service Manager”(不烂的服务管理器),从 v2.26 起正式更名为 Native System Service Manager,更准确地反映了它的定位。 如果你曾经在 Windows 上部署过 Node.js 应用、Python 脚本、Java 服务,或者其他任何没有原生服务支持的工具,你一定遇到过这些问题: 没法开机自启 用户注销后进程就退出了 崩溃了没人管 日志不知道往哪里写 NSSM 就是来解决这些问题的。 为什么选择 NSSM? 同类工具中,WinSW 也是常见选择,但 NSSM 有两个显著优势: 不依赖 VC 运行时——采用多线程静态链接(/MT)编译,不需要安装 Visual C++ Redistributable,拷贝即用 体积极小——exe 仅约 370KB,相比 WinSW 动辄数 MB,NSSM 几乎不占空间 此外,Windows 自带的 sc 命令和 instsrv/srvany 也能注册服务,但它们有几个致命缺陷: 没有崩溃自动重启——程序挂了就真挂了 没有日志重定向——输出无处可去 没有图形界面——纯命令行操作,参数容易写错 不支持相对路径——路径写死后挪个位置就废了 NSSM 提供了完整的 GUI 配置界面和丰富的命令行参数,覆盖了服务管理的方方面面。 下载安装 NSSM 是单文件绿色工具,无需安装,下载后直接使用。 ...

2026年5月22日 · 4 分钟 · Jid

用 GLM 模型驱动 OpenAI Codex CLI:codex-glm-proxy 使用指南

OpenAI Codex CLI 是一个强大的终端 AI 编程助手,但它默认只支持 OpenAI 自家的模型。如果你更倾向于使用国内的大模型,比如智谱 AI 的 GLM 系列,该怎么办? codex-glm-proxy 就是解决这个问题的工具——一个轻量级的本地代理,让 Codex CLI 无缝对接 GLM 模型。 它做了什么? 简单来说,Codex CLI 使用的是 OpenAI 的 Responses API 格式,而智谱 GLM 使用的是 Chat Completions API 格式。两者协议不同,无法直接通信。 codex-glm-proxy 在中间做双向格式转换: Codex CLI ──Responses API──▶ 本地代理 (localhost:18765) ──Chat Completions──▶ GLM API 你不需要改 Codex 的源码,也不需要等官方适配,启动代理、改个配置文件就行。 核心特性 流式响应:实时 SSE 流式输出,打字效果和 OpenAI 原生体验一致 工具调用:完整支持 apply_patch、exec 等 Codex 全部工具,AI 可以直接帮你改代码、跑命令 多轮对话:完整保持上下文,支持连续追问和迭代 连接池复用:内置 TCP+TLS 连接池,多实例并发时性能更好 单文件无依赖:整个代理就一个 proxy.py,纯 Python 标准库,不用 pip install 任何东西 支持哪些模型? 代理支持智谱 GLM 全系列 Coding 模型: ...

2026年5月6日 · 2 分钟 · Jid