> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trytrellis.app/llms.txt
> Use this file to discover all available pages before exploring further.

# open-typeless

> 手把手教程：用 Trellis 开发 macOS 语音输入应用

# open-typeless

一个手把手教程，展示如何用 Trellis 从零开始构建 macOS 语音输入应用。

<Info>
  **源代码**: [github.com/mindfold-ai/open-typeless](https://github.com/mindfold-ai/open-typeless)
</Info>

## 项目初始化

### 创建 Electron 项目

```bash theme={null}
npx create-electron-app@latest open-typeless --template=vite-typescript

cd open-typeless

# 删除 npm 生成的文件
rm -rf node_modules package-lock.json

# 创建 .npmrc (pnpm + Electron 必需)
cat > .npmrc << 'EOF'
node-linker=hoisted
shamefully-hoist=true
EOF

# 用 pnpm 重新安装
pnpm install
```

### 初始化 Trellis

```bash theme={null}
trellis init
```

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/init.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=b406085b4c7cf020e0dbc3348af91db8" alt="trellis init" width="1762" height="1350" data-path="images/use-cases/open-typeless/init.png" />

### 从旧项目复制 Spec

如果有类似项目的 spec，可以复制过来：

```bash theme={null}
cp -r /path/to/old-project/.trellis/spec ./
```

### 让 AI 填充 Spec

**Prompt:**

> 帮我从 electron-doc/ 里选择有用的 spec，整理到本项目的 .trellis/spec/ 里

AI 会分析并组织 spec：

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step1.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=418a56632c9535716a8c986034a91daa" alt="spec selection" width="758" height="1590" data-path="images/use-cases/open-typeless/step1.png" />

## 任务规划

### 让 AI 规划任务

**Prompt:**

> 我打算用火山引擎 ASR BigModel API 来做这个。帮我规划一下怎么拆分任务。

AI 创建基于批次的任务计划：

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step2-1.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=fda5287e4c3a89784f263f7c8a581410" alt="task planning" width="1088" height="5446" data-path="images/use-cases/open-typeless/step2-1.png" />

### 创建任务

AI 把任务组织成批次：

| 批次      | 任务                                                                   | 目的             |
| ------- | -------------------------------------------------------------------- | -------------- |
| Batch 1 | `asr-infrastructure`                                                 | 基础设施（必须先完成）    |
| Batch 2 | `asr-audio-recorder`, `asr-volcengine-client`, `asr-floating-window` | 可以并行开发         |
| Batch 3 | `asr-integration`                                                    | 集成（依赖 Batch 2） |

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step2-2.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=1547cb4c296ec5e6d34558884fc543a5" alt="tasks created" width="1116" height="1502" data-path="images/use-cases/open-typeless/step2-2.png" />

### 完成 Batch 1

Batch 1 完成后，验证并更新下游任务的 context：

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step2-3.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=2d521d772d9d98b6f8f3a34a8bc08062" alt="batch 1 complete" width="1912" height="918" data-path="images/use-cases/open-typeless/step2-3.png" />

## 并行开发

### 启动并行会话

当前 Trellis 推荐为 Batch 2 的每个任务创建一个 Git worktree 和一个 AI 会话，然后在对应会话里 start 对应 Trellis task。

```bash theme={null}
git worktree add ../asr-audio-recorder -b feature/asr-audio-recorder
git worktree add ../asr-volcengine-client -b feature/asr-volcengine-client
git worktree add ../asr-floating-window -b feature/asr-floating-window
```

每个会话各自记录自己的当前 task，一个会话里 start 任务不会影响另一个会话。

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step3-1.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=fc3f94fe5539f3c7697a8aea8574d80c" alt="parallel agents" width="2298" height="1646" data-path="images/use-cases/open-typeless/step3-1.png" />

## 监控进度

### 查看 Agent 状态

AI 监控 agent 状态和任务进度：

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step4-1.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=0f4d4fa69013cde64466a3f29233b010" alt="agent status" width="2024" height="746" data-path="images/use-cases/open-typeless/step4-1.png" />

### 记录 Session

并行会话完成后，用你平时的 Git 流程 review 和 merge 每个分支：

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step3-4.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=8f7d8dfd27f78d7a4ba5a178023cd17d" alt="parallel PRs" width="2862" height="1068" data-path="images/use-cases/open-typeless/step3-4.png" />

合并并完成批次后，记录 session：

**Prompt:** `/trellis:finish-work`

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step2-4.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=7e5274b1c3f6a2ddcbeb89d677b94526" alt="record session" width="2032" height="1556" data-path="images/use-cases/open-typeless/step2-4.png" />

## 继续开发

### 查看剩余任务

AI 显示当前项目的剩余任务：

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step5-1.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=fe30af85a495d6aaf4eb781eaba68951" alt="task list" width="1602" height="1240" data-path="images/use-cases/open-typeless/step5-1.png" />

### 实现下一个功能

选择下一个任务，AI 用 trellis-implement sub-agent 然后 trellis-check sub-agent：

<img src="https://mintcdn.com/mindfold/VDegZ_ZX0LoWsgf2/images/use-cases/open-typeless/step5-2.png?fit=max&auto=format&n=VDegZ_ZX0LoWsgf2&q=85&s=b19086c3cf1eb277d2283065cc1a9871" alt="implement and check" width="1498" height="1472" data-path="images/use-cases/open-typeless/step5-2.png" />

### 配置和测试

AI 帮助完成剩余设置（环境配置、权限）：

<img src="https://mintcdn.com/mindfold/1SU2hvaJjYMKIvrH/images/use-cases/open-typeless/step5-3.png?fit=max&auto=format&n=1SU2hvaJjYMKIvrH&q=85&s=f8669d9d1a98c58ab9775bb58be34da5" alt="final setup" width="2320" height="1694" data-path="images/use-cases/open-typeless/step5-3.png" />

## 总结

用 Trellis 构建 open-typeless：

| 步骤 | 做什么   | Trellis 功能                                     |
| -- | ----- | ---------------------------------------------- |
| 1  | 初始化项目 | `trellis init`，spec 组织                         |
| 2  | 规划任务  | AI 任务拆分，批次规划                                   |
| 3  | 并行开发  | 原生 Git worktree + session-scoped Trellis tasks |
| 4  | 监控和记录 | `/trellis:finish-work`                         |
| 5  | 继续迭代  | Task hooks，implement/trellis-check sub-agents  |

**结果：** 1 天完成完整 Electron 应用，有结构化的 spec 和文档化的进度。
