新闻详情

新闻详情

首页 / 资讯中心 / 详情

一份 brand.json 加一张 logo:5 步把 Qwen Code 桌面壳改成你的白标客户端

发布时间:2026/9/20 21:54:23来源:尧图网络
一份 brand.json 加一张 logo:5 步把 Qwen Code 桌面壳改成你的白标客户端
一份 brand.json 加一张 logo5 步把 Qwen Code 桌面壳改成你的白标客户端【免费下载链接】qwen-codeAn open-source AI coding agent that lives in your terminal.项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-codeQwen Code 桌面品牌化不必从零改造Desktop Brand Builder 把 Tauri 桌面壳白标收敛成一条命令链。一个品牌 ID、一张 logo、五步操作你即可拿到改名换图标、更新通道独立或关闭的白标安装包。先动手后拆解。这个功能解决什么问题品牌化要改的东西少得令人意外只有三处。packages/desktop-shell里的 Tauri 壳是目前 Qwen Code 唯一的桌面实现旧 Electron 版本packages/desktop已从仓库移除不再维护。桌面应用的运行形态很简单Tauri 进程在本地回环端口启动qwen serve等/health就绪后把同一个 daemon 提供的 Web Shell 装进原生窗口。品牌挂载点因此集中在三处src-tauri/tauri.conf.json应用名、Bundle Identifier、打包与更新配置src-tauri/icons/从 32px 小图到.icns、.ico的全部图标尺寸bootstrap/窗口打开前呈现的启动 UI含标题与 logo。Desktop Brand Builder 以 Agent 技能的形式存放在.agents/skills/desktop-brand-builder/目录入口是 SKILL.md。当你提出做一个定制品牌桌面客户端、白标安装包类需求时Agent 会读取这份 SKILL.md并调用技能内置的 brand-create.mjs 完成全部替换。五步跑出一个可安装的品牌包跟着做你会得到一套可直接分发的品牌安装包。顺序不能乱每步后面跟一句最容易踩的坑。第一步在隔离克隆中工作别污染日常工作仓库。BUILD_ROOT$PWD/brand-builds/acme-ai-20260919 mkdir -p $BUILD_ROOT git clone --branch main --single-branch \ https://gitcode.com/GitHub_Trending/qw/qwen-code \ $BUILD_ROOT/qwen-code cd $BUILD_ROOT/qwen-code git checkout -B brand-acme-ai origin/main坑clone 或 checkout 任一步失败就地停止并如实报告失败不能假装brand-brandId分支已创建然后继续往下跑。第二步写brand.json放在构建目录里。{ brandId: acme-ai, logo: /absolute/path/to/logo.png, website: https://acme.ai, updaterEndpoints: [], updaterPubkey: }坑logo必须是绝对路径且文件真实存在必填的只有brandId和logo两项其余字段都可以交给脚本派生下一节详述。第三步两套依赖都要装。品牌脚本本身只需要 desktop-shell 的node_modules但build:runtime会调用仓库根部的构建依赖根部的cross-env、esbuild 等 devDependencies。npm install # 根部依赖 cd packages/desktop-shell npm install --workspacesfalse # desktop-shell 依赖 cd ../..坑只装 desktop-shell 而跳过根部build:runtime会在第一时间就找不到工具而失败。第四步运行品牌创建脚本用纯 Node 执行零依赖Node ≥ 18 即可。node packages/desktop-shell/.agents/skills/desktop-brand-builder/scripts/brand-create.mjs \ --shell-root $BUILD_ROOT/qwen-code/packages/desktop-shell \ --config $BUILD_ROOT/brand.json坑只要内置脚本可用就不要手工编辑tauri.conf.json、图标文件或 bootstrap 品牌字符串脚本才是补丁配置与生成资源的唯一权威来源。成功后它会打印一份 JSON 报告字段包括brandId、appName、appId、artifactPrefix、updaterEndpoints、被补丁的tauriConfig路径、图标结果icons、被补丁的 bootstrap 文件列表bootstrapPatched。第五步准备 runtime 并打包。cd packages/desktop-shell npm run build:runtime --workspacesfalse npx tauri build # 当前宿主平台坑build:runtime按QWEN_DESKTOP_TARGET决定捆绑哪个平台的 Node 运行时交叉编译的坑单独放在后面一节。交给脚本的只有三样最小输入与自动派生你能交出的信息其实只有三样其余全是确定性推导脚本不会向你要答案。brandId必填必须匹配^[a-z][a-z0-9-]*$即小写字母开头只含小写字母、数字、短横线logo必填本地文件路径且必须存在建议 1024px 以上的方形 PNGwebsite可选仅用于派生 appId。技能明确要求不要追问 appName、appId、产物名、版权或更新端点除非用户主动要求覆盖。必填项缺失时只询问一次不反复追问一旦齐全直接进入构建流程不再要求确认。字段含义不填时的推导appName应用显示名brandId 按短横线切分、各段首字母大写后以空格连接acme-ai→Acme AIartifactPrefix安装包文件名前缀同样的大写处理但以短横线连接acme-ai→Acme-AIappIdTauri bundle identifierwebsite 含合法 host 时反转 host 标签并追加.desktophttps://acme.ai→ai.acme.desktopupdaterEndpoints更新源端点数组JSON空数组即禁用应用内更新推导规则里有两处细节。其一appId会先剥离www.前缀且要求 host 至少有两段否则回退为app.brandId.desktop如app.acme-ai.desktop。其二派生名称时脚本维护了一组缩写词——ai、api、cli、ide、sdk、ui、url——整体大写brandId: acme-cli得到的是Acme CLI而不是Acme Cli。更新通道的规则比字段更硬品牌构建包与官方 Qwen Code 更新源互不轮询——品牌方永不查询官方 feed官方 feed 也永不更新品牌包。所以updaterEndpoints默认为空只有品牌方自备更新源时才填端点。清空端点时脚本还顺手做两件事把bundle.createUpdaterArtifacts置为false避免 Tauri bundler 继续产出没人消费的签名更新产物把plugins.updater.pubkey设为空字符串而不是删除字段——updater 插件的 schema 里pubkey: String没有默认值字段整个缺失会在启动反序列化时直接失败而端点为空时空字符串没有任何副作用。脚本内部三处补丁与它们的自保机制三个补丁点按顺序执行每个点都配了防误伤的规则。补丁一tauri.conf.json 改四个字段productName→ 品牌appNameidentifier→ 品牌appIdbundle.shortDescription→${appName} desktop shell for the Qwen Code Web Shellplugins.updater.endpoints→ 品牌端点无更新源时清空配三条自保规则。其一是单次使用守卫脚本启动即检查productName是否已偏离默认值Qwen Code Desktop偏离就拒绝运行。原因不复杂bootstrap 补丁依赖原始字面量pubkey 与 endpoints 的变更无法回滚补丁是单程票。其二是 fail closed失败优先品牌提供了更新配置端点非空或给了 pubkey但目标配置里没有plugins.updater段——比如 fork 或手工改过的 shell-root——脚本在写任何文件之前直接报错而不是悄悄丢弃已校验的配置交付一个永远无法更新的品牌包。其三加载期还会拒绝appName恰好等于Qwen Code Desktop的情况单次使用守卫依赖 productName 偏离默认值名字相同则守卫失效第二次运行会在 bootstrap 文件里把品牌字符串拼接两遍。补丁二从 logo 重建整套图标脚本优先用 Node 的require.resolve(tauri-apps/cli/tauri.js)直接定位 Tauri CLI 入口再以spawnSync(process.execPath, [...])调用icon子命令。logo 路径由此作为普通 argv 元素传入全程不经过命令解释器路径里带$(cmd)或反引号这类构造文件名引发的 shell 注入风险被直接掐断。CLI 跑不起来时有两级回退logo 是 PNG就把它复制为src-tauri/icons/icon.png并告警其余尺寸仍是 Qwen Code 旧 logo提示手动执行npx --yes tauri-apps/cli icon logo补齐logo 不是 PNG 且 CLI 也失败则一个图标都不替换要求先转成 PNG 再试。补丁三bootstrap 启动 UI 换肤脚本把 logo 复制为bootstrap/brand-logoext再补丁 index.html 与bootstrap.js页面title、品牌标题h1、启动文案里的Qwen Code字面量全部换成【免费下载链接】qwen-codeAn open-source AI coding agent that lives in your terminal.项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

