第一次运行:从模型到第一次派发
按下面五步操作,第一次使用就能完成“连接模型 → 挂入目录 → 新建会话 → 发出需求 → 查看改动”。每一步都对应界面上的实际按钮。
1. 连接模型服务
Section titled “1. 连接模型服务”按 Ctrl+,(macOS 为 ⌘+,)打开设置,进入「模型服务」。点「添加服务」,选择预设,或用自定义 OpenAI 兼容地址;填写 Base URL 和 API Key,拉取或手动添加模型 id,打开需要思考档位的模型的「推理」,保存。
回到主窗口,在输入框左下角能看到模型胶囊,说明服务已可用。详细字段见 模型服务。
2. 挂入一个工作区
Section titled “2. 挂入一个工作区”在左栏「工作区」标题右侧点 +,或在空状态点「挂入目录」,然后选一个 Git 仓库(普通文件夹也可以)。工作区项会显示名称和路径;再次点击当前工作区会展开它的会话列表。要用独立 Git worktree 派发,仓库需要已有提交。
普通文件夹也能创建会话并派发 Worker,但会显示「无 git」,Worker 直接在目录里改,不建 worktree;同一目录一次只派一个任务。需要并行派发时请使用 Git 仓库。
3. 新建会话并选角色
Section titled “3. 新建会话并选角色”展开工作区后,在「会话」标题右侧点 +;也可以在中间点「新建会话」。弹层默认选中 Orchestrator(带皇冠标记),要单干可以直接选 Worker 或自定义角色。选好模型和可用的思考档位,点「创建」。
会话打开后,标题栏显示状态、角色和当前分支;底部输入框可以开始写需求。
4. 发出第一条需求
Section titled “4. 发出第一条需求”用平时的语言写清楚目标,按 Enter 发送,Shift+Enter 换行。运行中按钮会变成「排队」,同时出现「停止」;消息和工具调用会依次出现在时间线上。
使用主 Agent 派发时,它会读代码、拆任务,右栏「任务」标签上出现任务数量,点进去可以看到任务卡片和进度。直接和 Worker 或自定义角色对话时没有派发这一步。
5. 查看它做了什么
Section titled “5. 查看它做了什么”在右栏「任务」里点一张任务卡片,任务详情会显示任务书、依赖、尝试、消息和 Worker 输出。任务处于「待验收」或「已完成」且有 git 时,点「查看改动」会切到「改动」标签并打开这次任务的 diff。
派发任务时,主 Agent 会在对话里汇报审查和合并结果。如果需求不清楚,Worker 的提问会由主 Agent 带回对话;直接在输入框回答即可。
3 个使用示例
Section titled “3 个使用示例”示例 1:让主 Agent 分派几个不同任务
Section titled “示例 1:让主 Agent 分派几个不同任务”在已挂入 Git 仓库的工作区里新建会话,角色保持默认的 Orchestrator,把下面这段话发出去。
这个仓库里有两个互不相关的任务,请分别派给两个 Worker 并行做:
1. 优化首页排版,统一间距和字号,不改文案;
2. 整理使用文档,补上缺失的操作步骤。
都做完后由你审查并合并;有拿不准的地方先来问我。 主 Agent 读代码、拆成两个任务,各派一个 Worker。Git 工作区里两个任务在独立 worktree 上并行,右栏「任务」出现两张卡片;完成后它在对话里汇报审查和合并结果。并行 worktree 的前提见下面的提示。
收到。两个任务互不相关:首页只调整间距和字号,不改文案;文档补齐缺失的操作步骤。两个任务并行派发,有拿不准的我会先来问你,都完成后由我审查合并。
fynvra/home-spacing fynvra/docs-steps 两个 Worker 都回报完成,各自的分支互不踩踏:首页只改了间距和字号,文档补齐了缺失的操作步骤。现在开始审查。
+86 −54 git diff --check · node --check fynvra/home-spacing → main +128 −39 fynvra/docs-steps → main 两个任务都通过审查并合并。main 上是两条 --no-ff 提交:首页统一了间距和字号(文案未改),文档补齐了缺失的操作步骤。
示例 2:派发时给不同 Worker 指定不同模型
Section titled “示例 2:派发时给不同 Worker 指定不同模型”仍在 Orchestrator 会话里,直接在需求里点名每个任务用哪个模型。把示例里的模型名换成「设置 → 模型服务」里已启用的实际名称或 ID。
分派两个任务:
- 首页实现交给一个 Worker,用 DeepSeek 的 deepseek-chat;
- 文档整理交给另一个 Worker,用 GPT 的 gpt-5.5。
两个任务都完成后由你审查合并。如果其中某个模型没配置好,直接告诉我,不要换别的模型顶替。 主 Agent 会按你点名的模型启动对应的 Worker;模型是在每个派发任务上指定的。
收到。首页实现交给 deepseek-chat 的 Worker,文档整理交给 gpt-5.5 的 Worker。两个模型都已配置好,两个任务又互不依赖,我会并行派发;都完成后由我审查合并。
fynvra/home-impl fynvra/docs-cleanup 两个 Worker 已经在并行的 worktree 里开工:deepseek-chat 改首页实现,gpt-5.5 整理文档。
+74 −58 +96 −31 两个 Worker 都回报完成。首页实现已提交,文档整理也补齐了缺失的操作步骤;现在按同一份需求开始审查。
+74 −58 +96 −31 fynvra/home-impl → main fynvra/docs-cleanup → main 两个任务都通过审查并合并。main 上有两条 --no-ff 提交:首页实现来自 deepseek-chat,文档整理来自 gpt-5.5。
示例 3:选定角色,直接和它对话
Section titled “示例 3:选定角色,直接和它对话”先在「设置 → 角色」里点「新建」,建一个「代码审查员」角色,工具策略选「只读」,保存后用于新启动的会话。Fynvra 只有 Orchestrator 和 Worker 两个内置角色,审查角色需要自己建;字段说明见 角色。
为设置页增加侧栏折叠:折叠后只保留图标,状态记在本地,并说明你改了哪些文件。 检查刚才的侧栏折叠实现:键盘操作、折叠状态持久化和布局是否符合预期,只列出问题和改进建议,不要修改文件,也不要提交。 新建会话时选 Worker,创建后发第一段;等它完成后,再新建一个会话选「代码审查员」,发第二段检查这次实现。Worker 直接改代码并说明改了哪些文件;审查会话是只读的,返回问题清单,不动文件。角色在新建会话时选定,已经建好的会话不能就地换角色,要另建会话。这类直接对话不产生任务,所以没有主 Agent 的派发、验收和合并流程,也没有派发时的独立 worktree 和任务卡片。
已加上设置页侧栏折叠:折叠后只保留图标栏,展开/收起时内容区跟着调整,窄屏也能正常展开;折叠状态写入本地设置,刷新后保持。改了 3 个文件:src/renderer/settings/Settings.tsx(折叠按钮与状态读写)、src/renderer/settings/SettingsSidebar.tsx(图标栏布局)、src/renderer/settings/settings.css(宽度与窄屏样式)。
问题
SettingsSidebar.tsx用不可聚焦的div模拟折叠按钮,只有 click 处理,无法通过键盘激活。Settings.tsx读取本地折叠状态时没有默认值,旧配置会读到 undefined。settings.css把图标栏宽度写死为 56px,窄屏展开时内容会和图标重叠。
建议
- 使用原生
button或补 keydown,并同步aria-expanded。 - 读取时用默认值兜底,并补一个本地状态版本号,避免旧值失效。
- 图标栏宽度改成变量,在 320px 展开态让内容换行。
只读审查完成:未修改文件,也未提交。
选择角色
- Orchestrator 主 Agent · 拆解与派发
- Worker 开发实现 · 直接交付
- 代码审查员 自定义 · 只读审查