Metadata-Version: 2.5
Name: aidong-aeval
Version: 0.1.3
Summary: OmniAgent 开发者评测客户端
Requires-Python: >=3.11
Requires-Dist: httpx<1,>=0.27
Description-Content-Type: text/markdown

# Agent-Eval 开发者 CLI

仅执行独立单轮问题；带聊天历史的旧任务拒绝恢复调用，历史记录与单轮人工评星同步保留。

在开发机调用 OmniAgent，中心服务统一出题、判定和保存报告。
Agent 自行配置 Langfuse 和写工具禁用；客户端不需要数据库或 Langfuse 凭据。

```bash
uv tool install aidong-aeval
aeval configure
aeval datasets
aeval --target 127.0.0.1:8787 --dataset <数据集ID> --revision <版本>
aeval resume <运行编号>
aeval results <运行编号>
```

PyPI 包名为 `aidong-aeval`，命令名为 `aeval`。
开发安装：`uv tool install ./client`。旧运维包也提供 aeval 命令，请使用不同工具环境。

也可手写 `~/.aeval/config`（TOML），并执行 `chmod 600 ~/.aeval/config`：

```toml
server = "https://评测服务域名"
api_key = "团队口令"
customer = "客户标识"
protocol = "v1"
```

可选 `dataset`、`environment`、`agent_token`。环境无默认值；Agent bearer token
仅发给 Agent，不发给评测服务。`--environment` 只核对、不设置环境；
`--model` 只核对实际模型，不切换模型。v1 可传 `--effort high`，
CLI 先验证模型支持的档位；main 不支持该参数。

调用断线后先执行 resume，从 trace 恢复已有回答；没有完成证据时不自动重问。
确认允许重复调用时执行 `aeval resume <编号> --retry-uncertain`，重新预检后使用新会话。
回答缓存保存在 `~/.aeval/runs/`，确认上传后删除。

## 发布准备

每次交付变更同步提升根目录和 `client/pyproject.toml` 的版本并更新 `uv.lock`，两处版本必须一致。
PyPI 使用 `client/pyproject.toml` 的版本，不覆盖已发布版本；同一未发布 PR 的修订不重复升版。

```bash
uv build --project client --out-dir dist/client
uvx twine check dist/client/*
```

检查 wheel/sdist 只包含客户端源码和公开说明；在隔离环境安装 wheel 并运行
`aeval --help`，完成连接真实测试服务的验证。凭据、客户数据与服务端源码不打包。
人工确认 PyPI 项目名称、维护者权限与发布凭据后才可执行上传；
本仓不配置 tag 自动发布。
首次上传创建 PyPI 项目；后续发布使用仅限 `aidong-aeval` 项目的 Token，
不长期保留首次创建项目使用的账户级 Token。

写工具绑定校验默认开启。已确认部署禁用生产写工具后，可在发起命令加 `--skip-write-tool-check`；恢复时沿用原设置，不能改变。关闭后环境检查和运行时护栏仍启用，但事后护栏不能撤销生产写入。

开发环境统一为 `<customer_id>-dev`。`--environment` 只核验预期值，不能覆盖此约定；实际环境由 Agent 启动配置决定。
调用身份可用 `--user-id` 或私有配置中的 `user_id` 指定，默认 `eval-runner`。
