快速开始
打开项目、选择模型,在工作台完成并核对第一份交付。
先完成一项容易检查的工作:解释一个小项目,再做一个范围明确的改动。 准备一个可以修改的项目副本和可用的模型服务。耗时与费用取决于项目和模型。
没有合适的项目?使用 Parcel Notes 三文件样例。
按样例指南复制项目并检查初始输出,再回到这里打开工作台。该指南提供完整请求和
750 g → 800 g 的核对标准;运行样例需要 Node.js 22 或更新版本。
打开工作台
从下载页选择适合当前平台的包,按安装说明完成安装。 使用桌面安装器时,启动 OpenCorvus。使用完整命令行运行包时,在准备好的项目目录运行:
opencorvus serve --hostname 127.0.0.1 --port 7878保持终端运行,打开本地工作台。 自选端口时使用服务输出的地址。源码启动和接口接入说明见下方展开部分。
选择项目和模型
- 在侧栏的项目区域选择目标目录;首次使用时通过创建项目入口添加目录。使用样例时选择复制出的
parcel-notes,不要选择整个 OpenCorvus 仓库。 - 为这个项目新建 Chat,选择 Code 和 Chat。Chat 用于直接对话;Mission 用于持续编排。这次先用 Chat。
- 点击输入框旁的模型选择器。尚未配置时,选择 配置 Provider…,按对应服务的设置流程连接,再返回选择可用模型。已有模型配置可直接选择。
只有模型名称出现在列表中,还不能证明连接成功;发送请求后以实际响应为准。 若需要环境变量或自定义网关配置,参见模型提供商说明。
发出第一个请求
使用样例时,发送样例指南的首次请求。 使用自己的小项目时,可以发送:
检查这个项目并创建 docs/first-result.md。说明程序用途、入口、主要模块,以及已有的启动与测试命令,引用准确源码路径。运行适合这个项目的现有检查并记录实际结果;如果无法执行,说明原因。保持应用源码和测试不变,区分事实与推测。
在同一个对话中跟进进度;出现权限请求时,阅读具体动作再作决定。 出现模型错误时按实际错误修复连接,不要把未执行的任务当作已完成。
检查结果,再做一个小改动
打开项目中的 docs/first-result.md,核对引用的源码和实际命令结果。
使用样例时,按指南检查 750 g,然后在同一 Chat 中发送后续请求,
把第三个重量改为 425 克,检查源码、测试和说明是否一起更新到 800 g。
使用自己的项目时,选择一个同样容易验收的小改动,并明确预期结果。
对话显示完成后仍需查看实际文件和差异。可以先查看一次真实 Task 的交付文件,了解怎样核对产物;这是维护者的 Task 样例记录,不是本页 Chat 流程的实测报告。
卡住或完成后,欢迎在试用反馈入口留下版本、系统、模型和具体结果;请勿公开凭据或私有项目内容。
可选:通过 Task API 接入
下面适合脚本或服务集成,会创建独立的 Task。上面的 Chat 直接在工作台发送消息,不需要这些 HTTP 命令。
展开模型配置、启动与 Task 请求示例
1. 选择模型
按照模型提供商说明配置服务。在目标项目中创建或编辑
.opencorvus/opencorvus.jsonc,把 model 设为该服务可用的精确
provider/model 标识:
{ "model": "your-provider/your-model",}启动前替换示例占位符。凭据必须与所选提供商匹配,并且能被运行环境读取;
不要把凭据提交到仓库。opencorvus models 可以列出模型标识,但模型出现在列表中
不代表实际请求一定成功。opencorvus doctor 检查的是本地平台能力。
2. 启动服务
在目标项目目录中运行:
opencorvus serve --hostname 127.0.0.1 --port 7878保持终端运行。从源码启动时,在目标项目目录中运行
bun /absolute/path/to/opencorvus/packages/opencorvus/src/index.ts serve --hostname 127.0.0.1 --port 7878。
如果选择其他端口,以服务输出的地址为准。
打开本地工作台查看对话与成果。 从界面创建工作时,明确选择项目、模型和专家团。也可以使用下面的 HTTP(Hypertext Transfer Protocol,超文本传输协议)请求提交任务。
下列命令用于未设置密码的本地服务。如果配置了 OPENCORVUS_SERVER_PASSWORD,
在 curl 命令中添加 --user opencorvus 并在提示时输入密码;
PowerShell 请求应提供已配置的 Basic 身份验证凭据。
向本机以外开放服务前,先阅读网络配置。
3. 提交一个范围明确的 Task
打开第二个终端,进入同一个项目目录。必填字段是 productPillar
(code 或 work)和 request。本例检查仓库,因此使用 code。
任务使用已配置的模型和当前激活的专家团;也可以在请求中用 model
或 promptProfile 明确选择。
Bash:
curl --fail-with-body -X POST http://127.0.0.1:7878/task \ -H "content-type: application/json" \ -H "x-opencorvus-directory: $PWD" \ -d '{ "productPillar": "code", "request": "检查此仓库并创建 docs/architecture-overview.md。说明入口、主要模块及已有的构建或测试命令,附上精确源码路径。核验这些路径,区分已证实事实与不确定项。不要修改应用源码。" }'PowerShell:
$projectDir = (Get-Location).Path$headers = @{ "x-opencorvus-directory" = $projectDir }$body = @{ productPillar = "code" request = "检查此仓库并创建 docs/architecture-overview.md。说明入口、主要模块及已有的构建或测试命令,附上精确源码路径。核验这些路径,区分已证实事实与不确定项。不要修改应用源码。"} | ConvertTo-Json$accepted = Invoke-RestMethod -Method Post ` -Uri "http://127.0.0.1:7878/task" -Headers $headers ` -ContentType "application/json; charset=utf-8" ` -Body ([System.Text.Encoding]::UTF8.GetBytes($body))$taskId = $accepted.task_id$acceptedHTTP 202 响应包含 task_id、project_id 和 directory,请保存这些精确值。
请求被接受表示已进入处理流程,不代表交付物已经完成。
4. 查看进度
在 Bash 中,把 TASK_ID 设为响应返回的值:
TASK_ID='paste-the-returned-task-id'curl --fail-with-body "http://127.0.0.1:7878/task/$TASK_ID"curl --fail-with-body "http://127.0.0.1:7878/task/$TASK_ID/board"curl -N "http://127.0.0.1:7878/task/$TASK_ID/events"最后一条命令保持 SSE(Server-Sent Events,服务器发送事件)连接。 按 Ctrl+C 停止观察不会取消 Task。事件流包含连接和工作进度信息。 连接中断后,重新读取 Task 与 board,再判断工作是否停止。
PowerShell 可以读取同一份任务记录和 board,也可以直接在工作台跟进:
Invoke-RestMethod "http://127.0.0.1:7878/task/$taskId"Invoke-RestMethod "http://127.0.0.1:7878/task/$taskId/board"5. 检查成果并继续
打开 docs/architecture-overview.md,确认引用路径存在、概览与源码一致,
并且不确定项和未完成工作都有明确说明。在工作台检查任务改动和证据。
仅凭终态不能证明这些条件已经满足。
需要修正时,向同一个 Task 发送普通后续消息:
curl --fail-with-body -X POST "http://127.0.0.1:7878/task/$TASK_ID/message" \ -H "content-type: application/json" \ -H "x-opencorvus-directory: $PWD" \ -d '{"text":"请再次对照源码核验概览,补齐遗漏的入口路径。","source":"api"}'$followUp = @{ text = "请再次对照源码核验概览,补齐遗漏的入口路径。" source = "api"} | ConvertTo-JsonInvoke-RestMethod -Method Post ` -Uri "http://127.0.0.1:7878/task/$taskId/message" -Headers $headers ` -ContentType "application/json; charset=utf-8" ` -Body ([System.Text.Encoding]::UTF8.GetBytes($followUp))处于终态的 Task 可以在接受新输入后重新开始执行,同时保留历史和固定专家团。 检查消息响应与更新后的任务状态;消息被接受不代表修正已经完成。
遇到问题时
- 创建请求报错: 阅读响应正文,检查必填字段、精确项目目录、所选模型和可用专家团。
- 模型请求失败: 检查实际返回的模型服务错误和配置;本地
doctor通过不代表凭据或模型访问有效。 - 等待权限决定: 在工作台查看具体请求,再决定允许或拒绝。参见权限说明。
- 结果不完整: 把具体缺失要求发送给 Task,再检查下一次成果。
接入细节见 Mission 与 Task API, 频道设置见 Slack,故障诊断见排查指南。