@cobia/pi-sequel0.2.2
在当前 pi 中创建新会话,并自动发送提示词
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
♾️ pi-sequel
pi 扩展:在当前 pi 里开一个空的新会话,并自动发送一条带旧 session ID 的提示词,让模型接着做原来的任务
新会话不复制聊天记录。旧 session ID 只是提示词里的一段文字,模型要用它可用的会话检索工具去读旧会话。默认沿用当前的模型和思考等级,也可以在命令或快捷配置里指定模型、思考等级和提示词
📦 安装
pi install npm:@cobia/pi-sequel
安装后重新打开 pi 或执行 /reload,再输入 /sequel status,能看到当前会话的状态就说明扩展已加载
💬 使用
创建新会话
/sequel run
pi 切换到一个空的新会话,并发送 继续执行 session <旧 ID> 的任务。只输入 /sequel 会打开菜单,里面有同样的操作;取消菜单不做任何事
- 新会话沿用当前的工作目录和会话存储方式。用
--no-session启动时,新会话同样只保存在内存里 - 模型正在运行时,sequel 会让你选择等它完成后切换、中止后切换,还是取消。参数、快捷配置和目标模型在这之前检查,有错直接报错,不会中止正在运行的任务
- 其他扩展可以取消新建会话,这时停留在原会话
- 创建、预览和查询只在终端交互模式下可用。其他模式下
/sequel和--help仍然显示用法
菜单
输入 /sequel 回车,菜单显示命令名和中文说明:
♾️ sequel · 连续切换 0/5
run 创建新会话并继续任务
preview 预览切换及字段来源
shortcut … 使用和查看快捷配置
status 查看会话状态及配置诊断
reset-count 清零连续切换计数
--help 显示命令帮助
用上下键选择、回车确认,Esc 取消;按键跟随 pi 的设置。shortcut 打开快捷配置子菜单,其他项目直接执行对应命令
标题在每次打开时读取当前状态:达到上限会标明,配置有误会提示用 /sequel status 查看详情。菜单仍可打开,预览、状态、帮助和清零按各自命令的规则执行
指定模型和思考等级
在动作后面写 字段=值:
/sequel run model=M
/sequel run provider=P model=M thinking=high
/sequel run provider=openrouter model=anthropic/claude-sonnet-4-5
P 和 M 换成已配置的供应商和模型 ID。model 只填模型 ID,ID 里自带的斜杠原样保留;供应商用 provider 指定
| 指定的字段 | 目标模型 |
|---|---|
| 都不指定 | 当前模型 |
只有 model |
当前供应商里的这个模型 |
只有 provider |
该供应商里与当前模型 ID 相同的模型;没有就报错,需要同时指定 model |
| 两者都有 | 该供应商里的这个模型 |
模型先按 ID 精确匹配。没有精确匹配时,按 ID 或名称里的关键词查找,匹配到多个就报错并列出候选
思考等级可以是 off、minimal、low、medium、high、xhigh、max,不指定时沿用当前等级。目标模型不支持这个等级时,sequel 会调整到它支持的等级并提示
按 Tab 补全字段名和可用的值,按前缀匹配,区分大小写。thinking 只列出目标模型支持的等级,不支持推理的模型只有 off
模型选择只作用于新会话,不改旧会话,也不改全局默认模型。换供应商时使用目标供应商自己的凭据,启动参数 --api-key 只对原供应商有效
自定义提示词
/sequel run prompt=接着完成测试
/sequel run prompt=继续{parentSessionId}的任务 model=M
命令里的提示词不能含空格、引号、换行或等号,也没有转义。更长的提示词写在 sequel.json 的 promptTemplate 或快捷配置的 prompt 里,那里没有这些限制
提示词按 命令 prompt > 快捷配置 prompt > promptTemplate > 内置默认值 的顺序取第一个有值的。都可以使用下面的变量:
| 变量 | 内容 |
|---|---|
{parentSessionId} |
旧会话 ID |
{parentSessionFile} |
旧会话文件路径;--no-session 时为空字符串 |
{sessionId} |
新会话 ID |
变量替换出来的内容不会再次展开,其他花括号原样保留
提示词按普通用户消息发送:其中的 /命令 不会执行,pi 的技能和提示词模板也不会展开
快捷配置
把常用的模型、思考等级和提示词组合起名,保存在 sequel.json 的 shortcut 里:
{
"shortcut": {
"review": {
"description": "代码审查",
"provider": "openrouter",
"model": "anthropic/claude-sonnet-4-5",
"thinking": "high",
"prompt": "检查 session {parentSessionId} 的改动。\n重点关注缺陷和测试。"
},
"test": {
"description": "继续完成测试",
"prompt": "继续执行 session {parentSessionId} 的任务,补齐并运行测试"
}
}
}
| 字段 | 含义 |
|---|---|
description |
列表和补全里显示的说明 |
provider |
目标供应商 |
model |
模型 ID |
thinking |
思考等级 |
prompt |
提示词模板 |
字段都可以省略,写了就必须是非空字符串。上面的 test 只改提示词,模型和思考等级沿用当前的
名称以字母或数字开头,后面只能是字母、数字、下划线或连字符,可以用中文。名称也可以和命令词相同:/sequel shortcut run list 执行名为 list 的配置
/sequel shortcut
/sequel shortcut list
/sequel shortcut show review
/sequel shortcut run review
/sequel shortcut run review thinking=low prompt=只检查测试
/sequel shortcut preview review
| 动作 | 内容 |
|---|---|
| 不带动作 | 打开快捷配置菜单 |
list |
每条配置的名称、说明、供应商和模型,不显示提示词全文;无效的条目标出原因 |
show NAME |
保存的完整配置,没写的字段标为继承;不要求目标模型或凭据当前可用 |
run NAME |
用这组配置创建新会话,后面可以加字段临时覆盖 |
preview NAME |
做同样的覆盖和检查,但只显示最终值和来源 |
快捷配置菜单固定显示动作,标题显示有效、无效条目数量;没有配置时显示“尚未配置”:
♾️ sequel · 快捷配置:2 个有效,0 个无效
list 列出快捷配置摘要及错误
show 查看保存的完整配置
run 使用快捷配置创建新会话
preview 预览快捷配置的最终值及来源
--help 显示快捷配置帮助
选中 list 或 --help 直接执行。选中 show、run 或 preview 后,输入框填入对应命令前缀,例如 /sequel shortcut run,末尾附带一个空格;按 Tab 选择名称,可继续填写临时覆盖字段,再回车执行。菜单不自动选择名称或执行切换,取消菜单不改输入框
名称紧跟在动作后面、字段赋值前面,一次一个,必须完整一致,区分大小写
每个字段分别按 命令字段 > 快捷配置 > 当前模型、思考等级和默认提示词 取值。临时覆盖不改配置文件,也不会被记住。只覆盖 provider 时,快捷配置里的 model 仍然生效,会到新供应商里找这个模型;要换模型就同时指定 model
run 和普通切换一样会在模型运行时询问,也计入连续切换上限。名称找不到、配置无效、目标模型无效或缺少凭据时报错,不会退回默认切换。模型和凭据只在 run 和 preview 时检查,所以配置里可以保存当前不可用的模型
Tab 补全 run 和 preview 的名称时只列有效的配置,show 还会列出字段有错的配置,方便查看错误
预览
/sequel preview model=M thinking=high
/sequel shortcut preview review thinking=low
显示来源会话、目录、目标模型、思考等级和提示词,并标出每个字段来自命令、快捷配置、当前会话、promptTemplate 还是内置默认值。思考等级被调整时,同时显示请求的和实际的等级
预览、list、show 和 status 都只读:不创建会话,不请求模型,不改变连续切换计数
连续切换上限
中间没有用户输入的连续切换最多 5 次,上限可用 maxConsecutiveSwitches 修改。达到后 run 和 shortcut run 报错停止,预览不受影响
发送一条普通消息、执行 /sequel reset-count 或重新加载扩展会把计数清零,sequel 自动发送的提示词不会
📝 配置文件
可选文件 ~/.pi/agent/sequel.json。设置了 PI_CODING_AGENT_DIR 时在那个目录下,实际路径见 /sequel status。只有这一份用户级配置,不支持 --scope
{
"promptTemplate": "继续执行 session {parentSessionId} 的任务",
"maxConsecutiveSwitches": 5,
"shortcut": {}
}
上面是默认值,文件不存在或字段省略时使用
| 字段 | 含义 |
|---|---|
promptTemplate |
默认提示词模板,非空字符串,支持变量 |
maxConsecutiveSwitches |
连续切换上限,正整数 |
shortcut |
按名称组织的快捷配置 |
配置在每次用到时重新读取,改完不用重载
配置有错时,影响范围取决于错在哪里:
- 整份文件有问题(不是合法 JSON、有未知的顶层字段、
promptTemplate或maxConsecutiveSwitches的值不合法、shortcut不是对象):创建、预览和快捷配置的查询、执行都报错。菜单仍可打开并提示配置有误;/sequel status显示当前会话和错误原因,--help和reset-count照常可用 - 某一条快捷配置有问题(未知字段、名称或值不合法):只有这一条不能用,其他配置和普通切换不受影响。
shortcut list和status显示原因,shortcut show NAME显示错误和保存的原始内容。名称本身不合法的条目没法用命令指定,只能直接改文件
🧰 命令参考
| 命令 | 行为 |
|---|---|
/sequel |
打开菜单 |
/sequel run [字段=值 ...] |
创建新会话 |
/sequel preview [字段=值 ...] |
预览切换 |
/sequel status |
显示当前会话、模型、配置文件路径、连续切换次数和配置错误 |
/sequel reset-count |
清零连续切换计数 |
/sequel shortcut |
打开快捷配置菜单 |
/sequel shortcut list |
列出快捷配置 |
/sequel shortcut show NAME |
查看保存的配置 |
/sequel shortcut run NAME [字段=值 ...] |
用快捷配置创建新会话 |
/sequel shortcut preview NAME [字段=值 ...] |
预览快捷配置的最终结果 |
语法
命令按字面解析,不猜测也不纠错:
/sequel后面先跟一个空格,参数之间用空格或 Tab 分隔,多余的分隔符忽略。其他 Unicode 空白不算分隔符- 顺序固定:动作、名称(
shortcut show/run/preview需要)、字段赋值、--help - 字段有
provider、model、thinking、prompt四个,只有run、preview、shortcut run、shortcut preview接受。每个赋值写成字段=值,恰好一个=,两边都不能为空;字段顺序不限,同一字段不能重复 - 不支持引号和换行,反斜杠是普通字符
- 动作、字段名、名称和
thinking的取值都区分大小写
顺序、分隔和赋值形状这类结构错误,只报从左数的第一个。结构没问题后,未知字段、非法值和重复字段一次列全。错误信息带出错位置;出错的命令不读配置,不改变会话和计数
Tab 只补全正在输入的最后一个参数。前面已经写完的部分有错时,不再给出候选。候选中的命令名和说明紧凑对齐,选中后只填入命令本身
帮助
帮助首行用“命令或动作 — 功能说明”的纯文本写法。总帮助只列本层动作、简短说明、常用示例和详细帮助入口;/sequel shortcut --help 只列快捷配置动作。字段、取值规则和完整语法放在具体动作的帮助里,例如 /sequel run --help。帮助按打开时的终端宽度换行,续行保留缩进
唯一的选项是 --help,每个动作都支持:
/sequel --help
/sequel shortcut --help
/sequel shortcut run --help
/sequel run thinking=high --help
--help 只能出现一次,必须在最后。它前面已经写出的部分仍然要合法:/sequel run thinking=bad --help 报字段错误,不显示帮助。带 --help 时必填的名称可以不写,如上面的 /sequel shortcut run --help
prompt=--help 里的 --help 是提示词内容,不是选项
❓ 常见问题
提示找不到模型,或者匹配到多个模型?
用 pi 的 /model 查看模型,填写完整的模型 ID;跨供应商时同时写 provider 和 model。改过 models.json 后用 /model 或 /reload 刷新。候选不受 /scoped-models 限制
提示模型当前不可用?
目标供应商没有可用的凭据时会这样提示,先用 /login 配置。原供应商的启动参数 --api-key 不会转给目标供应商
新会话建好了,但没有自动发送提示词?
新会话里的模型或思考等级没能设成目标值时,sequel 会报错并且不发送提示词,原因见终端里的错误提示。提示词发送失败不会重试,/resume 或 /reload 也不会补发