# Immake 制造分析 Skill 安装说明

Immake 是安装在 Codex、Claude Code 等 Agent 里的制造分析与自动报价 Skill。安装后，用户可以用自然语言查看零件制造证据，或使用网页后台配置的费率生成自动估算报价。

> 如果你是收到本页地址的 Agent：请直接完成下面的安装和检查，不要让用户手工输入命令。安装完成后，用用户当前语言说明已经装好、能做什么，以及如何开始第一次分析。

## 一分钟安装

要求：Node.js 20 或更高版本。

在 Codex 中安装：

```bash
npm install -g @immake/cli@latest
immake install --agent codex --json
immake doctor --json
immake login
```

在 Claude Code 中安装：

```bash
npm install -g @immake/cli@latest
immake install --agent claude --json
immake doctor --json
immake login
```

只有用户明确要求同时安装到两者时，才使用：

```bash
immake install --agent all --json
```

`doctor` 只检查 Immake 服务和当前能力，不读取或上传零件文件。安装成功后，不要为了演示而搜索用户目录，也不要擅自挑选文件上传。

`login` 使用浏览器设备授权，终端不接收网站密码。需要用户在浏览器注册或登录并确认设备码；不要代替用户创建密码、读取验证邮件或批准未知设备。Free 默认每月 50 个零件并有 10 个高级体验零件；可用 `immake quota` 查看剩余次数。

## 安装完成后怎么使用

用户不需要记命令。让用户明确选中一个或多个零件文件，然后直接提问，例如：

- “分析这个零件，告诉我能不能加工、建议三轴还是五轴、需要几次装夹。”
- “这个零件有哪些 DFM 风险？请按严重程度说明位置、原因和修改建议。”
- “给我看尺寸、实体体积、最小毛坯和实际加工毛坯。”
- “H2 总工时是多少？把粗加工、精加工、孔加工和倒角去毛刺分开说明。”
- “我知道方料是 20 × 868 × 175 mm，请按这个毛坯重新分析。”
- “给这两个零件自动报价：A 是 10 件 6061，B 是 25 件 304。”

Agent 正常分析时使用有界摘要，避免完整 JSON 占满上下文：

```bash
immake analyze "/absolute/path/part.step" --capabilities geometry,dfm,machining,preview_3d,thumbnail --wait --compact-json
```

一次可以分析最多 5 个用户明确指定的文件：

```bash
immake analyze "/absolute/path/a.step" "/absolute/path/b.x_t" --capabilities geometry,dfm,machining --wait --compact-json
```

已知方料或圆料时，应显式传入，不要用最小毛坯替代用户给出的真实毛坯：

```bash
immake analyze "/absolute/path/part.step" --stock-box 20 868 175 --wait --compact-json
immake analyze "/absolute/path/round.step" --stock-cylinder 60 25 --wait --compact-json
```

同一条命令里的毛坯参数会应用到该命令列出的所有文件。不同零件使用不同毛坯时，应分开分析。

## 当前支持的文件

支持以下单零件 CAD 文件：

```text
.step  .stp  .x_t  .x_b  .sat  .sldprt  .prt  .ipt  .catpart
```

- 每个文件最大 10 MiB；每批最多 5 个文件。
- 只上传用户明确指定的精确路径；不接受目录或 glob，不扫描相邻文件。
- 拒绝装配体和网格，包括 `.sldasm`、`.asm`、`.iam`、`.catproduct`、`.3dxml`、`.stl` 和 `.obj`。
- 原生 CAD 的必要预处理只用于内部制造分析。公共 Skill 不提供独立格式转换，也不下载派生 CAD 文件。
- 不要上传用户无权分享的模型。公开结果链接及其中的 3D 访问有效 7 天；这不代表上传文件或分析结果的数据保留期限。

## Immake 会返回什么

### 1. 几何与毛坯

- 零件全局 X/Y/Z 包围盒，以及独立的车间长×宽×厚；
- 实体体积、表面积、复杂度；
- 几何最小毛坯的形状、尺寸、体积、密度和重量；
- 实际加工毛坯的来源（用户指定、通用余量或薄板自动推导）、用户输入顺序、毛坯局部 X/Y/Z、车间长×宽×厚、坐标系、体积、重量和包络检查。旧结果没有方向信息时只显示“解析三边（方向未提供）”。

最小毛坯和实际加工毛坯是两件事，回答时必须分开说明。

若 `geometry.solid_count > 1`，这是多实体文件：返回实体数量、覆盖全部实体的整体 X/Y/Z 包围盒、车间长×宽×厚和各有效实体体积之和，并返回 `MULTI_SOLID_UNSUPPORTED`。不得继续展示表面积、复杂度、毛坯、DFM、加工工时、路线或装夹次数。

### 2. 加工路线与装夹

- `machining.route_recommendation` 只给一个最终建议：`three_axis`、`mill_turn` 或 `five_axis`；
- 不再同时输出推荐路线、实际采用路线、候选路线、时间口径或人工报价原因；
- 内部已选中可执行三轴时，只用顶层 `machining.setup_count` 返回一份机器学习装夹次数，并附置信度和模型验证状态。

`mill_turn`、`five_axis` 或没有有效三轴装夹次数时，不得编造装夹次数或价格。

### 3. H2 加工工时

