Skip to content

Commit d347aa7

Browse files
authored
Merge pull request #43 from spencerkit/develop
Merge develop into main
2 parents 5c9a391 + ee20f64 commit d347aa7

138 files changed

Lines changed: 18496 additions & 1606 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
"@spencer-kit/coder-studio": patch
2+
---
3+
4+
Fix supervisor dialog polish by removing the duplicated desktop intro panel and ensuring the scheduled-time picker popover renders above modal overlays.

README.md

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# Coder Studio
66

7-
**A browser-based AI coding workspace for developers who move between desktop, tablet, and phone.**
7+
**Coder Studio, made for vibe coding.**
88

99
Run Claude Code and Codex in one workspace. Keep your terminal, files, Git view, and AI sessions available from any device.
1010

@@ -21,14 +21,34 @@ Run Claude Code and Codex in one workspace. Keep your terminal, files, Git view,
2121

2222
[![Workspace Preview](docs/help/assets/screenshot-desktop-workspace-full.png)](docs/help/assets/screenshot-desktop-workspace-full.png)
2323

24-
<div align="center">Preview the full workspace layout built for AI coding, supervision, and device switching.</div>
24+
<div align="center">Preview the full workspace layout built for vibe coding, supervision, and device switching.</div>
2525

2626
## Why It Feels Different
2727

28-
- **One browser workspace for AI coding** — Keep terminal, files, Git, and AI sessions in one place.
28+
- **One browser workspace for vibe coding** — Keep terminal, files, Git, and agent sessions in one place.
2929
- **Built for device switching** — Start on desktop, continue on tablet, and check progress from your phone.
3030
- **Objective-driven multi-step orchestration** — Let Supervisor steer long-running AI tasks so you do not have to babysit every turn, reduce repetitive manual prompting, and get more consistent outcomes.
3131

32+
## Why Coder Studio?
33+
34+
Vibe coding agents are powerful, but the raw workflow is still fragmented:
35+
36+
- the agent runs in one terminal
37+
- files and diffs live in another editor
38+
- verification happens in separate shell tabs
39+
- long-running tasks are hard to monitor away from your desk
40+
- mobile access usually means SSH or remote desktop
41+
42+
Coder Studio turns that scattered workflow into one local browser workspace.
43+
44+
| Pain | Without Coder Studio | With Coder Studio |
45+
|------|----------------------|-------------------|
46+
| Long agent tasks | Watch a terminal or come back later and reconstruct context | Keep sessions, terminal output, files, and Git changes visible in one workspace |
47+
| Cross-device work | Use SSH, remote desktop, or rebuild context on another machine | Reopen the same local workspace from desktop, tablet, or phone |
48+
| Reviewing AI changes | Jump between terminal, editor, and Git tools | Inspect files and diffs beside the agent session |
49+
| Multiple agents | Manage separate terminal windows and histories | Run Claude and Codex sessions side by side in one workspace |
50+
| Local-first control | Move work into a hosted IDE or cloud VM | Keep the runtime and project files on your own machine |
51+
3252
## Quick Start
3353

