每日杂想 | 5.6
这是我的第一篇杂想
捣鼓
上午的电力电子信息的教室太闷了,给我热过载了(晕)所以尝试捣鼓了下终端和claude:主要解决的是之前终端的z location失效和claude webfetch经常报错的问题
首先是zlocation:
问题:Oh My Posh 突然失效,终端只剩 PS>
症状
打开 PowerShell,原本的 oh-my-posh 提示符消失了,显示的是默认的 PS>,但 profile实在加载(显示”加载个人及系统配置文件用了 1868 毫秒”)。
当时忘记截图了
排查过程
第一步:检查 profile 文件
PowerShell 5.1 有两个 profile 路径会依次加载:
C:\Users...\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 ← 当前用户、当前宿主
C:\Users...\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 ← PowerShell 7 的
两个文件内容看起来都正确,oh-my-posh init pwsh –config … | Invoke-Expression 都在里面。oh-my-posh也安装了(v29.9.0),配置文件 atomic.omp.json 也是合法 JSON。
第二步:模拟加载 profile 抓错误
用 powershell -NoProfile -File 跑 profile 内容,发现:
Set-PSReadLineOption : The predictive suggestion feature cannot be enabled
because the console output doesn’t support virtual terminal processing or it’s redirected.
这个错误是因为我们通过 bash 重定向了输出,VT处理不可用。但这给我们一个线索:如果这个非终止性错误在某种场景下变成了终止错误,后面的代码就不会执行。
第三步:检查 profile 加载后的状态
加载 profile 后检查 prompt 函数,发现 prompt 已经被替换成了:
Update-ZLocation $pwd
ZLocationOrigPrompt
这说明 ZLocation 模块在 oh-my-posh 之后导入,用自己的 wrapper 盖掉了 oh-my-posh 的 prompt 函数。这是根本原因。
解决方案
- 移除 ZLocation
- 从 profile 中删除 Import-Module ZLocation
- 用 rm -rf 直接删除模块目录 C:\Users...\Documents\WindowsPowerShell\Modules\ZLocation\1.4.3
- ZLocation 的工作原理是 hook prompt 函数来记录目录访问历史,跟 oh-my-posh 的 prompt 机制冲突是结构性的
用纯函数书签替代 ZLocation
启动提示
在 profile 末尾加上书签提示,每次新开终端自动显示可用书签,方便记忆。(主要是我记忆力太差了qwq)

总结了下关键原因:ZLocation 这类需要 hook prompt 的模块和 oh-my-posh 放在同一个 profile里是结构性冲突——谁后加载谁赢。要么只留一个,要么用不 hook prompt 的替代方案(比如纯函数书签)。
claude webfetch经常抓取失败的问题
使用 Claude Code 处理开发任务,经常需要抓取网页内容——读文档、看 GitHub 仓库、查资料,但是我很快发现ClaudeCode 内置的 WebFetch 在国内网络下几乎不可用,动不动就 Connection reset 或 Unable to verify domain is safe to fetch。
询问ai后发现内置 WebFetch 是经过 DeepSeek/Anthropic 服务器中转的,而这些服务器在海外,从国内发起请求经常被 GFW 阻断
解决方案
找到了一个MCP工具mcp__fetch__fetch可以从本地网络直接发起 HTTP 请求。我又同时保留了一个curl 回退方案
1 | curl -x http://127.0.0.1:7890 "https://github.com" |
最终我修改了修正 CLAUDE.md
1 | ## Web Fetch |
补充
这里还要注意的是,要写入CLAUDE.md才能被全局接受,打开新claude窗口后会自动读取,而之前写入的是Memory.md,实际上并不会被自动读取。
碎碎念
本来想写的是杂想,但是莫名写成了问题排查文档。不过也正好借着早上解决的问题往下聊一下,坐在电力电子技术的教室里虽然知道这是这学期最难的专业课,但还是没有听下去,默默打开电脑解决这两个跟专业没啥关系的问题。现在想来,竞赛队伍里的林老师已经收到了量化的实习offer,即将开启3000日薪的工作,而我还在闷热的教室里调着简单的问题,一边将专业课甩在脑后,一边焦虑着看不见的未来。我感觉还是没有和自我和解,还抱着坐在教室里就等于学习的想法,希望接下来的日子真正能够做到高效的学习。
写到这,补充下,我觉得这两个问题解决起来还是蛮有意思的,但是专业课也是要学的/kk




