Skip to content

Commit acaf100

Browse files
everettjfclaude
andcommitted
Download: release page link, Homebrew command, GitHub links in a new tab
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 8b72a7f commit acaf100

3 files changed

Lines changed: 35 additions & 14 deletions

File tree

‎index.html‎

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
</nav>
3333
<div class="nav-right">
3434
<button class="lang" id="lang" type="button" aria-label="Switch language">中文</button>
35-
<a class="gh" href="https://github.com/chatcomputer/chatcomputer" aria-label="GitHub">
35+
<a class="gh" href="https://github.com/chatcomputer/chatcomputer" target="_blank" rel="noopener" aria-label="GitHub">
3636
<svg viewBox="0 0 16 16" width="18" height="18" aria-hidden="true"><path fill="currentColor" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>
3737
</a>
3838
</div>
@@ -45,8 +45,8 @@
4545
<h1 class="reveal"><span data-i18n="hero.h1a">A second Mac that</span><br><span class="grad" data-i18n="hero.h1b">does the work while you chat.</span></h1>
4646
<p class="lead reveal" data-i18n="hero.lead">Chat Computer runs a private macOS virtual machine on your Mac. Tell it what you need; an AI agent sees the screen, clicks and types inside the virtual Mac, and the host checks every file before it reaches you.</p>
4747
<div class="cta reveal">
48-
<a class="btn primary" id="dl-hero" href="https://github.com/chatcomputer/chatcomputer/releases"><span data-i18n="hero.download">Download for Mac</span> <small class="ver" data-version></small></a>
49-
<a class="btn ghost" href="https://github.com/chatcomputer/chatcomputer"><span data-i18n="hero.source">View source</span> →</a>
48+
<a class="btn primary" id="dl-hero" href="https://github.com/chatcomputer/chatcomputer/releases" target="_blank" rel="noopener"><span data-i18n="hero.download">Download for Mac</span> <small class="ver" data-version></small></a>
49+
<a class="btn ghost" href="https://github.com/chatcomputer/chatcomputer" target="_blank" rel="noopener"><span data-i18n="hero.source">View source</span> →</a>
5050
</div>
5151
<p class="fine reveal" data-i18n="hero.fine">Free · Apache 2.0 · Bring your own model key: Claude, DeepSeek, OpenAI, Gemini and more</p>
5252

@@ -176,19 +176,23 @@ <h2 class="reveal" data-i18n="m.h2">Works with the model you already pay for.</h
176176
<img src="assets/icon-512.png" alt="" width="96" height="96">
177177
<h2 data-i18n="dl.h2">Get Chat Computer</h2>
178178
<p class="sub" data-i18n="dl.sub">Signed and notarized by Apple. Setup downloads and installs macOS in the virtual machine (about 26 GB), creates its account and grants the agent its permissions, all without you clicking through.</p>
179-
<a class="btn primary big" id="dl-main" href="https://github.com/chatcomputer/chatcomputer/releases"><span data-i18n="hero.download">Download for Mac</span> <small class="ver" data-version></small></a>
179+
<a class="btn primary big" id="dl-main" href="https://github.com/chatcomputer/chatcomputer/releases" target="_blank" rel="noopener"><span data-i18n="hero.download">Download for Mac</span> <small class="ver" data-version></small></a>
180+
<div class="brew">
181+
<p data-i18n="dl.brew">Or install with Homebrew, which also puts the chatcomputer command on your PATH:</p>
182+
<div class="cmd"><code>brew install --cask chatcomputer/tap/chatcomputer</code><button type="button" data-copy="brew install --cask chatcomputer/tap/chatcomputer" aria-label="Copy"><span data-i18n="dl.copy">Copy</span></button></div>
183+
</div>
180184
<ul class="req">
181185
<li><b data-i18n="req.chip">Chip</b><span data-i18n="req.chipv">Apple silicon</span></li>
182186
<li><b data-i18n="req.os">System</b><span>macOS 27</span></li>
183187
<li><b data-i18n="req.ram">Memory</b><span>16 GB</span></li>
184188
<li><b data-i18n="req.disk">Disk</b><span data-i18n="req.diskv">about 70 GB free</span></li>
185189
</ul>
186190
<ol class="steps">
187-
<li><span class="n">1</span><div><b data-i18n="st.1t">Download and unzip</b><p data-i18n="st.1d">Open ChatComputer.zip and move Chat Computer.app to Applications.</p></div></li>
191+
<li><span class="n">1</span><div><b data-i18n="st.1t">Download and unzip</b><p data-i18n="st.1d">Open ChatComputer.zip and move ChatComputer.app to Applications.</p><p class="alt" data-i18n="st.1alt">With Homebrew, this step is already done.</p></div></li>
188192
<li><span class="n">2</span><div><b data-i18n="st.2t">Open it and click Continue</b><p data-i18n="st.2d">Setup runs on its own for about 10 minutes. The Dock icon bounces when it needs you.</p></div></li>
189193
<li><span class="n">3</span><div><b data-i18n="st.3t">Add your model</b><p data-i18n="st.3d">Pick a provider, paste an API key, and type your first task.</p></div></li>
190194
</ol>
191-
<a class="gh-link" href="https://github.com/chatcomputer/chatcomputer"><span data-i18n="dl.gh">Source code on GitHub</span> · github.com/chatcomputer/chatcomputer →</a>
195+
<a class="gh-link" href="https://github.com/chatcomputer/chatcomputer" target="_blank" rel="noopener"><span data-i18n="dl.gh">Source code on GitHub</span> · github.com/chatcomputer/chatcomputer →</a>
192196
</div>
193197
</section>
194198

