feat: 支持PROMPTX_WORKSPACE环境变量使用~家目录路径

新增normalizePath和expandHome函数,优化PROMPTX_WORKSPACE环境变量处理逻辑

感谢 @nblog 的贡献!这个功能提升了用户体验,让配置更加便捷。
This commit is contained in:
共产主义接班人
2025-06-13 23:17:38 +08:00
committed by GitHub
parent eb2075500a
commit b7c41e68fe

View File

@ -1,5 +1,6 @@
const fs = require('fs'); const fs = require('fs');
const path = require('path'); const path = require('path');
const os = require('os');
/** /**
* 执行上下文检测工具 * 执行上下文检测工具
@ -43,7 +44,7 @@ function getMCPWorkingDirectory() {
} }
// 策略2PROMPTX_WORKSPACEPromptX专用环境变量 // 策略2PROMPTX_WORKSPACEPromptX专用环境变量
const promptxWorkspace = process.env.PROMPTX_WORKSPACE; const promptxWorkspace = normalizePath(expandHome(process.env.PROMPTX_WORKSPACE || ''));
if (promptxWorkspace && isValidDirectory(promptxWorkspace)) { if (promptxWorkspace && isValidDirectory(promptxWorkspace)) {
console.error(`[执行上下文] 使用PROMPTX_WORKSPACE: ${promptxWorkspace}`); console.error(`[执行上下文] 使用PROMPTX_WORKSPACE: ${promptxWorkspace}`);
return promptxWorkspace; return promptxWorkspace;
@ -150,6 +151,18 @@ function getDebugInfo() {
}; };
} }
function normalizePath(p) {
return path.normalize(p);
}
function expandHome(filepath) {
if (filepath.startsWith('~/') || filepath === '~') {
return path.join(os.homedir(), filepath.slice(1));
}
return filepath;
}
module.exports = { module.exports = {
getExecutionContext, getExecutionContext,
isValidDirectory, isValidDirectory,