88 lines
3.9 KiB
Plaintext
88 lines
3.9 KiB
Plaintext
收到,我先不再改代码。下面是根据本次对话记录整理出来的修改清单(仅基于聊天内容,不查看当前文件;如果某条在中途被回滚/覆盖,已在备注里说明)。
|
||
|
||
整体新增/变更汇总(按功能模块)
|
||
|
||
1. 底部状态栏 + 保留空行 ✓
|
||
|
||
- 新增“永久底部状态栏”概念:最底行显示提示信息,上一行留空;输入行位于其上方。
|
||
- 左侧文案在输入时为“输入/查看所有指令”,运行时变为“按下Esc停止”。
|
||
- 右侧显示“当前上下文 0/256k”,且数字>1000时显示 1.1k 格式。
|
||
- 需要窗口缩放时自适应,不增加新底层显示行。
|
||
|
||
2. ESC 取消行为与记录落盘时机
|
||
|
||
- 按 Esc 需要立即中断运行:
|
||
- 若模型思考中:显示“∙ 停止思考”,并在思考内容下方打印红色“已取消本次响应”,上下各留一行空行。
|
||
- 若工具执行中:立即停止工具执行,工具结果为红色“任务被用户取消”,且不再继续执行工具结果处理。
|
||
- 数据落盘更细:用户输入后、模型完整输出后(不含工具)、工具调用后、工具结果后都应写入内存+落盘。
|
||
- 取消时如果输出未完成,未完成内容不入记录。
|
||
|
||
3. 工具输出显示
|
||
|
||
- “任务被用户取消”不带“└”或“失败:”前缀;左侧对齐。
|
||
- 工具执行完后输出与下一行 prompt 之间空一行。
|
||
- “取消响应”也需红色且左侧对齐,上一行留空。
|
||
|
||
4. /new 与 /resume token 复位
|
||
|
||
- /new 需要把右下角“当前上下文”重置(逻辑同 /resume)。
|
||
- 修复了 /new 未被识别的问题(与命令菜单注入有关)。
|
||
|
||
5. 只读权限提示文案
|
||
|
||
- 只读模式提示文案最后一句改为“请告知当前无权限需要用户输入 /allow 切换权限”。
|
||
- 只读模式下工具结果文案也需更新。
|
||
|
||
6. /allow、/model 等“Update”提示清理
|
||
|
||
- /allow /model /thinking 等菜单里不显示“Update …”。
|
||
|
||
7. /model 交互逻辑
|
||
|
||
- 需求最终定为:
|
||
- 选择模型后,隔一行显示“模型已切换为: xxx”;
|
||
- 隔一行再显示思考模式选择;
|
||
- 选择思考模式后,在选项下面隔一行显示“思考模式: xxx”;
|
||
- 不再要求清除菜单残留(因为清理和状态栏冲突)。
|
||
|
||
8. 命令菜单 / 无效指令
|
||
|
||
- 当 / 输入无匹配结果:
|
||
- 菜单显示“无效的指令”(替换 No results found)。
|
||
- 按 Enter 后不发送给模型,只显示“无效的命令“/app””。
|
||
|
||
9. 多模态(图片/视频)
|
||
|
||
- 输入路径或拖拽可自动插入蓝色 token [图片 #1] / [视频 #1]。
|
||
- 删除时 token 作为整体删除。
|
||
- 最多 9 张图片、1 个视频。
|
||
- 发送时:文本里包含 [图片 #n] 显示;实际请求使用 image_url/video_url base64 发送。
|
||
- 识别单引号路径 '/path/to/file.png'。
|
||
- 修复“只发送文本而未发送真实图片”的问题,最终要求按示例把图片作为 content list 的一部分发送。
|
||
|
||
10. 文件编辑工具创建文件
|
||
|
||
- 编辑文件时自动创建不存在的文件与目录,不再报错 ENOENT。
|
||
|
||
11. 提示信息空行规范
|
||
|
||
- 所有提示信息(如“已创建新对话/权限切换/模型切换/思考模式切换”)上下各空一行。
|
||
- Banner 与 prompt 之间需保持空行。
|
||
|
||
12. 思考完成标记
|
||
|
||
- 思考完成行使用 ∙ 而不是 ○。
|
||
- ∙ 行与思考内容整体左移一个空格以对齐工具调用的 • 前缀。
|
||
|
||
13. /system.txt 增加模型变量
|
||
|
||
- system prompt 里加入当前使用模型(用请求模型名称)。
|
||
|
||
14. 取消时错误显示
|
||
|
||
- 在思考时按 Esc,不能重复显示思考内容;只显示“停止思考 + 已取消本次响应”。
|
||
|
||
15. 运行指令取消空行
|
||
|
||
- 工具取消输出行与后续 prompt 之间需空一行。
|