明明配置好了,为什么还提示 "No provider configured yet"?一文搞定。
问题场景
最近用 VSCode 的 Hermes Chat 插件(v0.5.0) 时,踩了一个让人头疼的坑:
已经在 ~/.hermes/config.yaml中正确配置了 DeepSeek 提供商已经在 ~/.hermes/.env中设置了DEEPSEEK_API_KEYHermes CLI 本身工作得飞起
但打开 VSCode 里的 Hermes 插件,它还是冷冰冰地甩你一句:
No provider configured yet. Run hermes setup.
反反复复检查配置,明明没问题啊!怎么回事?
根本原因
经过深入排查,问题出在插件源码中的 setup-wizard.js。
这个文件维护了一个硬编码的 PROVIDERS 列表,里面包含了主流 AI 提供商:
Anthropic OpenAI OpenRouter Google Gemini Kimi 等等……
但唯独 没有 DeepSeek。
插件通过 hasAnyKnownKey() 函数来检测你是否配置了 API Key——它只检查这个预设列表中的环境变量名。你的 DEEPSEEK_API_KEY 压根不在它的"认知范围"内,所以它判定你没有配置任何 Provider。
简单来说:不是你的配置有问题,是插件不认识 DeepSeek。
修复方案
方案一:修改插件源码(推荐)
直接给插件的 Providers 列表补上 DeepSeek,一步到位解决问题。
Step 1:找到 setup-wizard.js
打开文件:
~/.vscode/extensions/poppywu124.hermes-chat-0.5.0/out/setup-wizard.jsStep 2:在 PROVIDERS 数组中添加 DeepSeek 条目
在 PROVIDERS 列表的合适位置插入:
{ id: 'deepseek', label: 'DeepSeek', envKey: 'DEEPSEEK_API_KEY', defaultModel: '', keyHelp: 'sk-…', keyUrl: 'https://platform.deepseek.com/api_keys', tier: 2, testUrl: 'https://api.deepseek.com/v1/models', testAuth: 'bearer'},插入位置参考(在 lmstudio 和 copilot 之间即可)。
Step 3:更新 VSCode 全局状态
在终端执行:
sqlite3 ~/Library/Application\ Support/Code/User/globalStorage/state.vscdb \"INSERT OR REPLACE INTO ItemTable (key, value) VALUES ('Poppywu124.hermes-chat', '{\"hermes-chat.setupCompleted\":true}');"这个命令告诉 VSCode:「Hermes 的设置已经完成了,别弹 Setup Wizard 了。」
方案二:临时绕过(不推荐)
如果你不想改插件代码,也可以在 .env 中添加一个插件认识的"占位"变量:
echo'OPENAI_API_KEY=placeholder_dummy_key' >> ~/.hermes/.env插件只检查 Key 是否存在,实际请求还是会走你的 DeepSeek 配置。但这个方法不够干净,不推荐长期使用。
验证
完全退出 VSCode(Cmd+Q,不是关闭窗口) 重新打开 VSCode 点击 Hermes 侧边栏
应该不会再看到那条烦人的错误提示了,聊天界面直接可用!🎉
写在最后
这个问题本质上是插件维护者还没有把 DeepSeek 加入默认的 Providers 列表。如果你觉得这个修复有用,可以考虑:
向插件作者 Poppywu124 提交 Issue 或 PR 关注插件更新,新版本可能会原生支持
一键总结:
setup-wizard.js | |
如果你也遇到了类似的插件兼容问题,欢迎在评论区交流分享你的经验!
夜雨聆风