# @aid-framework/generator-py-fastapi 中文文档

规范地址：https://npmcn.com/package/%40aid-framework/generator-py-fastapi/

版本：0\.1\.98
npm 元数据更新时间：2026-11-03T07:46:55.212Z
中文译文更新时间：2026-11-06T01:13:15.196Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aid-framework/generator-py-fastapi
原文对照：https://npmcn.com/package/%40aid-framework/generator-py-fastapi/?lang=original
源码仓库：https://github.com/aid-framework/aid-framework

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1 MB，148 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=24
- 运行依赖：3 个
- 首次发布：2026-10-31T15:13:44.321Z
- 最新版本发布：2026-11-03T07:46:54.874Z
- 近 30 天下载量：10703（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：52（近 12 个月 52 个）

## 中文简介

AID Framework py-fastapi目标生成器:将IR变成一个薄快的FastAPI应用程序,在运行时将它所做的一切与Aid-runtime-python库相接.

## 安装

```sh
npm install @aid-framework/generator-py-fastapi
```

也可以使用：`pnpm add @aid-framework/generator-py-fastapi`、`yarn add @aid-framework/generator-py-fastapi`、`bun add @aid-framework/generator-py-fastapi`

## README

# `@aid-framework/generator-py-fastapi`

Python 目标为 [AID 框架](https://github.com/aid-framework/aid-framework)它将IR编译为 FastAPI 服务,其行为居住在 [`aid-runtime-python`](https://pypi.org/project/aid-runtime-python/), (中文(简体) ), 他们的提示和工具处理者生活在 `business/` 分级编译器从不触及.

```text
app.spec.yaml ──aid gen──▶ app/generated/  (compiler)
                           app/business/   (you)
```

## 安装

```sh
npm install --save-dev @aid-framework/generator-py-fastapi
```

要求节点.js 24或更新. 在实践中你把它拉进来 [`@aid-framework/cli`](https://www.npmjs.com/package/@aid-framework/cli),这也是节点.

## 用这个

宣布目标,然后生成:

```yaml
project:
  name: support-copilot
  targets:
    - py-fastapi
```

```sh
npx aid gen
```

```text
py-fastapi: 16 created, 0 updated, 0 unchanged, 0 kept
```

没有 `--target`, (中文(简体) ), `aid gen` 发布第一个目标 spec 声明, 因此一个 Python 唯一的项目从不用命名 它自己的目标.

## 发出什么

| 路径 | 目录 |
| --- | --- |
| `app/generated/__init__.py` | 软件包标记 |
| `app/generated/deps.py` | FastAPI 应用对象和依赖线 |
| `app/generated/requests.py` | 每条HTTP服务管道请求模型 |
| `app/generated/schemas.py` | 源自IR的活性模型 `types` |
| `app/generated/gateway/models.py` | `ModelSpec` 来自IR的值和被标注的别名 |
| `app/generated/observability.py` | 跟踪器设置 |
| `app/generated/contracts/` | 每个业务单元必须满足的协议 |
| `app/generated/pipelines/` | 每个管道一个模块:步骤接线,作为普通的合成码 |
| `app/generated/prompts/` | IR提示的登记结果 |
| `app/generated/tools/` | 工具定义和发送 |
| `app/generated/evals/` | Eval 数据集和门阈值 |
| `app/generated/routes/` | 管道的HTTP路线 `http` 触发 |
| `app/business/`, (中文(简体) ), `app/business/prompts/`, (中文(简体) ), `app/business/tools/` | 你的接缝——曾经创造过,但从未触碰过 |

精确文件集遵循 spec: 宣告没有检索器的 spec 释放出没有检索模块的 spec, 以及 spec 没有 HTTP 触发器, 没有发射路径 .

### 为它服务

生成器拥有路径;应用程序决定挂载什么以及如何运行. 这个切入点是 手写—— `app/main.py`数字 :

```python
from fastapi import FastAPI

from app.generated.routes.answer_ticket import answer_ticket_router

app = FastAPI(title="support-copilot", version="0.1.0")
app.include_router(answer_ticket_router)
```

```sh
pip install aid-runtime-python "fastapi>=0.115,<1" "uvicorn>=0.30,<1"
uvicorn app.main:app --reload
```

`deps.py` 提供 `build_deps()` 财务报告和审定财务报表 `get_deps()` ——网关全过程集装箱,即时登记 和工具执行器。 它不创建 ASGI 应用程序 : 安装是您的, 所以再生不能带走它 .

发电机从不写 `main.py` 或一个 `pyproject.toml`,因为包装和安装是应用 裁决而不是具体内容.

## 能力

清单宣布了这个目标能达到的目标 以及IR `capability` 门拒绝需要的光谱 其它东西:

```text
http-trigger, json-schema, streaming, tool-calling, otel,
embeddings, rerank, guardrails, agents, cursor-memory
```

它发出反对 **活泼** 用于结构化产出和 **`otel-genai`** 用于追踪.

宣布一种能力并不是声称该部分的每个字段都是可以表示的。 声明此目标 不能在代代相传时拒绝荣誉,而不能默默放弃.

## 这个 `business/` 连接

里面的东西 `generated/` 替换在下一个 `aid gen`。 。 。 . `business/` 只有在缺失且是 永不再写——这就是提示,工具处理器和域逻辑归属的地方.

`app/generated/contracts/` 是两者之间的合同:它宣布每个业务单元必须提供什么,所以 缺少或错误命名的处理器是编辑器中的类型错误,而不是生产中的例外.

## 决定主义

鉴于相同的IR,此生成器输出字节同同同的输出——没有时间戳,没有绝对路径,没有主机 名称。 这就是为什么 `generated/` 可调和的金色文件测试是有意义的,它由 发电机本身的测试 而不是通过常规.

## 程序使用

```ts
import { PACKAGE, TARGET, manifest, plan } from '@aid-framework/generator-py-fastapi';
import type { Generator } from '@aid-framework/generator-sdk';
```

发电机满足了 `Generator` 合同来源 [`@aid-framework/generator-sdk`](https://www.npmjs.com/package/@aid-framework/generator-sdk)数字 : `plan(ir)` 纯洁 财务报告和审定财务报表 `emit(plan)` 返回文件集,由 SDK 提供所有再生安全.

## 相关软件包

-   [`aid-runtime-python`](https://pypi.org/project/aid-runtime-python/) —— 输出代码导入的运行时间
-   [`@aid-framework/runtime`](https://www.npmjs.com/package/@aid-framework/runtime) —— TypeScript 运行时间
-   [`@aid-framework/generator-ts-vercel`](https://www.npmjs.com/package/@aid-framework/generator-ts-vercel) - 那个 类型脚本目标
-   [`@aid-framework/cli`](https://www.npmjs.com/package/@aid-framework/cli) —— 说 `aid`

## 许可证

[阿帕奇 - 2.0](https://github.com/aid-framework/aid-framework/blob/main/LICENSE)。由 AID 框架生成的代码是 不受该许可证的限制.

## 常见问题

### @aid-framework/generator-py-fastapi 是什么？

AID Framework py-fastapi目标生成器:将IR变成一个薄快的FastAPI应用程序,在运行时将它所做的一切与Aid-runtime-python库相接\.

### 如何安装 @aid-framework/generator-py-fastapi？

在项目目录运行 npm install @aid-framework/generator-py-fastapi，或使用 pnpm add / yarn add / bun add。

### @aid-framework/generator-py-fastapi 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @aid-framework/generator-py-fastapi 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @aid-framework/generator-py-fastapi 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @aid-framework/generator-py-fastapi 可以商用吗？

@aid-framework/generator-py-fastapi 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @aid-framework/generator-py-fastapi 的下载量有多少？

根据 npm 官方下载统计，@aid-framework/generator-py-fastapi 在 2026/10/06 – 2026/11/04 这 30 天内被下载 10,703 次，日均约 357 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aid-framework/generator-py-fastapi 还在维护吗？

最新版本 0\.1\.98 发布于 2026/11/03（2 天前）；至今共发布 52 个版本，其中过去 12 个月发布了 52 个；首次发布于 2026/10/31。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