对比矩阵布局(comparison-matrix):baoyu-infographic 多因素对比信息图的设计与实战 2026/9/20 22:42:31

对比矩阵布局(comparison-matrix):baoyu-infographic 多因素对比信息图的设计与实战

AI 技能AI 插件 【免费下载链接】baoyu-skills 项目地址: https://gitcode.com/gh_mirrors/ba/baoyu-skills 点击查看 免费下载 对比矩阵(comparison-matrix)是 baoyu-infographic 技能提供的 21 种信息图布局之一,专为「多个对象…

阅读更多 →
AI如何革新问卷设计?从理论到实践全解析 2026/9/20 22:42:31

AI如何革新问卷设计?从理论到实践全解析

1. 问卷设计的现状与痛点作为一名在市场调研行业摸爬滚打十年的老手,我见过太多"野路子"问卷的惨痛案例。上周还遇到一个客户,拿着他们市场部自制的问卷来找我咨询——20个问题里有15个是引导性问题,选项设置完全不平衡&#xff0c…

阅读更多 →
Meshery 愿景审查裁决解析:从 21 个技术假设到六项设计原则的落地校准 2026/9/20 22:42:31

Meshery 愿景审查裁决解析:从 21 个技术假设到六项设计原则的落地校准

Meshery 愿景审查裁决解析:从 21 个技术假设到六项设计原则的落地校准 【免费下载链接】meshery Meshery, the cloud native manager 项目地址: https://gitcode.com/GitHub_Trending/me/meshery 本文以 VISION.answers.md 为骨架,完整呈现 Meshe…

阅读更多 →
Attention-BiLSTM语音情感识别实战:时序建模与可解释性实现 2026/9/20 22:42:31

Attention-BiLSTM语音情感识别实战:时序建模与可解释性实现

简介:本资源是一套完整的语音情感识别研究与Web系统实现方案,面向人工智能、语音信号处理方向的本科生、研究生及算法工程师,解决语音情感分类模型构建与轻量级部署的实际问题。资源包含Attention-BiLSTM核心模型(含BiLSTM、ATT-B…

阅读更多 →
使用 systemd 将 Teleport Machine ID(tbot)部署为系统服务:配置、权限初始化与开机自启 2026/9/20 22:42:31

使用 systemd 将 Teleport Machine ID(tbot)部署为系统服务:配置、权限初始化与开机自启

使用 systemd 将 Teleport Machine ID(tbot)部署为系统服务:配置、权限初始化与开机自启 【免费下载链接】teleport The easiest, and most secure way to access and protect all of your infrastructure. 项目地址: https://gitcode.com/…

阅读更多 →
如何向Superhuman报告数据问题?Issue沟通最佳实践 2026/9/20 22:39:30

如何向Superhuman报告数据问题?Issue沟通最佳实践

如何向Superhuman报告数据问题?Issue沟通最佳实践 【免费下载链接】superhuman 项目地址: https://gitcode.com/GitHub_Trending/sup/superhuman Superhuman 是 Google DeepMind 的推理基准数据仓库,内含 IMO-Bench 等核心数据集。当你在数据中发…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