跳转到内容

快速开始

打开项目、选择模型,在工作台完成并核对第一份交付。

先完成一项容易检查的工作:解释一个小项目,再做一个范围明确的改动。 准备一个可以修改的项目副本和可用的模型服务。耗时与费用取决于项目和模型。

没有合适的项目?使用 Parcel Notes 三文件样例。 按样例指南复制项目并检查初始输出,再回到这里打开工作台。该指南提供完整请求和 750 g → 800 g 的核对标准;运行样例需要 Node.js 22 或更新版本。

打开工作台

从下载页选择适合当前平台的包,按安装说明完成安装。 使用桌面安装器时,启动 OpenCorvus。使用完整命令行运行包时,在准备好的项目目录运行:

终端窗口
opencorvus serve --hostname 127.0.0.1 --port 7878

保持终端运行,打开本地工作台。 自选端口时使用服务输出的地址。源码启动和接口接入说明见下方展开部分。

选择项目和模型

  1. 在侧栏的项目区域选择目标目录;首次使用时通过创建项目入口添加目录。使用样例时选择复制出的 parcel-notes,不要选择整个 OpenCorvus 仓库。
  2. 为这个项目新建 Chat,选择 Code 和 Chat。Chat 用于直接对话;Mission 用于持续编排。这次先用 Chat。
  3. 点击输入框旁的模型选择器。尚未配置时,选择 配置 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
$accepted

HTTP 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-Json
Invoke-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,故障诊断见排查指南。