@@ -207,10 +211,10 @@ <h2 data-i18n="dl.h2">Get Chat Computer</h2>
207211
<footer class="foot">
208212
<div><img src="assets/icon-512.png" alt="" width="20" height="20"> Chat Computer</div>
209213
<div class="links">
210-
<a href="https://github.com/chatcomputer/chatcomputer">GitHub</a>
211-
<a href="https://github.com/chatcomputer/chatcomputer/releases" data-i18n="f.releases">Releases</a>
212-
<a href="https://github.com/chatcomputer/chatcomputer/blob/main/PRIVACY.md" data-i18n="f.privacy">Privacy</a>
213-
<a href="https://github.com/chatcomputer/chatcomputer/blob/main/LICENSE">Apache 2.0</a>
214+
<a href="https://github.com/chatcomputer/chatcomputer" target="_blank" rel="noopener">GitHub</a>
215+
<a href="https://github.com/chatcomputer/chatcomputer/releases" target="_blank" rel="noopener" data-i18n="f.releases">Releases</a>
216+
<a href="https://github.com/chatcomputer/chatcomputer/blob/main/PRIVACY.md" target="_blank" rel="noopener" data-i18n="f.privacy">Privacy</a>
217+
<a href="https://github.com/chatcomputer/chatcomputer/blob/main/LICENSE" target="_blank" rel="noopener">Apache 2.0</a>
214218
</div>
215219
<div class="dim" data-i18n="f.note">Not affiliated with Apple. macOS is a trademark of Apple Inc.</div>
216220
</footer>