3454
```bash
@@ -119,10 +139,12 @@ The same workspace URL works across all devices — interface adapts automatical
119139
| [App Overview](docs/help/app-overview.md) | Core concepts and features |
120140
| [Provider Setup](docs/help/providers.md) | Claude Code / Codex CLI installation |
121141
| [Desktop Guide](docs/help/desktop-guide.md) | PC interface and shortcuts |
122-
| [Mobile Guide](docs/help/mobile-guide.md) | Phone / tablet usage |
142+
| [Mobile & Remote Access Guide](docs/help/mobile-guide.md) | Phone / tablet usage, LAN access, Tailscale/ngrok/Cloudflare Tunnel |
123143
| [Common Workflows](docs/help/workflows.md) | Task-based tutorials |
124144
| [Troubleshooting](docs/help/troubleshooting.md) | FAQ and known issues |
125145
| [CLI Reference](docs/help/cli.md) | Command-line options |
146+
| [GitHub Wiki Source](docs/wiki/README.md) | Wiki pages for product positioning, security, and workflows |
147+
| [AI Coding Terms](docs/wiki/AI-Coding-Terms.md) | Vibe coding, agentic harnesses, eval harnesses, and where Coder Studio fits |
126148

127149
---
128150

README.zh-CN.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# Coder Studio
66

7-
**一个浏览器里的 AI 编程工作台,适合在桌面、平板和手机之间切换的开发者**
7+
**Coder Studio,生来就是 vibe coding**
88

99
在同一个工作台里运行 Claude Code 和 Codex,让终端、文件、Git 视图和 AI 会话跟着你在不同设备间延续。
1010

@@ -21,14 +21,34 @@
2121

2222
[![工作区预览](docs/help/assets/screenshot-desktop-workspace-full.png)](docs/help/assets/screenshot-desktop-workspace-full.png)
2323

24-
<div align="center">预览这个为 AI 编程、Supervisor 监督和跨设备切换而设计的完整工作区布局。</div>
24+
<div align="center">预览这个为 vibe coding、Supervisor 监督和跨设备切换而设计的完整工作区布局。</div>
2525

2626
## 为什么它不一样
2727

2828
- **一个浏览器里完成 AI 编程工作流** — 把终端、文件、Git 和 AI 会话放到同一个工作台。
2929
- **真正为设备切换而设计** — 在桌面端开始,在平板继续,用手机随时查看 Agent 进度。
3030
- **目标驱动的多轮调度** — 让 Supervisor 接管长任务推进,你不必全程盯守每一轮输出,减少机械重复的人工催促,并获得更稳定的执行效果。
3131

32+
## 为什么选择 Coder Studio?
33+
34+
vibe coding agent 已经很强,但原始工作流仍然是割裂的:
35+
36+
- Agent 跑在一个终端里
37+
- 文件和 diff 在另一个编辑器里
38+
- 验证命令散落在不同 shell tab
39+
- 长任务离开电脑后很难继续观察
40+
- 手机访问通常只能靠 SSH 或远程桌面
41+
42+
Coder Studio 把这些分散的环节收进同一个本地浏览器工作台。
43+
44+
| 痛点 | 没有 Coder Studio | 使用 Coder Studio |
45+
|------|-------------------|-------------------|
46+
| 长时间 Agent 任务 | 盯着终端,或者回来后重新拼上下文 | 会话、终端输出、文件和 Git 变更都在同一个工作区里 |
47+
| 跨设备继续 | SSH、远程桌面,或在另一台机器重新配置 | 桌面、平板、手机重新打开同一个本地工作区 |
48+
| 审阅 AI 改动 | 在终端、编辑器、Git 工具之间切换 | 在 Agent 会话旁边直接查看文件和 diff |
49+
| 多 Agent 并行 | 多个终端窗口和历史记录分散管理 | Claude 和 Codex 会话在同一个工作区里并行管理 |
50+
| 本地优先 | 把环境迁到云 IDE 或远程 VM | 运行时和项目文件留在自己的机器上 |
51+
3252
## 快速开始
3353

3454
```bash
@@ -119,10 +139,12 @@ coder-studio open
119139
| [功能总览](docs/help/app-overview.md) | 核心概念和功能 |
120140
| [Provider 配置](docs/help/providers.md) | Claude Code / Codex CLI 安装 |
121141
| [桌面端指南](docs/help/desktop-guide.md) | PC 界面和快捷键 |
122-
| [移动端指南](docs/help/mobile-guide.md) | 手机/平板使用 |
142+
| [移动端与远程访问指南](docs/help/mobile-guide.md) | 手机/平板使用、局域网访问、Tailscale/ngrok/Cloudflare Tunnel |
123143
| [常用工作流](docs/help/workflows.md) | 任务式教程 |
124144
| [故障排除](docs/help/troubleshooting.md) | 常见问题和修复 |
125145
| [CLI 参考](docs/help/cli.md) | 命令行选项 |
146+
| [GitHub Wiki 源文件](docs/wiki/README.md) | 产品定位、安全说明和工作流 Wiki 页面 |
147+
| [AI Coding 术语](docs/wiki/AI-Coding-Terms.md) | Vibe coding、agentic harness、eval harness,以及 Coder Studio 的定位 |
126148

127149
---
128150

docs/help/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
## 我主要在手机上使用
1616

17-
- [移动端使用指南](mobile-guide.md)手机端界面和操作
17+
- [移动端与远程访问指南](mobile-guide.md)手机端界面、局域网访问、Tailscale/ngrok/Cloudflare Tunnel
1818

1919
## 我想了解产品结构
2020

-261 KB
Loading
25.6 KB
Loading

docs/help/assets/screenshot-pc.png

-106 KB
Loading

docs/help/mobile-guide.md

Lines changed: 164 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,161 @@
1-
# 移动端使用指南
1+
# 移动端与远程访问指南
22

