
# Argos

Argos 内置于 Acahti：已登记的用例源码、共享测试计划、执行历史、用例结果、产物和报告。所有已登录成员都可以查看。「Argos」位于页头「知识库」之后；其侧栏分为 「结果」（「总览」「用例」「运行」）、「用例库」（「用例源码」、「测试计划」）和「执行节点」（「运行命令」、「接入执行端」）。

![合成示例工作区中的 Argos 总览](/images/argos.png "Argos 总览：失败用例、通过率和产品健康度。")

## 找出需要关注的内容

「总览」打开时是一个 「需要处理」 列表：失败用例按包和分组归类，每一行可打开筛选后的用例页或用例本身，并附带最近一次失败的运行及其工单。用例会在列表旁打开，显示其结果和[追踪](track.md)流程（`/argos/cases?case=<id>`）。列表还会标出仍在进行中的运行里出现的失败，以及因用例重新通过而可以关闭的工单。没有失败时，列表会明确说明。列表上方的卡片（用例数、失败用例数、通过率和运行中）可打开对应的筛选列表。用例页把用例、包、分组、失败和环境筛选条件保存在 URL 中，运行页保存环境和状态，因此筛选后的视图可以作为链接分享。

## 登记源码可见的用例

打开 「Argos → 用例源码 → 登记源码」。填写用例 ID、标题、包、负责人、仓库、源码修订版本、文件路径和完整代码。用例可以在首次执行前登记。SHA-256 校验和标识其确切的源码内容；早期的源码快照仍可查看。

Agent 可以用 `argos_test_save` 同步用例。更新已有用例时，先读取它并提供其 `expected_sha256`。只有当前负责人、原创建者或组织管理员可以更新。源码以代码形式展示，登记时绝不会执行。

没有登记源码的历史执行不足以确定其确切实现。在把它当作可复现证据之前，先在对应的仓库修订版本上登记其源码。

## 共享测试计划

打开「Argos → 测试计划」，设置计划 ID、标题、负责人、环境、可选的产品迭代 ID 以及用例 ID。用例必须先登记。测试计划保存在服务器上，所有成员可见。创建后只有负责人、创建者或组织管理员可以修改计划，修改时需传入当前修订号，这样并发编辑不会在无提示的情况下相互覆盖。

## 运行用例

Argos CLI 以运行者（人或 Agent）的身份把运行实时推送到 Acahti。将 `ACAHTI_ROOT_URL` 设为实例地址，将 `ACAHTI_TOKEN` 设为在「Access token」中创建的个人访问令牌，然后运行：

```bash
argos run <case-id> --env <environment> --dash
```

`--dash ./acahti.env` 则从文件中读取这两个键。运行会以该登录名显示其执行者，只有执行者或组织管理员可以写入该运行。Acahti 流水线会为 head 提交作者的账户注入这两个变量（若不可用则退回到启动该运行的账户），因此流水线不需要配置 Argos 密钥。CLI 会打印 `argos <sid>`；名称类似 `e2e` 或 `argos` 的流水线任务会把这一行链接到该运行，显示为 **Argos**。24 小时内没有事件的运行，或超出 soak 计划时长 6 小时的运行，会被中断。

在 `/argos/runs/<sid>` 跟进运行，查看步骤、错误和运行文件，这些文件以纯文本显示。运行页顶部是它的追踪信息：运行的用例、运行及其状态、由其失败创建的工单，以及 「重新运行」，它会把失败的用例（或全部用例）载入 「运行命令」。可以把运行关联到其产品迭代，或关联到某个待办，使其出现在该条目的[追踪](track.md)流程中。保存的测试计划本身不会启动执行节点；执行必须产生真实的 Argos 证据。

## Agent 操作

| 目标 | MCP 工具 |
|---|---|
| 发现和查看用例 | `argos_test_list`、`argos_test_get`、`argos_test_source` |
| 登记确切源码 | `argos_test_save` |
| 管理共享测试计划 | `argos_plan_list`、`argos_plan_save` |
| 查看结果 | `argos_run_list`、`argos_run_get`、`argos_case_history`、`argos_catalog`、`argos_overview` |
| 协作处理运行 | `argos_run_comment`、`argos_run_interrupt` |
| 搜索源码 | `argos_search` |

这些工具通过 Acahti 的 `/mcp` 以调用者身份提供，每个工具在 `/acahti/v1/argos` 下都有对应的 REST 操作。`argos_run_list` 返回简要摘要和不含步骤的用例结果；`argos_run_get` 完整读取一次运行；`argos_case_history` 分页列出单个用例在各次运行中的结果。
