智能会话自动附带"当前打开文件",建议增加开关控制

Problem

Qoder IDE 的智能会话在每一轮对话都会自动把"当前打开文件"作为上下文交给模型,用户无法控制、也无法关闭。

带来的影响:当我在 Ask 模式问一个与当前文件完全无关的问题时(例如"今天几号"“这个报错什么意思”“帮我解释一段粘贴的日志”),回答会被当前打开的文件带偏,甚至直接围绕该文件展开,需要我额外澄清"忽略当前文件",多消耗一轮对话和额度。

可自查的客观依据:会话注入给模型的上下文片段中会出现一个 current_open_file 字段。你可以直接向智能体提问"本轮你收到的上下文里 current_open_file 是什么",它会如实回答当前打开文件的路径。

复现步骤:

  1. 在 IDE 中打开任意文件 A(并让它处于活动状态);
  2. 打开智能会话面板,切到"智能问答(Ask)"模式;
  3. 提一个与 A 无关的简单问题,观察回答是否被 A 的内容牵引。

Solution

增加一个开关,用于控制是否自动把"当前打开文件"加入会话上下文,默认保持现有行为(开启)。建议放在插件设置的"智能会话设置"分组下,例如"自动附带当前打开文件:开 / 关"。

这样既不影响依赖该上下文的用户,也让不需要它的用户可以把会话恢复成纯净的"问什么答什么"。

Use Case

Ask 模式下提问与代码无关的问题是高频场景:查时间/日期、解释一段粘贴的报错或日志、问通用概念、让智能体改写一段随手贴的文本。这些场景下自动附带当前文件没有收益,只有干扰。而在 Agent 模式下,这个自动上下文是有价值的,所以诉求是"可关闭",而非"改变默认行为"。

Priority

  • :red_circle: High - Blocking issue
  • :yellow_circle: Medium - Important improvement
  • :green_circle: Low - Nice to have

Additional Info

  • 环境:Qoder IDE(国际版),Linux 远程工作区(IDE 连接远程 Linux 主机)。
  • IDE 版本:<从 About Qoder → Copy 粘贴>
  • 定性说明:这不是 bug 报告。从公开更新日志可见,"智能问答模式感知当前打开文件"是官方有意保证的能力(更新日志中曾修复"无法感知当前打开文件"的问题),因此我请求的是可控开关,默认行为保持不变。
  • 关于"这不是配置问题"的核实:我查过官方 CLI 配置全表(settings-reference 的 context.* 分组)以及 IDE 插件设置中的各分类(代码补全 / NES / 智能会话 / 通用),都没有控制该项的开关,因此判断它是内置行为,用户侧无法调整。
  • 关于上文提到的字段:current_open_file 字符串可在本机 Qoder 扩展目录下的 agent 可执行文件中检索到(仅字符串检索,用于说明它不是界面可配置项,未做任何修改)。
  • 同类需求的佐证(说明这不是个人偏好):
  • 我尚未验证的一点:如果关闭所有编辑器标签、没有任何活动文件,是否仍然注入——这点想请官方确认。
  • 如果认同这个改进,欢迎投票支持。