‎main.js‎

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,10 +144,11 @@
144144
"dl.h2": "获取 Chat Computer",
145145
"dl.sub": "经苹果签名和公证。首次设置会下载并安装虚拟机里的 macOS(约 26 GB)、创建账户、为 agent 授权,全程自动,不用你一步步点。",
146146
"req.chip": "芯片", "req.chipv": "Apple 芯片", "req.os": "系统", "req.ram": "内存", "req.disk": "磁盘", "req.diskv": "约 70 GB 可用空间",
147-
"st.1t": "下载并解压", "st.1d": "打开 ChatComputer.zip,把 Chat Computer.app 拖进「应用程序」。",
147+
"st.1t": "下载并解压", "st.1d": "打开 ChatComputer.zip,把 ChatComputer.app 拖进「应用程序」。",
148148
"st.2t": "打开,点 Continue", "st.2d": "首次设置自动进行,约 10 分钟。需要你时,Dock 图标会跳动提醒。",
149149
"st.3t": "填上模型", "st.3d": "选服务商、粘贴 API Key,然后写下第一个任务。",
150-
"dl.gh": "源码在 GitHub",
150+
"dl.gh": "源码在 GitHub", "dl.brew": "或用 Homebrew 安装,同时装好 chatcomputer 命令:", "dl.copy": "复制",
151+
"st.1alt": "用 Homebrew 安装的话,这一步已经完成。",
151152
"faq.eyebrow": "// 常见问题",
152153
"faq.1q": "我自己的 Mac 安全吗?", "faq.1a": "agent 只操作虚拟机。只有你附上的文件或共享的文件夹它才看得到,共享文件夹默认只读。虚拟机和 App 之间走私有的虚拟 socket,不经过网络。",
153154
"faq.2q": "模型能看到什么?", "faq.2a": "虚拟机的截图和你的任务文字会发给你选择的模型厂商。你的 API Key 和虚拟机密码不会。",
@@ -245,14 +246,22 @@
245246
}
246247
fetch("results.json").then((r) => r.ok ? r.json() : null).then((data) => { results = data; renderMatrix(); }).catch(() => {});
247248

249+
/* ---------- Copy the Homebrew command ---------- */
250+
document.querySelectorAll("[data-copy]").forEach((button) => button.addEventListener("click", () => {
251+
navigator.clipboard.writeText(button.dataset.copy).then(() => {
252+
button.classList.add("done");
253+
setTimeout(() => button.classList.remove("done"), 1500);
254+
}).catch(() => {});
255+
}));
256+
248257
/* ---------- Latest release ---------- */
249258
fetch("https://api.github.com/repos/chatcomputer/chatcomputer/releases?per_page=1")
250259
.then((r) => r.ok ? r.json() : [])
251260
.then(([release]) => {
252261
if (!release) return;
253-
const zip = (release.assets || []).find((a) => a.name.endsWith(".zip"));
262+
// The release page: notes, the zip and its SHA-256 in one place.
254263
document.querySelectorAll("[data-version]").forEach((el) => { el.textContent = release.tag_name; });
255-
if (zip) ["dl-hero", "dl-main"].forEach((id) => { document.getElementById(id).href = zip.browser_download_url; });
264+
if (release.html_url) ["dl-hero", "dl-main"].forEach((id) => { document.getElementById(id).href = release.html_url; });
256265
})
257266
.catch(() => {});
258267

‎style.css‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,14 @@ h2 { font-size: clamp(32px, 4.6vw, 54px); line-height: 1.08; margin-top: 14px; m
242242
.steps .n { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font: 600 13px "JetBrains Mono", monospace; color: #05060f; background: linear-gradient(135deg, var(--cyan), var(--pink)); }
243243
.steps b { display: block; margin-bottom: 4px; }
244244
.steps p { margin: 0; color: var(--dim); font-size: 14px; line-height: 1.5; }
245+
.brew { margin: 26px auto 0; max-width: 760px; }
246+
.brew p { margin: 0 0 10px; color: var(--dim); font-size: 14px; }
247+
.cmd { display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 18px; border-radius: 12px; border: 1px solid var(--line); background: rgba(6,8,20,.85); text-align: left; }
248+
.cmd code { flex: 1; min-width: 0; overflow-x: auto; white-space: nowrap; font: 14px "JetBrains Mono", monospace; color: #d6dbff; }
249+
.cmd button { flex: none; padding: 7px 14px; border-radius: 8px; border: 1px solid var(--line); background: var(--glass); color: var(--ink); font: 500 13px inherit; cursor: pointer; }
250+
.cmd button:hover { border-color: var(--cyan); }
251+
.cmd button.done { border-color: var(--cyan); color: var(--cyan); }
252+
.steps p.alt { margin-top: 6px; font-size: 13px; color: var(--cyan); opacity: .8; }
245253
.gh-link { display: inline-block; margin-top: 28px; color: var(--dim); font: 500 14px "JetBrains Mono", monospace; text-decoration: none; }
246254
.gh-link:hover { color: var(--cyan); }
247255

0 commit comments

Comments
 (0)