PI学习笔记

DeepSeek V4 Flash 关闭 Thinking 配置
背景
在 Pi Agent 中使用 DeepSeek V4 Flash 处理托福写作纠错、单词拼写检测、短句改写等低推理、强格式、短输出任务时,开启 thinking 模式纯属浪费延迟和 token,应直接关闭 thinking。
DeepSeek API 层面的关闭方式
DeepSeek V4 系列支持 Thinking / Non-Thinking 双模式,thinking 默认 enabled。关闭方式:
{
"thinking": { "type": "disabled" }
}
API 调用示例:
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
-d '{
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "You are a concise TOEFL writing assistant. Answer directly and briefly."},
{"role": "user", "content": "Check this sentence: I am agree with this idea."}
],
"thinking": { "type": "disabled" },
"temperature": 0.2,
"max_tokens": 300,
"stream": true
}'
Node.js SDK 示例(关键:放到 extra_body 中):
import OpenAI from "openai";
// client 初始化:baseURL 指向 https://api.deepseek.com,
// 鉴权 key 从环境变量 DEEPSEEK_API_KEY 读取,不要把真实 key 硬编码进代码。
const completion = await client.chat.completions.create({
model: "deepseek-v4-flash",
messages: [/* ... */],
temperature: 0.2,
max_tokens: 300,
stream: true,
// 如果 SDK 类型不支持,就放到 extra_body 里
extra_body: {
thinking: { type: "disabled" },
},
});
Thinking Effort 说明
reasoning_effort参数可选值为high/max,文档说明 low 和 medium 会被映射为 high。- 没有真正的 low thinking 模式。要快就直接关掉 thinking,而非调低 effort。
Pi Agent 中的配置方式
Pi Agent 的模型配置在 ~/.pi/agent/settings.json 中,而非 models.json。
当前配置(改造前):
{
"lastChangelogVersion": "0.79.0",
"defaultProvider": "deepseek",
"defaultModel": "deepseek-v4-pro",
"defaultThinkingLevel": "high"
}
推荐最终配置:
{
"lastChangelogVersion": "0.79.0",
"defaultProvider": "deepseek",
"defaultModel": "deepseek-v4-flash",
"defaultThinkingLevel": "off"
}
defaultThinkingLevel 支持的值:off、minimal、low、medium、high、xhigh。
也可以通过 Pi 内部的 /settings 命令交互式修改 thinking level。
任务分流建议
| 任务 | 建议 |
|---|---|
| 单词拼写检测 | 关 thinking |
| 托福写作语法纠错 | 关 thinking |
| 改写一句话 | 关 thinking |
| 生成 45 秒口语答案 | 关 thinking |
| 托福作文评分 + 详细分析 | 可开 thinking,不一定必要 |
| 复杂技术方案 / 代码架构设计 | 可开 thinking |
| Agent / 工具调用 / 多轮任务 | 谨慎开 thinking |
最推荐配置
{
"model": "deepseek-v4-flash",
"thinking": { "type": "disabled" },
"temperature": 0.2,
"max_tokens": 300,
"stream": true
}
配和 system prompt:
Answer directly. Do not explain unless necessary. Keep the response short.
总结
- 不要用
thinkingLevel: "high",也不要用thinkingLevel: "low"(low 实际等效 high)。 - 直接使用
thinkingLevel: "off"。 - 托福写作相关任务是低推理、强格式、短输出场景,开 thinking 纯属浪费延迟和 token。
接入 ChatGPT 订阅跑 GPT-5.6
背景
折腾 Pi 的 ChatGPT 接入,目标是把 ChatGPT Plus/Pro 里包含的 Codex 订阅额度用起来,而不是走 OpenAI API 按 token 单独计费。整理了一份速查命令,重点是几个容易踩的坑。
最常用的启动命令
如果只记一条命令,就记这条:
pi --provider openai-codex --model gpt-5.6-sol --thinking xhigh
三个参数的含义:
--provider openai-codex:走 ChatGPT / Codex 订阅通道;--model gpt-5.6-sol:使用 GPT-5.6 Sol;--thinking xhigh:推理强度拉到 XHigh,适合复杂任务。
日常开发不需要一直这么重,后面讲怎么降档。
最容易踩的坑:provider 选错
Pi 里两种 OpenAI 接入方式不是一回事:
| Provider | 使用方式 | 费用来源 |
|---|---|---|
openai-codex | ChatGPT 账号 OAuth 登录 | ChatGPT / Codex 订阅额度 |
openai | OpenAI API Key | API 按 token 单独计费 |
目的是用订阅额度的话,启动命令里必须是 --provider openai-codex。写成 --provider openai 就会走 API Key 通道,订阅额度用不上,费用还单独算。这一步在启动命令里检查一次就够了,但写错了就是真金白银的问题。
登录方式:直接启动 pi,输入 /login,选择 ChatGPT Plus/Pro (Codex),浏览器里完成授权即可。
模型和推理强度
模型在 Pi 里用 /model 查看和切换,例如 gpt-5.6-sol [openai-codex]。模型 ID 以这个列表为准,不要凭记忆写。
--thinking 控制推理强度(Thinking Level / Reasoning Effort),常见档位是 off / minimal / low / medium / high / xhigh / max,具体可用档位取决于 Pi 版本和所选模型。推荐的分档方式:
| 场景 | 档位 |
|---|---|
| 简单问答、看代码、小改动 | medium |
| Bug 排查、跨文件开发、方案设计 | high |
| 复杂重构、长任务、架构决策 | xhigh |
| 极难问题、对成本和速度不敏感 | max(前提是模型支持) |
推理强度越高,响应越慢,订阅额度也消耗得更快,日常没必要一直拉满。在 Pi 内部可以通过 /settings 里的 Thinking Level 修改,/hotkeys 里能查到对应的快捷键。
看不到 GPT-5.6 的排查
如果 /model 列表里没有 GPT-5.6,或者启动时报 Unknown model: gpt-5.6-sol,大概率不是账号问题,而是 Pi 本身的问题。按这个顺序排查:
pi --version看版本是否过旧;which -a pi看系统里是不是装了多份 Pi——实际执行的可能不是刚升级的那份;npm list -g --depth=0 | grep -i pi确认全局安装的包名;- 升级:
npm install -g @earendil-works/pi-coding-agent@latest; - 升级后执行
hash -r刷新 shell 命令缓存,否则可能还在跑旧的二进制。
这几步之后再看 /model。如果还是没有,才轮到确认账号是否开放了该模型权限,以及模型 ID 是否和列表里完全一致——模型名会随版本变化,以 /model 输出为准,不要抄旧笔记。
用别名固化常用命令
每次输完整命令不现实,直接在 ~/.zshrc 或 ~/.bashrc 里加别名:
alias pim='pi --provider openai-codex --model gpt-5.6-sol --thinking medium'
alias pih='pi --provider openai-codex --model gpt-5.6-sol --thinking high'
alias pix='pi --provider openai-codex --model gpt-5.6-sol --thinking xhigh'
source ~/.zshrc 之后,轻量任务 pim,日常开发 pih,复杂任务 pix,比每次进 /settings 切换方便得多。
总结
- provider 先确认:凡是担心没走订阅额度,先查启动命令里是不是
--provider openai-codex。 - 模型 ID 以
/model为准:报Unknown model时先去看列表,不要凭记忆或旧笔记写。 - 升级后
hash -r+which -a pi:确认跑的是新二进制,避免”明明升级了还是没有新模型”。 - 推理强度按任务分档:日常
high足够,xhigh留给复杂任务,别默认拉满浪费额度。
插件
搜索+识图、KVCache优化: https://www.zhihu.com/question/2044778982793643880/answer/2047077677790656490
资料
PI凭什么比 Claude Code 更省更聪明:预制菜 VS. 自己搭火锅 https://zhuanlan.zhihu.com/p/2043046237939749518
两毛四写一篇文章:用 Pi + DeepSeek 做 Codex 备用方案的体验 https://zhuanlan.zhihu.com/p/2032150226455229977