3-
这篇文档介绍如何通过手机浏览器使用 Coder Studio。移动端适合查看状态、监控 Agent 进度和轻量操作。
3+
这篇文档介绍如何通过手机浏览器使用 Coder Studio,以及如何把本机运行的 Coder Studio 安全地开放给其他设备或外网访问。移动端适合查看状态、监控 Agent 进度和轻量操作。
44

55
## 这篇文档解决什么问题
66

7-
如何在手机上访问和使用 Coder Studio,包括界面导航、会话管理和文件查看。
7+
如何在手机上访问和使用 Coder Studio,包括局域网访问、远程访问、界面导航、会话管理和文件查看。
88

99
## 前置条件
1010

1111
- Coder Studio 服务已在电脑上运行(`coder-studio serve``coder-studio open`
12-
- 手机和电脑在同一局域网
13-
- 手机浏览器访问 `http://<电脑IP>:<端口>`
12+
- 如果要从其他设备访问,建议先设置密码:`coder-studio config --password <强密码>`
13+
- 如果要从局域网其他设备访问,服务需要监听非 localhost 地址:`coder-studio config --host 0.0.0.0`
14+
- 修改配置后重启服务:`coder-studio serve --restart`
1415

15-
> 如果不知道本机 IP 和端口,执行 `coder-studio status` 查看 "Listen URL"。
16+
> 如果不知道本机 IP 和端口,执行 `coder-studio status` 查看监听地址和端口。
17+
18+
## 选择访问方式
19+
20+
| 场景 | 推荐方式 | 适合谁 |
21+
|------|----------|--------|
22+
| 手机和电脑在同一个 Wi-Fi | 局域网 IP 访问 | 家里、办公室内网、临时查看 |
23+
| 只有自己的设备需要远程访问 | Tailscale | 多设备开发者、长期使用 |
24+
| 临时给外网一个访问地址 | ngrok | 演示、临时测试、Webhook |
25+
| 有自己的域名并想长期暴露 | Cloudflare Tunnel | 固定域名、长期远程访问 |
26+
27+
不建议直接把 Coder Studio 端口暴露到公网。至少先启用密码,并优先使用 Tailscale、ngrok 或 Cloudflare Tunnel 这类反向隧道/VPN 方案。
28+
29+
## 局域网访问
30+
31+
局域网访问适合手机和电脑在同一 Wi-Fi 下的情况。
32+
33+
### 1. 启用密码
34+
35+
```bash
36+
coder-studio config --password <强密码>
37+
```
38+
39+
### 2. 监听局域网地址
40+
41+
默认如果服务只监听 `localhost`,手机无法访问电脑上的服务。改成监听所有网卡:
42+
43+
```bash
44+
coder-studio config --host 0.0.0.0
45+
coder-studio serve --restart
46+
```
47+
48+
### 3. 查看地址
49+
50+
```bash
51+
coder-studio status
52+
```
53+
54+
在手机浏览器中访问:
55+
56+
```text
57+
http://<电脑局域网IP>:<端口>
58+
```
59+
60+
例如:
61+
62+
```text
63+
http://192.168.1.23:4173
64+
```
65+
66+
### 4. 如果打不开
67+
68+
- 确认手机和电脑在同一个 Wi-Fi,且没有开启访客网络隔离
69+
- 确认电脑防火墙允许该端口的入站连接
70+
- 确认 Coder Studio 不是只监听 `localhost`
71+
- 如果正在使用 VPN、公司网络或校园网,网络可能禁止设备互访
72+
- 在电脑上重新执行 `coder-studio status`,确认端口没有变化
73+
74+
## Tailscale 访问
75+
76+
Tailscale 适合“只让自己的设备访问”。它会把你的电脑、手机、平板加入同一个私有 tailnet,不需要把服务直接暴露到公网。
77+
78+
基本流程:
79+
80+
1. 在电脑和手机上安装并登录 Tailscale
81+
2. 在电脑上启动 Coder Studio
82+
3. 启用密码并重启服务
83+
4. 在手机上用电脑的 Tailscale IP 或 MagicDNS 名称访问
84+
85+
```bash
86+
coder-studio config --password <强密码>
87+
coder-studio config --host 0.0.0.0
88+
coder-studio serve --restart
89+
tailscale status
90+
```
91+
92+
然后在手机浏览器访问:
93+
94+
```text
95+
http://<电脑的 Tailscale IP>:<端口>
96+
```
97+
98+
如果你希望使用 Tailscale 的 HTTPS/Serve/Funnel 能力,请参考官方文档:
99+
100+
- Tailscale Serve:适合 tailnet 内设备访问
101+
- Tailscale Funnel:适合公开到互联网,风险更高,启用前确认访问控制和认证
102+
103+
## ngrok 临时外网访问
104+
105+
ngrok 适合临时把本机服务暴露给外网,例如演示或测试。它会生成一个公开 HTTPS 地址,并转发到本机端口。
106+
107+
先确认端口:
108+
109+
```bash
110+
coder-studio status
111+
```
112+
113+
假设 Coder Studio 运行在 `4173`
114+
115+
```bash
116+
ngrok http 4173
117+
```
118+
119+
ngrok 会显示一个 `https://...ngrok...` 地址。用手机打开这个地址即可。
120+
121+
使用 ngrok 前请注意:
122+
123+
- 一定先设置 Coder Studio 密码
124+
- 不要把生成的公网地址发给不可信的人
125+
- 演示结束后停止 ngrok 进程
126+
- 免费/付费能力、固定域名和访问控制以 ngrok 官方说明为准
127+
128+
## Cloudflare Tunnel 长期外网访问
129+
130+
Cloudflare Tunnel 适合你有自己的域名,并希望长期通过 HTTPS 访问本机服务。它通过 `cloudflared` 从你的电脑主动连接 Cloudflare,不需要在路由器上开公网入站端口。
131+
132+
临时 Quick Tunnel 示例:
133+
134+
```bash
135+
cloudflared tunnel --url http://localhost:<端口>
136+
```
137+
138+
长期使用建议在 Cloudflare Zero Trust 中创建受管理的 Tunnel,并绑定自己的域名,例如:
139+
140+
```text
141+
https://coder.example.com -> http://localhost:<端口>
142+
```
143+
144+
使用 Cloudflare Tunnel 前请注意:
145+
146+
- 一定先设置 Coder Studio 密码
147+
- 更推荐配合 Cloudflare Access 或其他身份校验
148+
- 如果电脑关机、休眠或 `cloudflared` 停止,远程地址也会不可用
149+
- 固定域名和访问策略以 Cloudflare 官方文档为准
150+
151+
## 安全建议
152+
153+
- 只在可信网络中使用局域网访问
154+
- 开放给其他设备前先执行 `coder-studio config --password <强密码>`
155+
- 不要把无密码的 Coder Studio 暴露到公网
156+
- 不要在公开链接中打开敏感项目,除非你确认认证、网络和访问控制都已配置好
157+
- 如果只是自己跨设备使用,优先选择 Tailscale,而不是直接公网暴露
158+
- 临时分享结束后,停止 ngrok、Cloudflare Tunnel 或 Tailscale Funnel
16159

17160
## 移动端界面结构
18161

@@ -89,7 +232,21 @@
89232
确保 Provider 已正确安装且服务在运行。
90233

91234
**Q:手机上怎么知道访问地址?**
92-
在电脑上执行 `coder-studio status`,找到 "Local URL" 对应的地址。确保手机和电脑在同一网络。
235+
在电脑上执行 `coder-studio status`,找到当前监听地址和端口。如果手机和电脑在同一局域网,访问 `http://<电脑局域网IP>:<端口>`。如果使用 Tailscale,访问 `http://<电脑 Tailscale IP>:<端口>`
236+
237+
**Q:为什么电脑能打开,手机打不开?**
238+
常见原因是服务只监听 `localhost`、手机和电脑不在同一网络、Wi-Fi 开启了设备隔离,或电脑防火墙阻止端口访问。先执行 `coder-studio config --host 0.0.0.0`,再执行 `coder-studio serve --restart`
239+
240+
**Q:可以直接把端口映射到公网吗?**
241+
不建议。Coder Studio 能操作本机项目、终端和 AI 会话,公网暴露前至少要启用密码。更推荐使用 Tailscale、ngrok 或 Cloudflare Tunnel。
242+
243+
## 参考文档
244+
245+
- [Tailscale Funnel 文档](https://tailscale.com/docs/features/tailscale-funnel)
246+
- [Tailscale Funnel CLI 参考](https://tailscale.com/docs/reference/tailscale-cli/funnel)
247+
- [ngrok HTTP Endpoints 文档](https://ngrok.com/docs/http/)
248+
- [Cloudflare Tunnel 文档](https://developers.cloudflare.com/tunnel/)
249+
- [Cloudflare Quick Tunnels](https://try.cloudflare.com/)
93250

94251
## 下一步
95252

0 commit comments

Comments
 (0)