缩写
Cortex 是用于 (单位:千美元) 食谱工作.
提交和检查工作,阅读执行故事和文物,重新开始工作,以及
回应人类输入请求。 这个 cortex 命令为 Go API 和
从一个可执行文件嵌入的 React UI .
Cortex 连接到远程 任务DB 服务器. 分开运行 c2j 工人与同一个 JobDB 。 UI 中的项目为 JobDB 租户;细胞在JobDB中是可持久命名的记录,有生成的ID和寄存器定位.
目标列表过滤和搜索
状态列的过滤器匹配显示的工作的徽章,包括 Succeed, 失败( 应用程序/ 系统) , 超时, 并请求取消 。 多个 选项匹配任何选定的状态。 所有状态开始检查; 未检查个人 选项或使用 选择全部 / 选择无,然后应用。 选择没有显示任务 . 完成( 未找到结果) 匹配 已完成且未存储结果的工作; 正在重试的工作保留其时间安排 状态,即使以前的尝试失败。 单元格列使用相同的复选框 控件,初始选择所有单元格。 选择来自JobDB注册, 包括无工作牢房和退休牢房,以便进行历史检查。 单元格和 状态过滤器在 pagination 之前运行在后端 。 URL存储稳定的单元格ID; 重命名保存选择并刷新显示的名称 。 缺少所需单元格 字段生成协议错误,而不是推断出的身份.
这个 收件箱/ 所有任务 选择器控制可见度独立于执行 状态。 收件箱是默认的, 包括已完成的工作, 直到存档为止 . 已选择归档 从收件箱中删除工作并取消未完成的工作; 历史和文物仍可通过所有工作和目标概览获得. 目前不支持将任务恢复到收件箱 。 所选视图保留 在 URL; 切换视图可以清除页码和所选任务.
在取消/保留行右侧搜索全部提示,包括短行以外的文本 标签和来自其他加载尝试的提示。 单击目标、状态、单元格或 提交列标题以排序升降; 再次单击以恢复 最初的命令。 在当前页面的浏览器中搜索和排序运行 . 打开目标并返回时,搜索、排序和过滤器在URL中持续存在.
API 接受重复的任务 displayStatus 参数,用于
实例 ?displayStatus=READY&displayStatus=failed_app。现有的 status
参数仍然过滤原始调度状态;两个参数不能是
综合起来。 显示过滤扫描压缩 JobDB 页面而不装入任务
细节。 每个请求最多扫描20个后端页面,所以结果很少或为空
还可以有 next_page_token; 使用 下一个工作 继续.
重复 cellNames 参数(例如 ?cellNames=alpha&cellNames=beta(中文(简体) )
匹配在 pagination 之前由任一单元格拥有的工作 。 仓库选择者和
旧的 cell 查询参数不再被接受.
includeHidden=true 包含从收件箱存档的工作;省略或 false
保留收件箱视图。 它由状态、单元格和目标过滤器组成
帕吉纳 目标概述包括存档尝试.
审查文档预览
评论支持Markdown, 统一和相邻的补丁, 光栅图像, JSON, JSONL,日志和源文件. 源视图提供行号,搜索和包装. JSON格式化保存了大量和重复的密钥. HTML 和 SVG 出现 ; 档案仍为下载。 未知的二进制文件有十六进制预览 .
预览为只读并有界限. 文本加载到 2 MiB; 结构预览 需要在1个米B和20 000行内提供完整的投入。 鼠标预览允许最多 16 MiB和32兆像素. Banners 识别有限的预览, 下载总是 返回完整的原字节。 标记下图像只装入清晰的 在当前审查中的附件.
电话和新目标
电话审查文件清单,但不包含全部内容. 读取 打开 全屏读取器,有一个垂直滚动区域; 回头审查 返回时 同一份答复草稿和附件. 文档选项 提供来源, 文档选择和下载。 要求详细情况、目标背景和说明 继续通过披露提供.
在768px下方,导航从 开放导航目标、企图、 单元格使用卡片。 入球卡以双行快取、状态、单元格和尝试开头 计数; 扩展一个卡, 用于提交时间、 相关链接和检查 . 过滤和排序 显示搜索和现有控制。 电话 过滤对话框保留 选择全部 / 选择无 / 应用 ; 搜索和排序保留与桌面列表相同的当前页面和URL行为. 故事和细节垂直堆放,带有 查看选中的细节 跳转链接.
新目标 选择活动注册单元格。 单细胞过滤种子 picker,在提交前将选定的ID解决为当前名称. 现有单元格的提交使用登记册储存库. 新建单元格 模式需要 明确名称和仓库。 它首先登记单元格,然后提交目标. 如果提交失败, 单元格仍为注册; 重试重用完成的 登记和相同工作身份,但申请不变.
单元格和创建
单元格页列出有活动/退休/所有过滤器的登记册, 确切姓名/别名的搜索, 和pagination. 创建单元格 需要名称和 数据库,包含可选描述和 JSON 元数据。 它会登记一个单元格 ; 创建或发布其 Git 寄存器是分开的. 主机寄存器定位器、 HTTPS URL 和所支持的 SSH 表格由 乔布 DB. 本地文件系统路径不能作为单元格身份 .
一个单元格的细节页面显示其当前名称,寄存器,状态,别名和元数据.
本单元格的目标 打开其稳定标识过滤的目标列表;
此单元格中的新目标 预选提交。 已退休牢房仍然存在
可检查但不能获得新的工作. root 是一个普通单元格名称,没有
特殊指定或创建限制.
手机编辑和退休UI被推迟.
任务行显示当前单元格名称,同时保留每个任务提交的寄存器 示意图. 更改登记回购不会改变历史源链接.
这一发布需要兼容的JobDB/c2j工人和新鲜的执行商店. 旧任务、 pagination 光标和保存的执行选择不支持; 部署 将服务器和UI捆绑在一起。 见 单元格升级计划 切换细节. 认证和用户特定权限在此迁移之外 .
章节下载
在一份工作的故事页面上, 下载章节 保存 JSON 检查导出 包括保留图案和文物 解说. 运行中的任务导出当前可用的记录 。 童工 文物档案内容除外 从故事中下载。 此导出不是导入或恢复格式 .
文件审查
这个 审查 导航项目列表待输入表标记 kind: review。 。 。 .
审查被排除在 待决投入,每个部分都有自己的计数.
打开检阅以在文档之间切换, 查看 Markdown 已渲染的或
确切的来源,并回答食谱的问题。 原件仅取用;
文件加载问题附加单独的响应文件(每个问题一个文件,
32 MiB总HTTP请求限制. 其他文档格式可以下载.
回复使用c2j的请求身份,验证,和收据. 工作的故事链接 (b) 与《公约》有关的其他事项。 已完成的审查留下待处理的清单;历史审查 尚未提供。 见 食谱作者指南 财务报告和审定财务报表 c2j API后续要求。 。 。 .
安装和运行
发布会为x86 64和ARM64提供Linux和macOS二进制. 通过
npm(节点14或更新和 tar 所需:
npm install -g @colony2/cortex
cortex version
cortex --jobdb http://127.0.0.1:9047/c2 --working-dir /path/to/cell
Npm 安装器下载匹配的二进制 GitHub 发布 并核查其 SHA -256 检查和。 您也可以直接下载和提取归档;这些 二进制不需要 Node.js. 每个归档包含内建的网络 UI 执行文件.
打开 http://localhost:8080。工作目录应为 Git 退出
c2j 单元格配置;见
最小固定线。 。 。 .
| 选项 | 环境变量 | 默认 |
|---|---|---|
--addr | CORTEX_ADDR | :8080 |
--jobdb | C2J_JOBDB | jobdb 从 .c2/config.yaml |
--working-dir | CORTEX_WORKING_DIR | 当前目录 |
--cors-origins | CORTEX_CORS_ORIGINS | 空; 逗号分隔出处 |
Cortex 使用眼镜蛇, 如 c2j: 长旗使用 -- (单位:千美元)--jobdb, (中文(简体) ), --addr和
使用短旗 - (单位:千美元)-h (请求帮助). cortex serve 明确启动服务器;
cortex 与同旗相等. 使用 cortex version 或者说
cortex --version 以识别释放。 来源构建报告 dev。 。 。 .
JOBDB URI包括租户,就像c2j:
cortex serve --jobdb http://localhost:9047/c2
# Or share the same environment setting with c2j:
C2J_JOBDB=http://localhost:9047/c2 cortex
决议如下: --jobdb,则 C2J_JOBDB,然后是最近的祖先
.c2/config.yaml. Cortex 调用 c2j's pkg/config.LoadProjectConfig 财务报告和审定财务报表
ProjectConfig.JobDBURI 直接,包括支持命令值设置:
jobdb: http://localhost:9047/c2
# Alternatively:
# jobdb:
# command: your-command-that-prints-a-jobdb-uri
如果你的项目还用 .c2j/config.yaml移动到 .c2/config.yaml· ;
c2j不再发现旧目录中的配置.
运行 cortex 从单元格或子目录中选择配置目录
与 --working-dirCortex 需要一个远程的 HTTP(S) JobDB 服务器; embed:///
不被支持.
在移民方面, --jobdb-url 仍为接受新的或
URI 或只使用服务器的 URL --tenant-id. 遗产 JOBDB_URL 仅当
既不是连接旗,也不是 C2J_JOBDB 在查阅配置之前设定.
CORTEX_TENANT_ID 仅适用于仅用于遗留服务器的 URL( 默认) 1) (中文(简体) ).
打开用户界面时使用您配置的 JobDB URI 中的租户 。 要推翻它,
在页眉中选择租户,使用 /?tenantId=42,或者打开诸如下列租户路线:
/project/42/jobs。电子邮件屏幕记录一个身份 cookie;它没有
提供服务器侧认证.
从源头构建
安装 Git, Make, Node.js 22 或更新, pnpm 10, 并使用自动工具链
下载已启用。 Go 包装器在其中选择版本 .go-version。 。 。 .
pnpm install --frozen-lockfile
bash scripts/go.sh -C server mod download
make build
./build/cortex --jobdb http://127.0.0.1:9047/c2 --working-dir /path/to/cell
make build 构建网页包, 复制其输出到 Go 嵌入
目录,并生成 build/cortex平地 go build 不建立UI.
依赖性被固定在 server/go.mod; 无兄弟关系
需要离职.
发展
在单独的终端中启动 API 和 Web dev 服务器 :
C2J_JOBDB=http://127.0.0.1:9047/c2 CORTEX_WORKING_DIR=/path/to/cell pnpm dev:api
pnpm dev:web
打开 http://localhost:3000。虚拟代理 /api 改为 http://127.0.0.1:8080· ;
设定 CORTEX_API_URL 要使用另一个 API 地址。 浏览器请求使用相同的
来源,除非 VITE_CORTEX_API_BASE 设置在构建时间.
对于包含内存工作的UI开发,将API命令替换为:
pnpm dev:test-api --addr 127.0.0.1:8080 --working-dir web/app/tests/fixtures/cell
测试 API 不执行配方 。 使用远程 JobDB 和单独的 c2j 工人 当你需要执行职务时.
| 目录 | 目的 |
|---|---|
server/cmd/cortex | 生产 API 和嵌入式 UI |
server/cmd/api | 使用远程 JobDB 开发 API |
server/cmd/uitestserver | 模拟测试 API 和 HTTP 测试 JobDB; --jobdb-only --sqlite 使用临时 SQLite 存储 |
server/internal/cortex | 路线、租户/手机绘图和c2j一体化 |
server/internal/webdist | 嵌入式生产网络资产 |
web/app | 反应应用程序 |
web/shared | API 客户端、类型、身份和输入事件状态 |
npm/cortex | npm 发射器并释放二进制安装器 |
测试
pnpm test # Go tests, type checks, web tests, build, browser tests
pnpm test:api # Go tests, including remote JobDB integration
pnpm typecheck:web
pnpm test:web
pnpm test:e2e # Browser tests against development and embedded production UI
pnpm --filter @colony2/app test:e2e --project=production recipe-input.spec.ts
node --test npm/cortex/test/*.test.cjs
C2 执行工具 .c2/config.yaml 宣布开始,巴什,
Make, Node.js, pnpm, Playwright, Chrimium, and FFmpeg. 互联网档案馆的存檔,存档日期2013-12-22. 尼克斯用品 铬
运行时库和字体。 浏览器测试使用 Chromium 和 FFmpeg 从
PATH,不下载浏览器或安装系统包.
外部 c2, 提供铬和FFmpeg PATH,或安装 Playwright 的
运行测试前的浏览器 :
PLAYWRIGHT_BROWSERS_PATH="${CORTEX_PLAYWRIGHT_BROWSERS_PATH:-$HOME/.cache/ms-playwright}" \
pnpm --filter @colony2/app exec playwright install --with-deps chromium
安装完整的铬及其无头壳:本地200%缩放测试
在新浏览器配置中装入临时扩展名并验证
chrome.tabs.setZoom编号 :getZoom,布局维度,以及设备-像素比. 这个
扩展只存在于测试中,从未被捆绑入应用中.
Nix Chromium软件包针对Linux工人;macOS开发者可以使用该软件 上面的 Playwright 安装命令 .
图像审查的配方也需要完整的 ffmpeg 可执行文件于 PATH, (中文(简体) ),
由PNG,JPEG,GIF,WebP,AVIF和BMP编码支持. 剧作家的捆绑
录像机不符合这一要求。 CI 安装被绑
imageio-ffmpeg==0.8.1 linux x64/ARM64 和 macOS ARM64 二进制分布
在运行套房前检查所有固定编码器。 当地尼克斯工人
已声明完整 FFmpeg 在 .c2/config.yaml。 。 。 .
设置 CORTEX_PLAYWRIGHT_BROWSERS_PATH 选择 Playwright 安装
即使系统浏览器打开 PATH就像CI一样 否则,系统可执行文件
仅在有铬和FFmpeg时使用; 不完整的配对
返回到 Playwright 的浏览器缓存 .
该套间在15173和18081–18083端口管理自己的服务器. 它覆盖 提交、故事、租户、牢房和输入活动。 生产试验的使用 HTTP JobDB 由临时 SQLite 存储支持.
食谱输入测试建立被绑定的 C2j 命令并执行真正的 Git 支持
单题和多字段输入请求的配方,加文档
评议。 审查测试涵盖提供/来源Markdown、多份文件、,
静态和无效反应, 单独的响应附件,和收据。 他们交工作
通过浏览器,在SSE的第二个标签中观察待决请求,检查
需要的字段和页面重新加载,在工人停止工作时提交答案,
并重新启动,以验证准确的食谱输出和完成的故事。 他们也
覆盖另一个客户端的取消, 拒绝延迟回答, 并连续
提示在一个任务中不重装标签。 每一次考试都有一个单独的房客
和临时 Git 仓库; 固定单元格的 Git URL
由在工人的PATH中 唯一测试的 Git 运输 shim 映射到仓库。 没有 API 或事件源
这些测试中使用了模型。 工人日志和食谱结果附于
剧作家报告 web/app/playwright-report。 。 。 .
超时退步也与真正的工人为敌。 它证明 未回复的输入过期, 在两个浏览器标签中清除待发提示, 并拒绝 迟交.
释放
- 推动
main在 Linux x86 64, Linux ARM64 和 macOS 上运行测试套件. - 通过测试可以自动进行版本标记(
vMAJOR.MINOR.PATCH补丁 默认,使用anothrNick/github-tag-action) (中文(简体) ). - 工作流程构建UI,将它嵌入到四个去二进制中,并注入 发布版本、承诺和建立日期.
- 可选苹果签名和公证在包装前运行. GitHub 发布
实收
cortex_<version>_<Linux|Darwin>_<x86_64|arm64>.tar.gz,核对和 生成发布注释. - 工作流程包和安装
@colony2/cortex以烟雾测试已出版 下载,然后发布到npm.
GitHub 动作需要权限来写入仓库内容和 npm 发布
访问: 配置 NPM_TOKEN 或 npm 信任的发布器用于此仓库
release.yaml 工作流程. READ_ALL_C2_REPOS 私人用品 访问模块
需要的时候。 对于macOS签名,请配置所有五个秘密: MACOS_SIGN_P12, (中文(简体) ),
MACOS_SIGN_PASSWORD, (中文(简体) ), APPLE_API_ISSUER, (中文(简体) ), APPLE_API_KEY_ID,以及 APPLE_API_KEY。 。 。 .
无配置, macOS 二进制未签名; 部分配置失败
释放。 这些秘密名字与c2j相符.