release: unify 1.0.7 downloads and Apache-2.0 commercial-use terms

Update bilingual documentation and website, include the official Zcode logo and deployable license notices, and replace the unverified display font with the bundled OFL font. Guard version, download and licensing consistency in CI. Give the native ACP multi-phase integration test a realistic completion budget.

Validation: frontend 369/369, landing 12/12, deterministic eval 6 cases/18 results, web/desktop builds, pack/dist, DMG/ZIP integrity and extracted-app signature/license checks passed. Packaged Electron startup passed. The ACP restart group passed 10/10 after one full-suite timing failure; the full desktop suite is rerunning before publication.
This commit is contained in:
Ryder Sun committed 2026-10-27 15:28:09 +08:00
1 parent 9971659e8a
commit 4c522c0997
21 files changed
+417 -125

No files matched your search

+3
View File
@@ -31,6 +31,9 @@ jobs:
- name: Run unit tests
run: npm test
- name: Check website and release licensing consistency
run: node --test ../meldwork-landing/test/landing.test.cjs
- name: Build web application
run: npm run build
+13 -1
View File
@@ -1,5 +1,17 @@
# Changelog
## 1.0.7 - 2026-10-27 (Meldwork-V1.0.7 prerelease)
- Preserve streamed discussion replies across cancellation and reload; scope ACP notifications to the active session.
- Support Hermes native stream JSON and avoid MiMo interactive plan prompts in headless runs.
- Add Zcode with its official logo before Pi Agent, native default configuration, and explicit missing-key errors.
- Let WorkBuddy use an explicitly selected model from its desktop configuration, without exposing credentials to the renderer.
- Keep Chinese slash-separated text intact while retaining credential and local-path redaction.
- Unify application, artifact, README, and website versions at 1.0.7.
- License Meldwork's original source, documentation, and website under Apache-2.0: commercial use is permitted without separate authorization or license fees. Third-party notices remain applicable. Older entries below describe their historical release terms.
- Native acceptance includes a real WorkBuddy response; six-Agent unlimited discussion cancellation and reload were checked with simulated adapters. Zcode's default provider still needs a valid API key; the observed OpenCode router's invalid `tool_calls` finish reason remains an upstream issue.
- Apple silicon DMG and ZIP remain ad-hoc signed and unnotarized.
## 0.1.6 - 2026-10-17 (Meldwork-V1.0.6 prerelease)
### Agent Reliability
@@ -151,7 +163,7 @@
- Sets the desktop package version to `0.1.2` with permanent Bundle ID `com.rydersun.meldwork`.
- Produces Apple silicon DMG and ZIP prerelease artifacts using ad-hoc signing. This is not Apple Developer ID signing or notarization and may require Open Anyway on first launch.
- Keeps `dist:public` as the fail-closed future formal-distribution path requiring a Developer ID identity, Hardened Runtime, complete Apple notarization credentials, and post-sign validation.
- Uses the Meldwork Non-Commercial Source License; commercial use requires prior written permission.
- This historical release used the Meldwork Non-Commercial Source License and required prior written permission for commercial use. Current releases use Apache-2.0 as stated above.
### Verification
+20 -11
View File
@@ -1,14 +1,23 @@
# Commercial Use And Licensing
# Commercial use / 商业使用
Meldwork is licensed under the [Apache License 2.0](LICENSE). Commercial use,
private use, modification, redistribution, and use inside a paid service are
permitted under the license terms.
Meldwork's original source code, documentation, README files, and official website
are licensed under [Apache License 2.0](LICENSE). Commercial use, private use,
modification, redistribution, and inclusion in paid products or services are
permitted under its terms. No separate commercial authorization or license fee
is required.
This page is a practical summary and does not replace the license text. Apache
License 2.0 does not grant trademark rights to the Meldwork name, logo,
screenshots, or other brand assets. Third-party software, Agent products,
models, names, logos, and other materials remain subject to their own licenses
and terms.
When redistributing, preserve the license, applicable copyright and attribution
notices, and NOTICE information, and identify modified files as required by the
license. Apache-2.0 does not grant trademark rights (Section 6).
Before distributing a product that includes third-party materials, review the
relevant notices and preserve the required attribution and license information.
Third-party dependencies, fonts, Agent names, and logos retain their own licenses
and terms; their inclusion does not imply endorsement. In particular, the
website's bundled Fusion Pixel font retains its OFL license and notices.
Meldwork 原创源代码、文档、README 和官网均采用 Apache-2.0。依照许可证条款,
允许商业使用、私人使用、修改、再分发,以及用于收费产品或服务;无需另行取得商业
授权或支付许可费。再分发时应保留许可证、适用的版权与归属声明及 NOTICE 信息,并
按许可证要求标明修改。Apache-2.0 第 6 条不授予商标权。第三方依赖、字体、Agent
名称和标志仍遵循各自条款;官网附带的 Fusion Pixel 字体保留 OFL 许可证与声明。
This summary does not replace LICENSE. 本说明不替代 LICENSE 正文。
+4
View File
@@ -10,3 +10,7 @@ do not imply sponsorship or endorsement.
The OpenCodeReview logo is sourced from Alibaba's OpenCodeReview project:
https://github.com/alibaba/open-code-review/blob/main/imgs/logo-core.svg
The upstream project is licensed under Apache License 2.0.
The Zcode logo is sourced unchanged from the official Zcode website:
https://zcode.z.ai/favicon-192x192.png?v=20260707-transparent
The logo identifies the integration; its trademark rights remain with its owner.
+20 -21
View File
@@ -15,7 +15,7 @@ Meldwork is a local-first multi-Agent collaboration workspace for the Agent tool
You do not need to direct every round, but you still set the goal, grant permissions, and make key decisions. Missing information, permission requests, or tradeoffs may require your input. Workspace writes are opt-in; collaboration history, run state, and deliverables stay local so you can revisit the work and continue it.
<p align="center">
<a href="https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.6/Meldwork-0.1.6-arm64.dmg"><strong>Download Meldwork V1.0.6 for Apple silicon macOS</strong></a>
<a href="https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.7/Meldwork-1.0.7-arm64.dmg"><strong>Download Meldwork V1.0.7 for Apple silicon macOS</strong></a>
· <a href="architecture.md">Architecture</a>
· <a href="LICENSE">License</a>
</p>
@@ -60,20 +60,21 @@ Meldwork detects and invokes compatible locally installed Agent commands. The ca
<table>
<tr>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/codex.svg" alt="Codex logo" width="32" height="32"><br><strong>Codex</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/hermes.png" alt="Hermes logo" width="32" height="32"><br><strong>Hermes</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/openclaw-transparent.png" alt="OpenClaw logo" width="32" height="32"><br><strong>OpenClaw</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/workbuddy.png" alt="WorkBuddy logo" width="32" height="32"><br><strong>WorkBuddy</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/pi.svg" alt="Pi Agent logo" width="32" height="32"><br><strong>Pi Agent</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/kimi.png" alt="Kimi Code logo" width="32" height="32"><br><strong>Kimi Code</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/codex.svg" alt="Codex logo" width="32" height="32"><br><strong>Codex</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/hermes.png" alt="Hermes logo" width="32" height="32"><br><strong>Hermes</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/openclaw-transparent.png" alt="OpenClaw logo" width="32" height="32"><br><strong>OpenClaw</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/workbuddy.png" alt="WorkBuddy logo" width="32" height="32"><br><strong>WorkBuddy</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/zcode.png" alt="Zcode logo" width="32" height="32"><br><strong>Zcode</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/pi.svg" alt="Pi Agent logo" width="32" height="32"><br><strong>Pi Agent</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/kimi.png" alt="Kimi Code logo" width="32" height="32"><br><strong>Kimi Code</strong></td>
</tr>
<tr>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/mimo.svg" alt="MiMo Code logo" width="32" height="32"><br><strong>MiMo Code</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/claude.png" alt="Claude Code logo" width="32" height="32"><br><strong>Claude Code</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/gemini.svg" alt="Gemini CLI logo" width="32" height="32"><br><strong>Gemini CLI</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/opencode.svg" alt="OpenCode logo" width="32" height="32"><br><strong>OpenCode</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/qwen.svg" alt="Qwen Code logo" width="32" height="32"><br><strong>Qwen Code</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/opencodereview.svg" alt="OpenCodeReview logo" width="32" height="32"><br><strong>OpenCodeReview</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/mimo.svg" alt="MiMo Code logo" width="32" height="32"><br><strong>MiMo Code</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/claude.png" alt="Claude Code logo" width="32" height="32"><br><strong>Claude Code</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/gemini.svg" alt="Gemini CLI logo" width="32" height="32"><br><strong>Gemini CLI</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/opencode.svg" alt="OpenCode logo" width="32" height="32"><br><strong>OpenCode</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/qwen.svg" alt="Qwen Code logo" width="32" height="32"><br><strong>Qwen Code</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/opencodereview.svg" alt="OpenCodeReview logo" width="32" height="32"><br><strong>OpenCodeReview</strong></td>
</tr>
</table>
@@ -85,9 +86,9 @@ Meldwork runs as a local Electron application. Conversations, group configuratio
Selected Agents may send prompts, attachments, or Skills to the model provider configured in their own CLI. Knowledge access is explicit and bounded: the current implementation supports local Obsidian retrieval and CLI-owned Feishu or DingTalk access modes. Local-first describes where Meldwork stores and coordinates work; it does not promise that an Agent's model provider is offline.
## Download V1.0.6
## Download V1.0.7
For Apple silicon macOS, download the [Meldwork V1.0.6 prerelease](https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.6) and choose [`Meldwork-0.1.6-arm64.dmg`](https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.6/Meldwork-0.1.6-arm64.dmg). The release also includes a ZIP archive and SHA-256 manifest. Install at least one supported local Agent CLI before opening the app.
For Apple silicon macOS, download the [Meldwork V1.0.7 prerelease](https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.7) and choose [`Meldwork-1.0.7-arm64.dmg`](https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.7/Meldwork-1.0.7-arm64.dmg). The release also includes a ZIP archive and SHA-256 manifest. Install at least one supported local Agent CLI before opening the app.
The preview artifacts are ad-hoc signed and not notarized with an Apple Developer ID. macOS may require **Open Anyway** under **System Settings → Privacy & Security** on first launch.
@@ -110,13 +111,11 @@ npm --prefix frontend run build:desktop
npm --prefix desktop test
```
## V1.0.6
## V1.0.7
V1.0.6 improves long-lived Agent recovery, keeps group discussions going through individual failures, and lets conversations run independently even in the same folder. It delivers attachments and knowledge sources to group Agents, restores WorkBuddy's bundled CLI launch, and tightens ACP and WorkBuddy permission checks.
V1.0.7 preserves streamed replies when Auto Discussion is interrupted, handles Hermes native streaming and ACP session boundaries, and prevents MiMo headless runs from waiting on interactive plan prompts. Zcode joins the catalog before Pi Agent, with its official logo and native default configuration. WorkBuddy can reuse a configured desktop model selected in Meldwork.
The interface starts without waiting for Agent detection, highlights conversations awaiting your decision, explains why an installed Agent is unavailable, and adds General settings with System, Light, and Dark appearance options.
Release verification includes 357/357 frontend tests, 1,603/1,603 desktop tests, six deterministic evaluation cases with 18 results, web and desktop builds, packaging, DMG checksum and ZIP integrity checks, and code-signature verification. The packaged Apple silicon app launched with a fresh profile without main-process faults. Real Agent group execution, cancellation, and restart acceptance were not repeated for this release. The artifacts remain ad-hoc signed and unnotarized; live behavior still depends on the installed Agent CLI version, authentication, Provider, and capabilities.
Electron acceptance covered interrupted six-Agent unlimited discussions with simulated adapters, persistence after reload, and a real WorkBuddy reply. CLI and UI regression tests cover output parsing, cancellation, authentication errors, and redaction. Native Agent behavior still depends on the CLI and its provider: Zcode's default provider needs a valid API key, and an OpenCode route returning an invalid `tool_calls` finish reason remains an upstream issue. Unlimited discussion does not bypass stalled-process detection.
## Documentation
@@ -127,4 +126,4 @@ Release verification includes 357/357 frontend tests, 1,603/1,603 desktop tests,
## License
Meldwork is open source under the [Apache License 2.0](LICENSE). Commercial use, private use, modification, and redistribution are permitted under the license terms. The license does not grant rights to the Meldwork name, logo, or other brand assets; see [COMMERCIAL_USE.md](COMMERCIAL_USE.md).
Meldwork is open source under the [Apache License 2.0](LICENSE). Commercial use, private use, modification, and redistribution are permitted under the license terms. No separate commercial authorization or license fee is required. Apache-2.0 does not grant trademark rights; see [COMMERCIAL_USE.md](COMMERCIAL_USE.md).
+20 -29
View File
@@ -15,7 +15,7 @@ Meldwork 是一个本地优先的多 Agent 协作工作空间,用来连接你
你无需安排每一轮发言,但仍负责目标、权限和关键决策。遇到信息缺失、权限请求或需要取舍的问题时,任务可能等待你处理。工作区写入需要明确授权;协作过程、运行状态和产物保存在本地,方便回看和继续工作。
<p align="center">
<a href="https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.6/Meldwork-0.1.6-arm64.dmg"><strong>下载 Meldwork V1.0.6 Apple 芯片 macOS 版</strong></a>
<a href="https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.7/Meldwork-1.0.7-arm64.dmg"><strong>下载 Meldwork V1.0.7 Apple 芯片 macOS 版</strong></a>
· <a href="architecture.md">架构</a>
· <a href="LICENSE">许可证</a>
</p>
@@ -60,20 +60,21 @@ Meldwork 在本地保留任务上下文、Agent 回复、运行状态和产物
<table>
<tr>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/codex.svg" alt="Codex logo" width="32" height="32"><br><strong>Codex</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/hermes.png" alt="Hermes logo" width="32" height="32"><br><strong>Hermes</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/openclaw-transparent.png" alt="OpenClaw logo" width="32" height="32"><br><strong>OpenClaw</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/workbuddy.png" alt="WorkBuddy logo" width="32" height="32"><br><strong>WorkBuddy</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/pi.svg" alt="Pi Agent logo" width="32" height="32"><br><strong>Pi Agent</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/kimi.png" alt="Kimi Code logo" width="32" height="32"><br><strong>Kimi Code</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/codex.svg" alt="Codex logo" width="32" height="32"><br><strong>Codex</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/hermes.png" alt="Hermes logo" width="32" height="32"><br><strong>Hermes</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/openclaw-transparent.png" alt="OpenClaw logo" width="32" height="32"><br><strong>OpenClaw</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/workbuddy.png" alt="WorkBuddy logo" width="32" height="32"><br><strong>WorkBuddy</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/zcode.png" alt="Zcode logo" width="32" height="32"><br><strong>Zcode</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/pi.svg" alt="Pi Agent logo" width="32" height="32"><br><strong>Pi Agent</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/kimi.png" alt="Kimi Code logo" width="32" height="32"><br><strong>Kimi Code</strong></td>
</tr>
<tr>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/mimo.svg" alt="MiMo Code logo" width="32" height="32"><br><strong>MiMo Code</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/claude.png" alt="Claude Code logo" width="32" height="32"><br><strong>Claude Code</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/gemini.svg" alt="Gemini CLI logo" width="32" height="32"><br><strong>Gemini CLI</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/opencode.svg" alt="OpenCode logo" width="32" height="32"><br><strong>OpenCode</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/qwen.svg" alt="Qwen Code logo" width="32" height="32"><br><strong>Qwen Code</strong></td>
<td align="center" valign="top" width="16.66%"><img src="frontend/public/agent-logos/opencodereview.svg" alt="OpenCodeReview logo" width="32" height="32"><br><strong>OpenCodeReview</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/mimo.svg" alt="MiMo Code logo" width="32" height="32"><br><strong>MiMo Code</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/claude.png" alt="Claude Code logo" width="32" height="32"><br><strong>Claude Code</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/gemini.svg" alt="Gemini CLI logo" width="32" height="32"><br><strong>Gemini CLI</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/opencode.svg" alt="OpenCode logo" width="32" height="32"><br><strong>OpenCode</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/qwen.svg" alt="Qwen Code logo" width="32" height="32"><br><strong>Qwen Code</strong></td>
<td align="center" valign="top"><img src="frontend/public/agent-logos/opencodereview.svg" alt="OpenCodeReview logo" width="32" height="32"><br><strong>OpenCodeReview</strong></td>
</tr>
</table>
@@ -85,9 +86,9 @@ Meldwork 作为本地 Electron 应用运行。对话、群组配置、运行记
选定的 Agent 仍可能把 Prompt、附件或 Skill 发送到其自身 CLI 凭据对应的模型服务商。知识访问必须明确选择并受边界约束:当前实现支持本地 Obsidian 检索,以及由本地 CLI 管理的飞书或钉钉访问模式。Local-first 描述的是 Meldwork 的数据和协作位置,不代表 Agent 使用的模型服务商一定离线。
## 下载 V1.0.6
## 下载 V1.0.7
Apple 芯片 macOS 用户请前往 [Meldwork V1.0.6 预发布页](https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.6),下载 [`Meldwork-0.1.6-arm64.dmg`](https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.6/Meldwork-0.1.6-arm64.dmg)。发布页同时提供 ZIP 压缩包和 SHA-256 校验文件。启动应用前,请至少安装一个受支持的本地 Agent CLI。
Apple 芯片 macOS 用户请前往 [Meldwork V1.0.7 预发布页](https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.7),下载 [`Meldwork-1.0.7-arm64.dmg`](https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.7/Meldwork-1.0.7-arm64.dmg)。发布页同时提供 ZIP 压缩包和 SHA-256 校验文件。启动应用前,请至少安装一个受支持的本地 Agent CLI。
该预览版安装包使用 ad-hoc 临时签名,未使用 Apple Developer ID 签名,也未进行公证。macOS 首次启动时可能需要在“系统设置 → 隐私与安全性”中选择“仍要打开 / Open Anyway”。
@@ -110,21 +111,11 @@ npm --prefix frontend run build:desktop
npm --prefix desktop test
```
## V1.0.6
## V1.0.7
V1.0.6 改进了长驻 Agent 的恢复能力,让群组讨论在个别成员失败时继续推进,并支持不同会话在同一目录下独立运行。同时完善群组 Agent 的附件与知识源传递,恢复 WorkBuddy 内置 CLI 启动,并加强 ACP 和 WorkBuddy 的权限检查。
V1.0.7 修复自动讨论中断后流式回复丢失,适配 Hermes 原生流式输出与 ACP 会话边界,并避免 MiMo 无界面运行卡在交互式计划提示。新增 Zcode,使用官方标志、排列在 Pi Agent 前并沿用原生默认配置;WorkBuddy 可以复用在 Meldwork 中选定的桌面已配置模型。
界面启动不再等待 Agent 检测完成,会标记等待你决策的会话、解释已安装 Agent 不可用的原因,并新增包含跟随系统、浅色和深色外观选项的通用设置。
本版本发布验证包括 357/357 前端测试、1,603/1,603 桌面端测试、6 个确定性评估场景共 18 条结果,以及 Web 与桌面构建、打包、DMG 校验和、ZIP 完整性与代码签名校验。Apple 芯片安装包使用全新配置启动,未记录主进程故障。本版未重新执行真实 Agent 群组运行、取消和重启验收。安装包仍为 ad-hoc 临时签名且未公证;实际运行结果仍取决于本机 Agent CLI 版本、鉴权、Provider 和能力。
## V1.0.6
V1.0.6 改进了长驻 Agent 的恢复能力,让群组讨论在个别成员失败时继续推进,并支持不同会话在同一目录下独立运行。同时完善群组 Agent 的附件与知识源传递,恢复 WorkBuddy 内置 CLI 启动,并加强 ACP 和 WorkBuddy 的权限检查。
界面启动不再等待 Agent 检测完成,会标记等待你决策的会话、解释已安装 Agent 不可用的原因,并新增包含跟随系统、浅色和深色外观选项的通用设置。
本版本发布验证包括 357/357 前端测试、1,603/1,603 桌面端测试、6 个确定性评估场景共 18 条结果,以及 Web 与桌面构建、打包、DMG 校验和、ZIP 完整性与代码签名校验。Apple 芯片安装包使用全新配置启动,未记录主进程故障。本版未重新执行真实 Agent 群组运行、取消和重启验收。安装包仍为 ad-hoc 临时签名且未公证;实际运行结果仍取决于本机 Agent CLI 版本、鉴权、Provider 和能力。
Electron 验收覆盖模拟适配器下六 Agent 无限轮讨论、中断和重载后内容保留,以及真实 WorkBuddy 回复。CLI 与界面回归测试覆盖输出解析、取消、认证报错和脱敏。真实执行仍取决于 CLI 与服务商:Zcode 默认服务商需要有效 API Key,OpenCode 路由返回错误 `tool_calls` 结束原因的问题仍需上游修复。无限轮讨论不会关闭进程停滞检测。
## 文档
@@ -135,4 +126,4 @@ V1.0.6 改进了长驻 Agent 的恢复能力,让群组讨论在个别成员失
## 许可证
Meldwork 以 [Apache License 2.0](LICENSE) 开源。在许可证条款范围内,可以商用、私用、修改和再分发。许可证不授予 Meldwork 名称、标志和其他品牌素材的使用权,详见 [COMMERCIAL_USE.md](COMMERCIAL_USE.md)。
Meldwork 以 [Apache License 2.0](LICENSE) 开源。在许可证条款范围内,可以商用、私用、修改和再分发。商用无需另行授权或支付许可费。Apache-2.0 不授予商标权;详见 [COMMERCIAL_USE.md](COMMERCIAL_USE.md)。
+18 -20
View File
@@ -13,12 +13,15 @@ API Key 或任意 Shell 执行能力。
- Hermes
- OpenClaw
- WorkBuddy
- Zcode
- Pi Agent
- Kimi Code
- MiMo Code
- Claude Code
- Gemini CLI
- OpenCode
- Qwen Code
- OpenCodeReview
Agent 管理面板提供经过白名单约束的安装入口。安装命令和下载地址由主进程固定,不会根据页面
输入执行任意命令。内置 Agent 通过各自支持的原生权限模式或 Meldwork 托管工具策略执行;无法
@@ -28,7 +31,7 @@ Agent 管理面板提供经过白名单约束的安装入口。安装命令和
## 首次启动与本地 Agent 检测
V1.0.3 GitHub 预发布使用 ad-hoc 临时签名,不使用 Apple Developer ID,也不提交 Apple 公证。
V1.0.7 GitHub 预发布使用 ad-hoc 临时签名,不使用 Apple Developer ID,也不提交 Apple 公证。
如果 macOS 首次启动时拦截候选应用,请打开
“系统设置 → 隐私与安全性”,找到 Meldwork 的拦截提示,点击“仍要打开 / Open Anyway”,
再确认启动。
@@ -66,34 +69,29 @@ Agent 原生支持的图片会按其数量限制直接传递。其他文件,
## Provider 配置
用户可以在客户端内填写一个 OpenAI-compatible Provider:
```text
provider: Provider 显示名称
baseUrl: HTTPS 地址,或本机 loopback HTTP 地址
model: 模型名称
apiKey: API Key
```
API Key 仅通过 Electron `safeStorage` 加密保存到本机;操作系统安全存储不可用时拒绝落盘。
Provider 不设品牌、服务地址或模型默认值,也不会从远端自动获取配置。配置后可供 Hermes、
OpenClaw、WorkBuddy、Qwen 和 OpenCodeReview 使用;其他 Agent 沿用各自的本机鉴权和 Provider 配置。
Agent 使用各自本机的原生鉴权、Provider 和默认模型配置。Meldwork 不要求统一 Provider,
也不会将一个 Agent 的密钥注入其他 Agent。WorkBuddy 桌面账号的加密登录不能直接供独立
CLI 解锁;可在 Meldwork 中选择桌面配置里已有且已配置鉴权的模型。
Meldwork 仅保存模型标识,运行时由主进程读取原生配置,不向渲染层返回密钥。
Zcode 沿用默认配置;若其默认 Provider 缺少 API Key,需要先修复本机原生配置。
## 本地 CLI 支持矩阵
| Agent | 检测命令 | macOS 安装 | Windows 安装 | 用户 Provider |
| --- | --- | --- | --- | --- |
| Codex | `codex` | npm:`@openai/codex@latest` | npm:`@openai/codex@latest` | 不注入;沿用 Codex 本机配置 |
| Hermes | `hermes` | 官方 `install.sh` | 官方 `install.ps1` | 支持 |
| OpenClaw | `openclaw` | npm:`openclaw@latest` | npm:`openclaw@latest` | 支持,使用客户端隔离的托管配置 |
| WorkBuddy | `codebuddy` | npm:`@tencent-ai/[email protected]` | npm:`@tencent-ai/[email protected]` | 实验性支持 |
| Hermes | `hermes` | 官方 `install.sh` | 官方 `install.ps1` | 沿用本机配置 |
| OpenClaw | `openclaw` | npm:`openclaw@latest` | npm:`openclaw@latest` | 沿用本机配置 |
| WorkBuddy | `codebuddy` | npm:`@tencent-ai/[email protected]` | npm:`@tencent-ai/[email protected]` | 可选择桌面已配置模型 |
| Zcode | `zcode` | 官方 CLI 安装 | 官方 CLI 安装 | 沿用默认配置 |
| Pi Agent | `pi` | npm:`@mariozechner/pi-coding-agent` | npm:`@mariozechner/pi-coding-agent` | 沿用本机配置 |
| Kimi Code | `kimi` | 官方 `install.sh` | 官方 `install.ps1` | 不注入;沿用 Kimi 本机配置 |
| MiMo Code | `mimo` | npm:`@mimo-ai/cli@latest` | npm:`@mimo-ai/cli@latest` | 不注入;沿用 MiMo 本机配置,Meldwork 固定使用只读 `plan` Agent |
| MiMo Code | `mimo` | npm:`@mimo-ai/cli@latest` | npm:`@mimo-ai/cli@latest` | 不注入;沿用 MiMo 本机配置,按授权使用 `plan` / `build` 模式 |
| Claude Code | `claude` | npm:`@anthropic-ai/claude-code@latest` | npm:`@anthropic-ai/claude-code@latest` | 不注入;沿用 Claude 本机配置 |
| Gemini CLI | `gemini` | npm:`@google/gemini-cli@latest` | npm:`@google/gemini-cli@latest` | 不注入;沿用 Gemini 本机配置 |
| OpenCode | `opencode` | npm:`opencode-ai@latest` | npm:`opencode-ai@latest` | 不注入;沿用 OpenCode 本机配置 |
| Qwen Code | `qwen` | npm:`@qwen-code/qwen-code@latest` | npm:`@qwen-code/qwen-code@latest` | 支持 |
| OpenCodeReview | `ocr` | npm:`@alibaba-group/open-code-review@latest` | npm:`@alibaba-group/open-code-review@latest` | 支持 |
| Qwen Code | `qwen` | npm:`@qwen-code/qwen-code@latest` | npm:`@qwen-code/qwen-code@latest` | 沿用本机配置 |
| OpenCodeReview | `ocr` | npm:`@alibaba-group/open-code-review@latest` | npm:`@alibaba-group/open-code-review@latest` | 沿用本机配置 |
macOS 会在当前 `PATH` 之外搜索 Volta、pnpm、fnm、asdf、mise、bun、
`~/.local/bin`、`~/.kimi-code/bin`、`~/.mimocode/bin`、Homebrew 等常见目录。Windows 会额外搜索用户 npm、
@@ -137,7 +135,7 @@ npm run dist
npm run dist:public
```
`pack` 用于生成未打包应用并验证 Electron 产物;`dist` 生成 V1.0.3 GitHub 预发布候选使用的 ad-hoc 签名 DMG 和 ZIP。这些产物不具备 Developer ID 信任链且未公证,不能声称通过 Gatekeeper。
`pack` 用于生成未打包应用并验证 Electron 产物;`dist` 生成 V1.0.7 GitHub 预发布候选使用的 ad-hoc 签名 DMG 和 ZIP。这些产物不具备 Developer ID 信任链且未公证,不能声称通过 Gatekeeper。
`dist:public` 是未来正式签名公开发行的专用命令:它要求
Developer ID 证书和完整公证凭据,强制代码签名,在签名后校验永久 Bundle ID、Team ID 与
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "meldwork-desktop",
"version": "0.1.6",
"version": "1.0.7",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "meldwork-desktop",
"version": "0.1.6",
"version": "1.0.7",
"license": "Apache-2.0",
"dependencies": {
"@agentclientprotocol/sdk": "0.23.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "meldwork-desktop",
"version": "0.1.6",
"version": "1.0.7",
"private": true,
"description": "A local-first desktop workspace for multi-Agent collaboration",
"author": "Ryder-MHumble",
@@ -38,7 +38,7 @@ function terminalRun(ledger, runId) {
return ['completed', 'partial', 'failed', 'stopped', 'round-limit'].includes(record?.status)
? record
: null
}, `terminal Run ${runId}`, 10000)
}, `terminal Run ${runId}`, 30000)
}
function proposalReceipt(agentKind) {
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "meldwork-frontend",
"version": "0.1.6",
"version": "1.0.7",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "meldwork-frontend",
"version": "0.1.6",
"version": "1.0.7",
"license": "Apache-2.0",
"dependencies": {
"@vicons/ionicons5": "^0.12.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "meldwork-frontend",
"version": "0.1.6",
"version": "1.0.7",
"private": true,
"description": "Meldwork local-first multi-Agent collaboration workspace",
"author": "Ryder-MHumble",
+23
View File
@@ -0,0 +1,23 @@
# Commercial use / 商业使用
Meldwork's original source code, documentation, README files, and official website
are licensed under [Apache License 2.0](LICENSE). Commercial use, private use,
modification, redistribution, and inclusion in paid products or services are
permitted under its terms. No separate commercial authorization or license fee
is required.
When redistributing, preserve the license, applicable copyright and attribution
notices, and NOTICE information, and identify modified files as required by the
license. Apache-2.0 does not grant trademark rights (Section 6).
Third-party dependencies, fonts, Agent names, and logos retain their own licenses
and terms; their inclusion does not imply endorsement. In particular, the
website's bundled Fusion Pixel font retains its OFL license and notices.
Meldwork 原创源代码、文档、README 和官网均采用 Apache-2.0。依照许可证条款,
允许商业使用、私人使用、修改、再分发,以及用于收费产品或服务;无需另行取得商业
授权或支付许可费。再分发时应保留许可证、适用的版权与归属声明及 NOTICE 信息,并
按许可证要求标明修改。Apache-2.0 第 6 条不授予商标权。第三方依赖、字体、Agent
名称和标志仍遵循各自条款;官网附带的 Fusion Pixel 字体保留 OFL 许可证与声明。
This summary does not replace LICENSE. 本说明不替代 LICENSE 正文。
+2 -2
View File
@@ -33,8 +33,8 @@ Light/dark mapping: marketing defaults to dark and supports a light-theme toggle
Families:
- UI: `"Inter", "Segoe UI", system-ui, sans-serif` (weights 400/500/600)
- Display: `"BubbledotICG-FinePos", "Geist Pixel Circle", monospace` — retro dot-matrix, Latin only
- Chinese display fallback: local `Meldwork Pixel CJK` (Fusion Pixel 12px proportional, OFL-1.1). Use it for headings and short state labels; keep body text in the system Chinese sans-serif stack. Chinese headings allow character wrapping; preserve Latin words as units.
- Display: local `"Meldwork Pixel CJK", monospace` (Fusion Pixel 12px proportional, OFL-1.1), covering Latin and Chinese glyphs with the bundled license notices.
- Use the local display font for headings and short state labels; keep body text in the system Chinese sans-serif stack. Chinese headings allow character wrapping; preserve Latin words as units.
- Mono accents: same display stack for stat glyphs
| Level | Size | Weight | Tracking | Line-height |
+201
View File
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+16
View File
@@ -0,0 +1,16 @@
Meldwork
Copyright 2026 Ryder-MHumble and Meldwork contributors.
Meldwork is licensed under the Apache License 2.0. See LICENSE.
Third-party Agent names, product names, and logos remain the property of their
respective owners. They are used only to identify compatible integrations and
do not imply sponsorship or endorsement.
The OpenCodeReview logo is sourced from Alibaba's OpenCodeReview project:
https://github.com/alibaba/open-code-review/blob/main/imgs/logo-core.svg
The upstream project is licensed under Apache License 2.0.
The Zcode logo is sourced unchanged from the official Zcode website:
https://zcode.z.ai/favicon-192x192.png?v=20260707-transparent
The logo identifies the integration; its trademark rights remain with its owner.
+6 -4
View File
@@ -24,22 +24,22 @@ npx serve . # 或 python3 -m http.server
| `meldwork-wordmark-v3-dark.svg` | frontend/public/logos | 产品弹窗品牌字标 |
| `meldwork-favicon*.png` | frontend/public/logos | 站点图标 |
| `screenshots/meldwork-group-collaboration.png` | assets/ | Open Graph 分享图及协作画廊 |
| `agents/*` (12 个 CLI logo) | frontend/public/agent-logos | 信任条头像环(取 Codex / Claude / Gemini / Qwen / Kimi 5 枚) |
| `agents/*` (13 个 CLI logo) | frontend/public/agent-logos | 信任条头像环(取 Codex / Claude / Gemini / Qwen / Kimi 5 枚) |
| `screenshots/*` (4 张) | assets/ | Product 弹窗实拍画廊 |
| `bg-keyframe.png` | AI 生成(Trace mark 视觉语言:珊瑚色工作线 + 点阵节点) | 背景层 + video poster |
## 设计决策
- 配色取自产品暗色主题 token(`#121516` 底、`#93a0a5` 弱化文字)与 logo 珊瑚色 `#EF5A45`;导航激活的三点指示器刻意使用珊瑚色,呼应 Trace mark 的「人类采用点」。
- 显示字体 BubbledotICG-FinePos(点阵复古风,OnlineWebFonts CDN)仅覆盖拉丁字形;中文标题自动降级为思源黑体 900,字距单独调整。
- 统计条展示:12 个已支持 CLI、3 种协作模式、本地优先工作空间、1 个共享任务;Agent 模型调用仍可能访问各自配置的服务商。
- 中英文标题采用本地 Fusion Pixel 字体,附带 OFL 许可证。
- 统计条展示:13 个已支持 CLI、3 种协作模式、本地优先工作空间、1 个共享任务;Agent 模型调用仍可能访问各自配置的服务商。
- 动效遵循 `prefers-reduced-motion` 降级;弹窗/移动菜单支持 Escape 与遮罩关闭并锁定背景滚动。
## 语言
右上角可切换中文 / EN,默认跟随浏览器语言,选择保存在 `meldwork-landing-locale`。正文与富文本翻译使用 `index.html` 的 `data-zh` 属性,`i18n.js` 统一更新语言、辅助标签、页面标题、分享摘要和中文 FAQ 结构化数据。即使本地存储不可用,也可在当前页面切换。官网不依赖 Vue 或额外构建步骤。
英文标题保留 BubbledotICG-FinePos,中文标题与状态标签搭配本地 Fusion Pixel 12px 等比例像素字体;正文使用 Inter 与系统中文无衬线字体。字体版本为 2026.10.16,来源为 [Fusion Pixel](https://github.com/TakWolf/fusion-pixel-font/releases/tag/2026.10.16),字体及上游 OFL 声明保留在 `assets/fonts/fusion-pixel/`。
中英文标题与状态标签使用本地 Fusion Pixel 12px 等比例像素字体;正文使用 Inter 与系统中文无衬线字体。字体版本为 2026.10.16,来源为 [Fusion Pixel](https://github.com/TakWolf/fusion-pixel-font/releases/tag/2026.10.16),字体及上游 OFL 声明保留在 `assets/fonts/fusion-pixel/`。
## 案例卡片与颜色
@@ -74,3 +74,5 @@ assets/meldwork-bg.mp4
```
`<video>` 层会自动覆盖静态层,无需改代码;视频加载失败时仍回退到静态关键帧。
官网原创代码及文档采用 Apache-2.0,允许商用;第三方字体和 Agent 标志保留各自条款。见 LICENSE、NOTICE 和 COMMERCIAL_USE.md。
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

+28 -27
View File
@@ -28,12 +28,13 @@
"name": "Meldwork",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "macOS (Apple silicon)",
"softwareVersion": "1.0.6",
"softwareVersion": "1.0.7",
"license": "https://www.apache.org/licenses/LICENSE-2.0",
"description": "Meldwork is a local-first multi-Agent collaboration workspace for macOS. Selected Agents share context, discuss approaches, carry out authorized work, and check results with less manual coordination. Users set goals and permissions and step in when information or key decisions are needed.",
"featureList": "Autonomous Agent collaboration, shared task context, peer contributions and reviews, authorized task execution, Concurrent Responses, Auto Discussion V4, opt-in workspace writes, user decisions when needed, local collaboration history, multimodal attachments, selected knowledge sources",
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
"author": { "@type": "Organization", "name": "Meldwork", "url": "https://github.com/Ryder-Sun/Meldwork" },
"downloadUrl": "https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.6",
"downloadUrl": "https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.7",
"softwareRequirements": "macOS with Apple silicon. At least one supported local Agent CLI installed (Codex, Claude Code, Gemini CLI, Hermes, OpenCode, or another listed Agent)."
},
{
@@ -52,7 +53,7 @@
{
"@type": "Question",
"name": "Which General Agents does Meldwork support?",
"acceptedAnswer": { "@type": "Answer", "text": "Twelve agents today — Codex, Claude Code, Gemini CLI, Qwen Code, Kimi Code, MiMo Code, OpenCode, OpenCodeReview, Hermes, Pi Agent, OpenClaw, and WorkBuddy. Approved Agent Connectors can be added through the Agent Connector SDK; custom executables use the desktop custom-Agent path." }
"acceptedAnswer": { "@type": "Answer", "text": "Thirteen agents today — Codex, Claude Code, Gemini CLI, Qwen Code, Kimi Code, MiMo Code, OpenCode, OpenCodeReview, Hermes, Zcode, Pi Agent, OpenClaw, and WorkBuddy. Approved Agent Connectors can be added through the Agent Connector SDK; custom executables use the desktop custom-Agent path." }
},
{
"@type": "Question",
@@ -72,12 +73,12 @@
{
"@type": "Question",
"name": "Is Meldwork free? What's the license?",
"acceptedAnswer": { "@type": "Answer", "text": "Open source under the Apache License 2.0. Commercial use, private use, modification, and redistribution are permitted under the license terms. The license does not grant rights to the Meldwork name or logo." }
"acceptedAnswer": { "@type": "Answer", "text": "Open source under the Apache License 2.0. Commercial use, private use, modification, and redistribution are permitted under the license terms. No separate commercial authorization or license fee is required. Apache-2.0 does not grant trademark rights." }
},
{
"@type": "Question",
"name": "Does Meldwork work on Intel macOS, Windows, or Linux?",
"acceptedAnswer": { "@type": "Answer", "text": "The current V1.0.6 preview targets Apple silicon macOS (ad-hoc signed, not notarized — open Open Anyway in System Settings → Privacy & Security on first launch). Cross-platform builds are on the roadmap; the app is Electron so the same source compiles everywhere once those targets land." }
"acceptedAnswer": { "@type": "Answer", "text": "The current V1.0.7 preview targets Apple silicon macOS (ad-hoc signed, not notarized — open Open Anyway in System Settings → Privacy & Security on first launch). Cross-platform builds are on the roadmap; the app is Electron so the same source compiles everywhere once those targets land." }
}
]
},
@@ -102,9 +103,8 @@
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link href="https://db.onlinewebfonts.com/c/8cb707a9b8a73f8a7403336b861c3074?family=BubbledotICG-FinePos" rel="stylesheet" />
<link rel="stylesheet" href="styles.css?v=20261021.6" />
<link rel="stylesheet" href="styles.css?v=20261027.1" />
</head>
<body>
@@ -126,8 +126,8 @@
<a href="#compare" class="nav-link" data-spy="compare"><span data-zh="产品特点">How it differs</span></a>
<a href="#faq" class="nav-link" data-spy="faq"><span data-zh="常见问题">FAQ</span></a>
</nav>
<a class="cta-dark magnet" href="https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.6" target="_blank" rel="noopener" data-zh="&lt;span class=&quot;cta-status&quot;&gt;&lt;/span&gt; 下载 V1.0.6">
<span class="cta-status"></span> Download V1.0.6
<a class="cta-dark magnet" href="https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.7" target="_blank" rel="noopener" data-zh="&lt;span class=&quot;cta-status&quot;&gt;&lt;/span&gt; 下载 V1.0.7">
<span class="cta-status"></span> Download V1.0.7
</a>
<button type="button" class="language-toggle" id="languageToggle" aria-label="Switch to Chinese">中 / EN</button>
<button type="button" class="theme-toggle" id="themeToggle" aria-label="Toggle theme">
@@ -147,7 +147,7 @@
<a href="#scenario" class="m-link"><span data-zh="真实协作">In a run</span></a>
<a href="#compare" class="m-link"><span data-zh="产品特点">How it differs</span></a>
<a href="#faq" class="m-link"><span data-zh="常见问题">FAQ</span></a>
<a href="https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.6" target="_blank" rel="noopener" class="m-link m-signin"><span data-zh="下载 V1.0.6">Download V1.0.6</span></a>
<a href="https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.7" target="_blank" rel="noopener" class="m-link m-signin"><span data-zh="下载 V1.0.7">Download V1.0.7</span></a>
</nav>
<!-- ================= HERO ================= -->
@@ -176,9 +176,9 @@
<p class="subhead" data-zh="Meldwork 是一个&lt;strong&gt;本地优先的多 Agent 协作工作空间&lt;/strong&gt;。让你已有的 Agent 共享上下文、讨论方案、在授权范围内执行并检查成果,减少你在它们之间转述和协调的工作。设定目标和权限,在需要补充信息或关键决策时介入。">Meldwork is a <strong>local-first multi-Agent collaboration workspace</strong>. Your existing Agents share context, discuss approaches, carry out authorized work, and check results — with less relaying and coordinating from you. Set the goal and permissions, then step in when they need information or a key decision.</p>
<div class="cta-row">
<a class="cta-primary magnet" href="https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.6/Meldwork-0.1.6-arm64.dmg">
<a class="cta-primary magnet" href="https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.7/Meldwork-1.0.7-arm64.dmg">
<span class="cta-label" data-zh="下载 macOS 版">Download for macOS</span>
<span class="cta-meta" data-zh="V1.0.6 · Apple 芯片">V1.0.6 · Apple silicon</span>
<span class="cta-meta" data-zh="V1.0.7 · Apple 芯片">V1.0.7 · Apple silicon</span>
</a>
<a class="cta-ghost" href="https://github.com/Ryder-Sun/Meldwork" target="_blank" rel="noopener" data-zh="在 GitHub 查看 &lt;span aria-hidden=&quot;true&quot;&gt;↗&lt;/span&gt;">View on GitHub <span aria-hidden="true">↗</span></a>
</div>
@@ -199,7 +199,7 @@
<div class="hero-stats" id="stats">
<div class="stat">
<span class="stat-glyph">&gt;</span>
<span class="stat-value"><span class="count" data-target="12" data-decimals="0">0</span><span class="stat-suffix">+</span></span>
<span class="stat-value"><span class="count" data-target="13" data-decimals="0">0</span><span class="stat-suffix">+</span></span>
<span class="stat-label" data-zh="已支持的 Agent CLI">Supported Agent CLIs</span>
</div>
<div class="stat">
@@ -233,6 +233,7 @@
<span class="logo-chip"><img src="assets/agents/hermes.svg" alt="" />Hermes</span>
<span class="logo-chip"><img src="assets/agents/openclaw-transparent.png" alt="" />OpenClaw</span>
<span class="logo-chip"><img src="assets/agents/workbuddy.png" alt="" />WorkBuddy</span>
<span class="logo-chip"><img src="assets/agents/zcode.png" alt="" />Zcode</span>
<span class="logo-chip"><img src="assets/agents/pi.svg" alt="" />Pi Agent</span>
<span class="logo-chip"><img src="assets/agents/kimi.png" alt="" />Kimi Code</span>
<span class="logo-chip"><img src="assets/agents/mimo.svg" alt="" />MiMo Code</span>
@@ -255,8 +256,8 @@
</article>
<article class="geo-tile geo-tile--wide spotlight reveal" data-reveal style="--d:0.08s">
<span class="geo-kicker" data-zh="支持的 Agent">Supported agents</span>
<span class="geo-num">12<em>+</em></span>
<p class="geo-fact-value" data-zh="Codex、Claude Code、Gemini CLI、Qwen Code、Kimi Code、MiMo Code、OpenCode、OpenCodeReview、Hermes、Pi Agent、OpenClaw、WorkBuddy,直接检测本机安装。">Codex, Claude Code, Gemini CLI, Qwen Code, Kimi Code, MiMo Code, OpenCode, OpenCodeReview, Hermes, Pi Agent, OpenClaw, WorkBuddy — detected natively on your machine.</p>
<span class="geo-num">13<em>+</em></span>
<p class="geo-fact-value" data-zh="Codex、Claude Code、Gemini CLI、Qwen Code、Kimi Code、MiMo Code、OpenCode、OpenCodeReview、Hermes、Zcode、Pi Agent、OpenClaw、WorkBuddy,直接检测本机安装。">Codex, Claude Code, Gemini CLI, Qwen Code, Kimi Code, MiMo Code, OpenCode, OpenCodeReview, Hermes, Zcode, Pi Agent, OpenClaw, WorkBuddy — detected natively on your machine.</p>
</article>
<article class="geo-tile spotlight reveal" data-reveal style="--d:0.16s">
<span class="geo-kicker" data-zh="协作模式">Modes</span>
@@ -573,7 +574,7 @@
<div class="cmp-row" role="row">
<div role="cell" class="cmp-cat" data-zh="自建编排流程">Custom orchestration</div>
<div role="cell" data-zh="自行构建与维护任务路由和协作逻辑。">Build and maintain your own task routing and collaboration logic.</div>
<div role="cell" data-zh="开箱即用的桌面协作流程,支持 12 种以上不同的 CLI,无需组装编排框架。">A ready-to-use desktop workflow across 12+ heterogeneous CLIs — no orchestration framework to assemble.</div>
<div role="cell" data-zh="开箱即用的桌面协作流程,支持 13 种以上不同的 CLI,无需组装编排框架。">A ready-to-use desktop workflow across 13+ heterogeneous CLIs — no orchestration framework to assemble.</div>
</div>
</div>
</section>
@@ -637,7 +638,7 @@
<span class="acc-icon" aria-hidden="true"></span>
</button>
<div class="acc-panel">
<p data-zh="目前包括 Codex、Claude Code、Gemini CLI、Qwen Code、Kimi Code、MiMo Code、OpenCode、OpenCodeReview、Hermes、Pi Agent、OpenClaw 和 WorkBuddy。可通过 Agent Connector SDK 添加已批准的连接器,也可使用桌面端的自定义 Agent 入口。">Twelve today — Codex, Claude Code, Gemini CLI, Qwen Code, Kimi Code, MiMo Code, OpenCode, OpenCodeReview, Hermes, Pi Agent, OpenClaw, and WorkBuddy. Approved Agent Connectors can be added through the Agent Connector SDK; custom executables use the desktop custom-Agent path.</p>
<p data-zh="目前包括 Codex、Claude Code、Gemini CLI、Qwen Code、Kimi Code、MiMo Code、OpenCode、OpenCodeReview、Hermes、Zcode、Pi Agent、OpenClaw 和 WorkBuddy。可通过 Agent Connector SDK 添加已批准的连接器,也可使用桌面端的自定义 Agent 入口。">Thirteen today — Codex, Claude Code, Gemini CLI, Qwen Code, Kimi Code, MiMo Code, OpenCode, OpenCodeReview, Hermes, Zcode, Pi Agent, OpenClaw, and WorkBuddy. Approved Agent Connectors can be added through the Agent Connector SDK; custom executables use the desktop custom-Agent path.</p>
</div>
</li>
<li class="acc-item reveal" data-reveal style="--d:0.12s">
@@ -673,7 +674,7 @@
<span class="acc-icon" aria-hidden="true"></span>
</button>
<div class="acc-panel">
<p data-zh="按 Apache License 2.0 开源。商业使用、私人使用、修改和再分发均依照许可证条款进行。许可证不授予 Meldwork 名称或标志的使用权,详见 &lt;a href=&quot;https://github.com/Ryder-Sun/Meldwork/blob/main/COMMERCIAL_USE.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;商业使用说明 ↗&lt;/a&gt;。">Open source under the Apache License 2.0. Commercial use, private use, modification, and redistribution are permitted under the license terms. The license does not grant rights to the Meldwork name or logo — see <a href="https://github.com/Ryder-Sun/Meldwork/blob/main/COMMERCIAL_USE.md" target="_blank" rel="noopener">COMMERCIAL_USE.md ↗</a>.</p>
<p data-zh="按 Apache License 2.0 开源。商业使用、私人使用、修改和再分发均依照许可证条款进行。商用无需另行授权或支付许可费。Apache-2.0 不授予商标权,详见 &lt;a href=&quot;https://github.com/Ryder-Sun/Meldwork/blob/main/COMMERCIAL_USE.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;商业使用说明 ↗&lt;/a&gt;。">Open source under the Apache License 2.0. Commercial use, private use, modification, and redistribution are permitted under the license terms. No separate commercial authorization or license fee is required. Apache-2.0 does not grant trademark rights — see <a href="https://github.com/Ryder-Sun/Meldwork/blob/main/COMMERCIAL_USE.md" target="_blank" rel="noopener">COMMERCIAL_USE.md ↗</a>.</p>
</div>
</li>
<li class="acc-item reveal" data-reveal style="--d:0.3s">
@@ -682,7 +683,7 @@
<span class="acc-icon" aria-hidden="true"></span>
</button>
<div class="acc-panel">
<p data-zh="当前 V1.0.6 预览版面向 Apple 芯片 macOS,采用临时签名且未公证,首次启动可能需在&lt;em&gt;系统设置 → 隐私与安全性&lt;/em&gt;选择&lt;em&gt;仍要打开&lt;/em&gt;。跨平台构建已列入计划,应用基于 Electron,后续将逐步提供相应目标。">The current V1.0.6 preview targets Apple silicon macOS (ad-hoc signed, not notarized — open <em>Open Anyway</em> in <em>System Settings → Privacy &amp; Security</em> on first launch). Cross-platform builds are on the roadmap; the app is Electron so the same source compiles everywhere once those targets land.</p>
<p data-zh="当前 V1.0.7 预览版面向 Apple 芯片 macOS,采用临时签名且未公证,首次启动可能需在&lt;em&gt;系统设置 → 隐私与安全性&lt;/em&gt;选择&lt;em&gt;仍要打开&lt;/em&gt;。跨平台构建已列入计划,应用基于 Electron,后续将逐步提供相应目标。">The current V1.0.7 preview targets Apple silicon macOS (ad-hoc signed, not notarized — open <em>Open Anyway</em> in <em>System Settings → Privacy &amp; Security</em> on first launch). Cross-platform builds are on the roadmap; the app is Electron so the same source compiles everywhere once those targets land.</p>
</div>
</li>
</ul>
@@ -699,24 +700,24 @@
<!-- ================= CTA / FOOTER ================= -->
<footer class="cta-final" id="download">
<h2 class="final-title" data-split data-zh="提出目标,让 Agent 们协作完成。">Set the goal. Let Agents work together.</h2>
<p class="final-sub" data-zh="V1.0.6 改进 Agent 恢复能力,让群组在个别成员失败时继续讨论,完善附件和知识源传递,并标记等待你决策的会话。&lt;a href=&quot;https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.6&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;查看发布说明 ↗&lt;/a&gt;">V1.0.6 improves Agent recovery, keeps group discussions going through individual failures, delivers group attachments and knowledge sources, and highlights conversations awaiting your decision. <a href="https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.6" target="_blank" rel="noopener">Read the release notes ↗</a></p>
<p class="final-sub" data-zh="V1.0.7 保留中断后的讨论输出、改进原生流式处理、新增 Zcode,并复用 WorkBuddy 已配置模型。&lt;a href=&quot;https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;查看发布说明 ↗&lt;/a&gt;">V1.0.7 preserves interrupted discussion output, improves native streaming, adds Zcode, and reuses configured WorkBuddy models. <a href="https://github.com/Ryder-Sun/Meldwork/releases/tag/Meldwork-V1.0.7" target="_blank" rel="noopener">Read the release notes ↗</a></p>
<div class="cta-row">
<a class="cta-primary magnet" href="https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.6/Meldwork-0.1.6-arm64.dmg">
<span class="cta-label" data-zh="下载 V1.0.6">Download V1.0.6</span>
<span class="cta-meta" data-zh="Apple 芯片 · 123 MB">Apple silicon · 123 MB</span>
<a class="cta-primary magnet" href="https://github.com/Ryder-Sun/Meldwork/releases/download/Meldwork-V1.0.7/Meldwork-1.0.7-arm64.dmg">
<span class="cta-label" data-zh="下载 V1.0.7">Download V1.0.7</span>
<span class="cta-meta" data-zh="DMG · Apple 芯片">DMG · Apple silicon</span>
</a>
<a class="cta-ghost" href="https://github.com/Ryder-Sun/Meldwork#readme" target="_blank" rel="noopener" data-zh="阅读中文说明 &lt;span aria-hidden=&quot;true&quot;&gt;↗&lt;/span&gt;">Read the README <span aria-hidden="true">↗</span></a>
</div>
<div class="foot-meta">
<img class="foot-wordmark" src="assets/meldwork-wordmark-v3-dark.svg" alt="Meldwork" data-theme-src="assets/meldwork-wordmark-v3.svg" />
<span data-zh="开源 · Apache License 2.0">Open source · Apache License 2.0</span>
<span data-zh="允许商用 · &lt;a href=&quot;LICENSE&quot;&gt;Apache-2.0&lt;/a&gt;">Commercial use permitted · <a href="LICENSE">Apache-2.0</a></span>
<span data-zh="本地优先 · Electron · macOS 预览版">Local-first · Electron · macOS preview</span>
<a class="foot-link" href="https://github.com/Ryder-Sun/Meldwork" target="_blank" rel="noopener">github.com/Ryder-Sun/Meldwork</a>
</div>
</footer>
<script src="i18n.js?v=20261021.3" defer></script>
<script src="glyph-embers.js?v=20261021.5" defer></script>
<script src="main.js?v=20261021.3" defer></script>
<script src="i18n.js?v=20261027.1" defer></script>
<script src="glyph-embers.js?v=20261027.1" defer></script>
<script src="main.js?v=20261027.1" defer></script>
</body>
</html>
+2 -3
View File
@@ -7,7 +7,7 @@
ScrollProgress, ScrollSpy, CardSwap.
============================================================ */
/* Chinese pixel glyphs complement the existing Latin dot-matrix display face.
/* Locally bundled Latin and Chinese pixel display glyphs.
Fusion Pixel 12px proportional, 2026.10.16, OFL-1.1; licenses in assets/fonts/. */
@font-face {
font-family: "Meldwork Pixel CJK";
@@ -15,7 +15,6 @@
font-weight: 400;
font-style: normal;
font-display: swap;
unicode-range: U+3000-303F, U+3400-9FFF, U+FF00-FFEF;
}
/* ================= DESIGN TOKENS ================= */
@@ -46,7 +45,7 @@
--glass-bg: rgba(12, 14, 17, 0.72);
--glass-border: rgba(255, 255, 255, 0.06);
--font-sans: "Inter", "PingFang SC", "Microsoft YaHei", "Segoe UI", system-ui, sans-serif;
--font-display: "BubbledotICG-FinePos", "Meldwork Pixel CJK", "Geist Pixel Circle", monospace;
--font-display: "Meldwork Pixel CJK", monospace;
--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
--ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
--r-pill: 999px;
+34
View File
@@ -8,6 +8,40 @@ const root = path.resolve(__dirname, '..')
const html = readFileSync(path.join(root, 'index.html'), 'utf8')
const scripts = ['i18n.js', 'glyph-embers.js', 'main.js'].map(file => readFileSync(path.join(root, file), 'utf8'))
test('release metadata, downloads, official logo and commercial licensing stay consistent', () => {
const version = require('../../desktop/package.json').version
assert.equal(require('../../frontend/package.json').version, version)
assert.equal(require('../../desktop/package.json').license, 'Apache-2.0')
assert.equal(require('../../frontend/package.json').license, 'Apache-2.0')
assert.match(readFileSync(path.join(root, '..', 'LICENSE'), 'utf8'), /Apache License\s+Version 2\.0/)
for (const name of ['LICENSE', 'NOTICE', 'COMMERCIAL_USE.md']) {
assert.equal(readFileSync(path.join(root, name), 'utf8'), readFileSync(path.join(root, '..', name), 'utf8'))
}
for (const name of ['README.md', 'README.zh-CN.md', 'COMMERCIAL_USE.md']) {
const source = readFileSync(path.join(root, '..', name), 'utf8')
assert.match(source, /Apache/)
assert.doesNotMatch(source, /Non-Commercial|non-commercial purposes|Commercial use requires prior|禁止商用/)
}
assert.deepEqual(readFileSync(path.join(root, 'assets/agents/zcode.png')), readFileSync(path.join(root, '../frontend/public/agent-logos/zcode.png')))
for (const language of ['en', 'zh-CN']) {
const p = page({ language })
try {
const schema = JSON.parse(p.doc.querySelector('script[type="application/ld+json"]').textContent)['@graph'][0]
assert.equal(schema.softwareVersion, version)
assert.equal(schema.license, 'https://www.apache.org/licenses/LICENSE-2.0')
assert.match(p.doc.querySelector('.foot-meta').textContent, /Commercial use permitted|允许商用/)
assert.doesNotMatch(p.doc.body.textContent, /Non-Commercial|non-commercial purposes|Commercial use requires prior|禁止商用/)
for (const link of p.doc.querySelectorAll('a[href*="/releases/"]')) {
assert.ok(link.href.includes(`Meldwork-V${version}`), link.href)
if (link.href.includes('/download/')) assert.ok(link.href.endsWith(`Meldwork-${version}-arm64.dmg`), link.href)
}
const logos = [...p.doc.querySelectorAll('.logo-chip img')].map(el => el.getAttribute('src'))
assert.ok(logos.indexOf('assets/agents/zcode.png') >= 0)
assert.ok(logos.indexOf('assets/agents/zcode.png') < logos.indexOf('assets/agents/pi.svg'))
} finally { p.dom.window.close() }
}
})
function page({ language = 'en', saved, reduced = false, blockedStorage = false } = {}) {
const dom = new JSDOM(html, { url: 'https://meldwork.test/', runScripts: 'outside-only', pretendToBeVisual: true })
const { window } = dom