Files
2026-07-13 21:35:56 +08:00

2.2 KiB
Raw Permalink Blame History

步骤 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

将调查结果写入此文件。保持聚焦——仅包含入口点和执行流程。

模板

# 入口点与执行流程

## 运行方式

<启动应用的命令、必需的环境变量、配置文件>

## 入口点

- **文件**<例如 app.py、main.py>
- **类型**<FastAPI 服务器 / CLI / 独立函数 / 其他>
- **框架**<FastAPI、Flask、Django、无>

## 面向用户的端点 / 接口

<针对用户与应用程序交互的每种方式:>

- **端点 / 命令**<例如 POST /chat、python main.py --query "...">
- **输入格式**:<请求体结构、CLI 参数、函数参数>
- **输出格式**<响应结构、stdout 格式、返回类型>

## 环境要求

| 变量 | 用途 | 是否必需 | 默认值 |
| -------- | ------- | --------- | ------- |
| ...      | ...     | ...       | ...     |