name: graceful-degradation description: 优雅降级与有用消息 user-invocable: false
优雅降级与有用消息
当可选服务不可用时,通过可操作的备用消息优雅地降级。
模式
在开始时检查可用性,缓存结果,并提供有用的消息,解释缺少什么以及如何修复它。
应该做的
- 尽早检查服务可用性(在浪费计算资源之前)
- 为会话缓存健康检查结果(例如,60秒的TTL)
- 提供可操作的备用消息:
- 缺少什么服务
- 哪些功能降级
- 如何启用服务
- 在可能的情况下,以减少的功能继续运行
不应该做的
- 静默失败或返回空结果
- 每次调用都检查可用性(缓存它)
- 假设用户知道如何启动缺失的服务
示例:LMStudio检查模式
let lmstudioAvailable: boolean | null = null;
let lastCheck = 0;
const CACHE_TTL = 60000; // 60秒
async function checkLMStudio(): Promise<boolean> {
const now = Date.now();
if (lmstudioAvailable !== null && now - lastCheck < CACHE_TTL) {
return lmstudioAvailable;
}
try {
const response = await fetch('http://localhost:1234/v1/models', {
signal: AbortSignal.timeout(2000)
});
lmstudioAvailable = response.ok;
} catch {
lmstudioAvailable = false;
}
lastCheck = now;
return lmstudioAvailable;
}
// 用法
if (!await checkLMStudio()) {
return {
result: 'continue',
message: `LMStudio 在 localhost:1234 不可用。
要启用 Godel-Prover 策略建议:
1. 从 https://lmstudio.ai/ 安装 LMStudio
2. 加载 "Goedel-Prover-V2-8B" 模型
3. 在端口 1234 上启动本地服务器
继续运行,无需AI辅助策略...`
};
}
备用消息模板
[服务] 在 [端点] 不可用。
要启用 [功能]:
1. [安装/启动步骤]
2. [配置步骤,如果需要]
3. [验证步骤]
继续运行,无需 [降级功能]...
源会话
- 本次会话:LMStudio可用性检查,60秒缓存和有用备用消息
- 174e0ff3:环境变量调试 - 打印计算路径以进行故障排除