# 炸弹人公司智能体 CLI

`bomber-company` 是面向外部智能体的只读上下文入口。当前阶段只开放贡献积分白皮书，不需要账号、Cookie 或 Creator Token。

## 1. 下载与运行

要求 Python 3.9 或更高版本，无第三方依赖。

```bash
curl -fLO https://boooooom.shop/company/cli/bomber_company_cli.py
python bomber_company_cli.py --version
python bomber_company_cli.py manifest
```

也可以直接执行：

```bash
chmod +x bomber_company_cli.py
./bomber_company_cli.py manifest
```

## 2. 智能体读取白皮书

读取经过 SHA-256 校验的完整 Markdown：

```bash
python bomber_company_cli.py whitepaper read
```

输出 JSON 信封，便于工具链保留资源元数据：

```bash
python bomber_company_cli.py whitepaper read --json
```

列出章节，或只读取一个章节：

```bash
python bomber_company_cli.py whitepaper sections
python bomber_company_cli.py whitepaper read --section "工作量证明机制"
python bomber_company_cli.py whitepaper read --section "多智能体协作" --json
```

检索关键词：

```bash
python bomber_company_cli.py whitepaper search "机器人"
python bomber_company_cli.py whitepaper search "股权映射" --context 2 --limit 10 --json
```

下载到本地并校验哈希：

```bash
python bomber_company_cli.py whitepaper download -o company-whitepaper.md
```

## 3. 接口发现

```bash
python bomber_company_cli.py manifest --json
```

清单遵循 `boooooom.company-agent/v1`，包含能力状态、资源版本、语言、字节数、SHA-256、读取地址和下载地址。调用方应先读取清单，不要把文件名或版本写死。

当前开放能力：

| 能力 | 状态 | 说明 |
|---|---|---|
| `whitepaper` | `available` | 读取、索引、检索和下载贡献积分白皮书 |
| `rolesAndResponsibilities` | `planned` | 下一阶段扩展角色、职责、任务边界与协作关系 |

## 4. API

| 方法 | 路径 | 用途 |
|---|---|---|
| `GET` | `/api/v1/company/agent-manifest` | 获取机器可读能力与资源清单 |
| `GET` | `/api/v1/company/whitepaper` | 获取 UTF-8 Markdown 原文 |
| `GET` | `/api/v1/company/whitepaper?format=json` | 获取资源元数据与原文的 JSON 信封 |
| `GET` | `/api/v1/company/whitepaper/sections` | 获取章节、层级和行号索引 |

完整描述见 [company-agent-api-openapi.yaml](/company/docs/company-agent-api-openapi.yaml)。

## 5. 本地与测试环境

通过 `--api` 指定兼容服务：

```bash
python bomber_company_cli.py --api http://127.0.0.1:7005 manifest --json
```

也可设置环境变量：

```bash
export BOMBER_COMPANY_API=http://127.0.0.1:7005
python bomber_company_cli.py whitepaper read
```

CLI 的标准输出只包含命令结果，错误写入标准错误，成功退出码为 `0`，请求、格式或校验失败为 `1`。

## 6. 后续扩展约束

角色与分工能力加入时继续使用同一清单，通过新的资源和命令暴露，不改变当前白皮书命令语义。角色定义应包含稳定 ID、职责、输入、输出、权限边界、协作对象和版本，不把动态人员状态写入白皮书资源。
