docs: god - 补齐 Pi 启动与输入位置说明 (#229)

This commit is contained in:
tradecatlabs
2026-10-23 23:12:56 +08:00
committed by GitHub
parent e3d8a91898
commit 6fa84612f8
3 changed files with 26 additions and 3 deletions
+1 -1
View File
@@ -19,7 +19,7 @@
- `god.md` 本身就是给网页版 Chat AI 的完整提示词:文件头要求用户全文复制并逐轮互动;网页 AI 首轮简短说明路线;系统不明时才问系统,已提供的系统/终端信息直接复用;实际终端未确认或未就绪时指导打开/确认本机终端(Android 使用 Termux),若用户尚无检查结果且系统、实际终端已明确且已打开,可直接安排 M0 只读版本检查;已回报目标终端的版本号则复用证据并跳过,已回报错误则按对应错误分支处理、不重复初始检查(仅允许明确规定的条件性重试);Android/Termux 按 Pi 官方 Termux 指南引导,不套用桌面安装命令。再从 M0 引导到 M4,按需检查/安装 Pi CLI、准备网络、连接 OpenAI GPT、验证本机 Bash;若 CLI 已验证可用则跳过安装专用网络检查与安装步骤。安装阶段只核对当前安装路线所需目标,不逐项探测未触发的安装源;短网络探测须设置连接和总时限,并说明超时不等于不可达;OpenAI 模型网络检查仅在 M4.1 按所选登录路线与实际故障执行;Pi 的 OpenAI GPT 路线区分 ChatGPT 订阅 OAuth(provider `openai-codex`)和 OpenAI API Key,不得将 ChatGPT 订阅等同 API 额度;用户另选本地模型时按请求可另行指导,但不计作 OpenAI GPT 验证或满足完成标准第 2 项;仅 API Key 路线可探测 `api.openai.com`,订阅 OAuth 不用该端点代测。安装路线默认优先对应系统的官方安装器,且每轮只展示一条当前路线。必须等全部完成标准有真实证据后才报告完成,不得停在版本号、模型回答或单次命令检查。网页 AI 只核对用户回报,不能冒充本机执行。Chat/Work 是使用方式的教学分类,不是 Pi 的正式模式;本文完成范围限 Pi CLI、OpenAI GPT 与本机 Bash 通路,不承诺所有扩展、项目任务或自动化,不另维护重复提示词或项目开发步骤。
- `god.md` 使用正常 Markdown 排版,标题、段落和链接直接渲染;仅命令和对话示例保留独立代码块,不用外层围栏包住全文。整篇使用 GitHub 文件页右上角的原生全文复制按钮。移除折叠标签、HTML 锚点和页内章节链接;入站链接及历史重定向直接指向 `god.md`,文集链接不生成失效片段。修改时保留经文、操作流程、安全边界和完成标准。经文仅用已核验的《圣经》和合本简体(CUVS)原句,注明书卷、章节、版本与原页;连续节录须注明,不拼接或改写。保留原语境,技术对应另作说明,不以引用或比喻增加执行授权、权限或效果承诺。
- 安装方式、Node.js 版本要求、系统支持和 provider 流程以 Pi 当前官方文档与安装入口为准;链接及命令须明确系统、终端、影响和成功判断。官方资料未说明的内容标为未知,不猜测。
- 区分 `pi --version`、模型授权/可用和项目任务完成;不把 CLI 安装说成模型已接通或项目环境已就绪。
- 区分 `pi --version`、模型授权/可用和项目任务完成;不把 CLI 安装说成模型已接通或项目环境已就绪。模型授权前,M4.0 先说明目录资源加载、会话保存与信任提示的影响,再引导用户在目标终端用 `pi` 进入交互界面;`/login`、`/model` 和问题在 Pi 输入框而非系统终端或网页版 AI 输入。已有目标目录的 Pi 会话直接复用,M4.2 不要求重新启动;空目录不是沙箱。
- 不把 WSL、Git、Python、编辑器、代理或项目依赖设为 Pi CLI 安装的通用前置条件。Windows 原生 Git Bash 是内置 Bash 工具的命令环境,不是 CLI 安装本身的要求。
- 可达网络是 Pi 安装/更新和 OpenAI 云端 GPT 路线的基础条件;提示词按用户选择的订阅 OAuth 或 API Key 路线确认实际目标可达,再安装或登录。普通网络可达时跳过代理;只在具体官方分发源或模型服务确实不可达时,才逐步处理网络配置。FlClash 与历史服务商注册链接仅为条件路线,须标明来源和未核验边界;注册链接不是个人订阅链接,个人订阅 URL 属于凭据,只能由用户在本机 FlClash 导入。用户选择 FlClash 路线后,默认目标配置为开启 TUN、系统代理和全局模式;启用前说明流量路由范围、隐私与网络影响、权限和恢复路径,等待用户确认;用户拒绝时不得报告该路线已完成。不默认购买服务。关闭 TLS 或使用非官方源一律不作为排障方案。
- 不要求用户把密码、API Key、Token、cookie、订阅链接或私钥贴给网页 AI。Pi 以启动账户权限运行,不是安全沙箱;提醒用户不要用管理员/root 启动并审阅实际命令与改动。
+13 -1
View File
@@ -118,6 +118,18 @@ irm https://pi.dev/install.ps1 | iex
>
> 经文原在说明教会中恩赐、职事与功用的分别;这里分别核实模型回答与工具执行,不以一项代替另一项。
### M4.0:进入 Pi 交互界面
按[Pi Quickstart](https://pi.dev/docs/latest/quickstart),先让用户选择并切换到空目录或非敏感目录;需要创建目录时先说明影响并等用户决定。目录准备、启动和模型授权分轮处理。先说明 Pi 可能加载目录指令、配置与扩展,并保存会话,等待用户决定后再启动。此举只降低当前目录/项目上下文风险,不是沙箱,也不限制 Pi 访问当前账户可访问的其他路径(见[Pi Security](https://pi.dev/docs/latest/security))。不自动批准目录信任提示;先解释提示涉及的资源,再等用户自行决定。
若用户尚未在该目录进入 Pi,让其在 M3 已验证可用的目标终端单独运行:
```text
pi
```
等用户看到 Pi 的对话界面和输入框后再进入 M4.1;若已在该目录的 Pi 会话中,直接复用,不重复启动。`pi` 用于打开交互界面,`pi --version` 只显示版本;下文的 `/login`、`/model` 和问题均在 Pi 输入框中输入,不是在系统终端或网页版 Chat AI 中运行。若启动失败,只请用户回报简短脱敏错误摘要,按真实错误排查,不盲目重装。
### M4.1:验证对话能力
本提示词的云端主路线是 OpenAI GPT;Pi 的 `/login` 可使用两条不同的登录路线:ChatGPT 订阅 OAuth 与 OpenAI API Key。先询问用户希望使用且有权使用哪条路线;若不确定,说明订阅 OAuth 使用其账号可用的订阅额度,API Key 则使用单独的 API 账户与计费,再等用户选择。模型可用性、额度与费用按用户账号、Pi 当前提供方列表和 OpenAI 规则核对;两条路线彼此独立,不静默切换。[ChatGPT 网页订阅不等于 OpenAI API 额度](https://help.openai.com/en/articles/9039756-managing-billing-for-chatgpt-and-the-api-platform)。
@@ -137,7 +149,7 @@ irm https://pi.dev/install.ps1 | iex
>
> 原文处于关于圣灵感动与先知讲论的劝勉中;这里以真实工具调用为证,不把模型自称完成当作执行。
模型能回答后,建议用户在空目录或非敏感目录启动 Pi。此举只降低当前目录/项目上下文风险,不是沙箱,也不限制 Pi 访问当前账户可访问的其他路径(见[Pi Security](https://pi.dev/docs/latest/security))。再让用户在 Pi 对话中发送:
沿用 M4.1 已验证模型的 Pi 会话,不为工具验证重新启动;让用户在 Pi 输入框中发送:
```text
请只通过当前可用的本机 Bash 工具运行这一条只读命令:printf 'local shell OK\n'
+12 -1
View File
@@ -305,6 +305,13 @@ class SourceArchiveTest(unittest.TestCase):
'启用前须说明流量路由范围、隐私影响和恢复方式',
'用户拒绝或当前界面/系统不支持时',
'也不得报告网络路线已完成',
'### M4.0:进入 Pi 交互界面',
'先说明 Pi 可能加载目录指令、配置与扩展,并保存会话,等待用户决定后再启动。',
'等用户看到 Pi 的对话界面和输入框后再进入 M4.1',
'若已在该目录的 Pi 会话中,直接复用,不重复启动。',
'`/login`、`/model` 和问题均在 Pi 输入框中输入,不是在系统终端或网页版 Chat AI 中运行。',
'沿用 M4.1 已验证模型的 Pi 会话,不为工具验证重新启动',
'不自动批准目录信任提示',
'Pi 的 `/login` 可使用两条不同的登录路线',
'`OpenAI (ChatGPT subscription)`',
'`openai-codex`',
@@ -337,12 +344,16 @@ class SourceArchiveTest(unittest.TestCase):
self.assertNotIn('curl.exe -i https://api.openai.com/v1/models', prompt)
self.assertLess(prompt.index('## 字多不看'), prompt.index('## 给网页版 Chat AI 的任务'))
self.assertLess(prompt.index('## M1:网络环境'), prompt.index('## M2:预备行各样的善事'))
self.assertLess(prompt.find('### M4.0:进入 Pi 交互界面'), prompt.find('\npi\n'))
self.assertLess(prompt.index('\npi\n'), prompt.index('### M4.1:验证对话能力'))
self.assertNotIn('模型能回答后,建议用户在空目录或非敏感目录启动 Pi。', prompt)
self.assertEqual(
[(token.info, token.content) for token in tokens if token.type == 'fence'],
[
('text', 'pi --version\n'),
('bash', 'curl -fsSL https://pi.dev/install.sh | sh\n'),
('powershell', 'irm https://pi.dev/install.ps1 | iex\n'),
('text', 'pi\n'),
('text', "请只通过当前可用的本机 Bash 工具运行这一条只读命令:printf 'local shell OK\\n'\n"
'不要运行其他命令、读取文件、创建或修改文件、访问网络。只返回结果;若工具不可用,请直接说明。\n'),
],
@@ -354,7 +365,7 @@ class SourceArchiveTest(unittest.TestCase):
'href="https://www.biblegateway.com/passage/?search=John%201%3A14&version=CUVS"'):
with self.subTest(rendered_markdown=rendered):
self.assertIn(rendered, html)
self.assertEqual(html.count('<pre>'), 4)
self.assertEqual(html.count('<pre>'), 5)
self.assertTrue({'道成了肉身', 'm0检查现状', '官方资料'}.issubset(
book_views._links.markdown_anchors(Path(__file__).with_name('god.md'))))
self.assertEqual(book_views.relocated('.github/god.md', 'milestone-2'), ('.github/god.md', ''))