fix: 修复滚动限制 + 自动检测Shell类型
滚动修复: - scroll() 使用实际渲染行数而非消息数计算 maxOffset - 解决 /help 等多行输出无法滚动到顶部的问题 Shell 检测: - Windows 自动检测 PowerShell 7+ > Windows PowerShell > cmd.exe - 动态调整 BashTool 描述,告知AI使用正确的命令语法 - 系统提示词包含详细的 Shell 使用指南(PowerShell cmdlets) - header 显示检测到的 Shell 类型 - Unix 优先 bash,回退 sh Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package com.claudecode.context;
|
||||
|
||||
import com.claudecode.tool.impl.BashTool;
|
||||
|
||||
/**
|
||||
* 系统提示词构建器 —— 对应 claude-code/src/prompts.ts。
|
||||
* <p>
|
||||
@@ -66,8 +68,8 @@ public class SystemPromptBuilder {
|
||||
sb.append("- Working directory: ").append(workDir).append("\n");
|
||||
sb.append("- OS: ").append(osName).append("\n");
|
||||
sb.append("- User: ").append(userName).append("\n");
|
||||
sb.append("- Shell: ").append(System.getenv().getOrDefault("SHELL",
|
||||
System.getenv().getOrDefault("COMSPEC", "unknown"))).append("\n");
|
||||
// 使用 BashTool 检测到的 shell 信息(比 COMSPEC/SHELL 环境变量更准确)
|
||||
sb.append(BashTool.getShellHint());
|
||||
sb.append("\n");
|
||||
|
||||
// 行为准则
|
||||
|
||||
Reference in New Issue
Block a user