69 lines
2.2 KiB
Markdown
69 lines
2.2 KiB
Markdown
# 步骤 1b:入口点与执行流程
|
||
|
||
确定应用程序的启动方式以及真实用户如何调用它。利用 `pixie_qa/00-project-analysis.md` 中的**能力清单**来确定优先级——专注于那些发挥最有价值、最常用能力的入口点,而不是仅仅找到第一个就结束。
|
||
|
||
---
|
||
|
||
## 调查内容
|
||
|
||
### 1. 软件的运行方式
|
||
|
||
入口点是什么?如何启动它?是 CLI、服务器还是库函数?需要哪些参数、配置文件或环境变量?
|
||
|
||
查找以下内容:
|
||
|
||
- `if __name__ == "__main__"` 代码块
|
||
- 框架入口点(FastAPI `app`、Flask `app`、Django `manage.py`)
|
||
- `pyproject.toml` 中的 CLI 入口点(`[project.scripts]`)
|
||
- 可揭示启动命令的 Docker/compose 配置
|
||
|
||
### 2. 真实用户入口点
|
||
|
||
真实用户或客户端如何调用该应用?评估必须测试的是这个——而不是绕过请求管道的内部函数。
|
||
|
||
- **Web 服务器**:哪些 HTTP 端点接受用户输入?使用什么方法(GET/POST)?请求体的结构是怎样的?
|
||
- **CLI**:用户提供哪些命令行参数?
|
||
- **库/函数**:调用方导入并调用哪个函数?有哪些参数?
|
||
|
||
### 3. 环境与配置
|
||
|
||
- 应用需要哪些环境变量?(服务端点、数据库 URL、功能开关)
|
||
- 它读取哪些配置文件?
|
||
- 哪些有合理的默认值,哪些必须显式设置?
|
||
|
||
---
|
||
|
||
## 输出:`pixie_qa/01-entry-point.md`
|
||
|
||
将调查结果写入此文件。保持聚焦——仅包含入口点和执行流程。
|
||
|
||
### 模板
|
||
|
||
```markdown
|
||
# 入口点与执行流程
|
||
|
||
## 运行方式
|
||
|
||
<启动应用的命令、必需的环境变量、配置文件>
|
||
|
||
## 入口点
|
||
|
||
- **文件**:<例如 app.py、main.py>
|
||
- **类型**:<FastAPI 服务器 / CLI / 独立函数 / 其他>
|
||
- **框架**:<FastAPI、Flask、Django、无>
|
||
|
||
## 面向用户的端点 / 接口
|
||
|
||
<针对用户与应用程序交互的每种方式:>
|
||
|
||
- **端点 / 命令**:<例如 POST /chat、python main.py --query "...">
|
||
- **输入格式**:<请求体结构、CLI 参数、函数参数>
|
||
- **输出格式**:<响应结构、stdout 格式、返回类型>
|
||
|
||
## 环境要求
|
||
|
||
| 变量 | 用途 | 是否必需 | 默认值 |
|
||
| -------- | ------- | --------- | ------- |
|
||
| ... | ... | ... | ... |
|
||
```
|