- H2 原始刀路总工时；
- 服务实际返回的阶段工时（规划最多六阶段）；
- 孔加工、粗加工、精加工、倒角去毛刺四类 CNC 工时。

四类 CNC 工时是同一总工时的分类视图，不是额外工时。不要把它们再与 H2 总工时或阶段工时相加。缺少某个阶段或分类时，应明确说“未返回”，不能补造数据。

### 4. DFM 与 3D

- 结构化 DFM 风险等级、位置、说明和建议；
- 与风险关联的 3D 节点；
- 3D 预览和缩略图状态及链接。

DFM warning 不会自动阻断工时分析，但回答时应醒目标出。

## 怎么读取部分成功结果

一个批次可能返回 `completed_with_gaps`。这表示部分组件已经成功，不等于完整成功。Agent 必须分别保留：

- `geometry`
- `dfm`
- `machining`
- `preview`

每个组件自己的状态和错误码。不要因为 3D 成功就声称工时也成功，也不要因为 DFM 缺失而隐藏已经完成的几何结果。

如果用户只想继续查看某一部分，可在现有批次上提取，不要重新上传：

```bash
immake analyze status <batch-id> --extract overview
immake analyze status <batch-id> --extract geometry
immake analyze status <batch-id> --extract stock
immake analyze status <batch-id> --extract machining
immake analyze status <batch-id> --extract route
immake analyze status <batch-id> --extract dfm
immake analyze status <batch-id> --extract preview
```

`--extract`、`--compact-json` 和 `--json` 互斥，不能同时使用。
紧凑与完整 JSON 都保留服务端 `request_id`，用于关联 Edge、API、Forge 和最终结果证据。

## 认证自动估算报价

公开分析结果和分享链接不包含价格。报价请求固定使用 `geometry + dfm + machining`，金额只由服务端结合网页后台的版本化费率计算。Agent 不得要求用户在聊天中粘贴商业费率，也不得自行推算金额。

```bash
immake quote \
  --item "/absolute/path/a.step" --quantity 10 --material 6061 \
  --item "/absolute/path/b.step" --quantity 25 --material 304 \
  --compact-json
immake quote status <quote-id> --wait --compact-json
```

自动报价只在以下条件全部满足时生成金额：

1. `geometry.solid_count` 缺失或等于 `1`，且没有 `MULTI_SOLID_UNSUPPORTED`；
2. `machining.route_recommendation == three_axis` 且路线可执行；
3. 四类 CNC 工时完整并与总工时一致；
4. 有有效的正整数 `machining.setup_count`；
5. 有明确提供或可信 resolved 的毛坯与重量；
6. 对应材料费率已在默认或 Pro 私有费率卡中配置。

Free 使用默认费率但不能查看单位费率；Pro 可在账户后台创建私有费率。缺少默认费率或材料费率时，引导用户到后台配置，不要在聊天中询问数值。`mill_turn`、`five_axis`、人工报价或关键证据缺失时只返回拒绝原因，不得猜价格。DFM 风险随金额返回但不自动调整报价。

旧版 `immake cost-profile` 本机文件和命令继续保留，但新 `quote` 永远忽略它，安装与更新也不会覆盖它。

## 安装完成后应怎样回复用户

安装 Agent 不应只回复“安装完成”。建议回复：

```text
Immake 制造分析 Skill 已安装并通过连通性检查。

你现在可以选中一个 STEP/STP 或受支持的原生 CAD 单零件文件，直接问我它能不能加工、尺寸和毛坯是多少、建议三轴、车铣还是五轴、需要几次装夹、H2 工时和 DFM 风险如何。我只会读取你明确指定的文件，不会扫描目录或相邻文件。

公开分析不包含商业字段。需要价格时，我可以通过 immake quote 使用你在网页后台配置的费率生成自动估算报价；我不会在聊天中收集费率，也不会自行推算金额。
```

用户没有要求估价时，不要阻塞安装去追问费率。

## 更新与排查

更新 CLI 并刷新 Skill：

```bash
immake update --agent codex --json
```

Claude Code 使用 `--agent claude`。更新不会覆盖已有旧版 `cost-profile`。

安装或连接失败时依次检查：

```bash
node --version
npm view @immake/cli version
immake doctor --json
immake --help
```

默认制造分析服务为 `https://api.immake.com`，结果页面为 `https://app.immake.com`，npm 包为 `@immake/cli`，Skill 名称为 `immake`。

---

## English quick install

Requires Node.js 20 or later:

```bash
npm install -g @immake/cli@latest
immake install --agent codex --json
immake doctor --json
```

Use `--agent claude` for Claude Code and `--agent all` only when both targets are explicitly requested. After installation, analyze only explicitly selected supported single-part CAD files. Never scan directories or adjacent files. Immake returns geometry, minimum and actual stock, H2 raw toolpath time, one `three_axis`/`mill_turn`/`five_axis` recommendation, applicable three-axis setup prediction, DFM and 3D preview. A multi-solid file returns its solid count, aggregate dimensions, additive total solid volume, preview, and `MULTI_SOLID_UNSUPPORTED`. Public analysis contains no commercial fields. For pricing, use authenticated `immake quote` with per-item quantity and material; the server applies website-configured rates and the Agent never calculates an amount itself.
