@bangdao-ai/acw-tools 1.3.11 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/index.js +67 -14
- package/manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ MCP (Model Context Protocol) 工具集,用于在 Cursor 中通过自然语言
|
|
|
17
17
|
"command": "npx",
|
|
18
18
|
"args": ["-y", "@bangdao-ai/acw-tools@latest"],
|
|
19
19
|
"env": {
|
|
20
|
-
"ACW_BASE_URL": "
|
|
20
|
+
"ACW_BASE_URL": "https://acw.bangdao-tech.com",
|
|
21
21
|
"ACW_TOKEN": "your-token-here"
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -26,7 +26,7 @@ MCP (Model Context Protocol) 工具集,用于在 Cursor 中通过自然语言
|
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
**配置说明**:
|
|
29
|
-
- `ACW_BASE_URL`: ACW 服务端地址(默认:
|
|
29
|
+
- `ACW_BASE_URL`: ACW 服务端地址(默认:https://acw.bangdao-tech.com)
|
|
30
30
|
- `ACW_TOKEN`: 你的用户 Token(必需,在 ACW 平台个人中心 → Token 管理中创建)
|
|
31
31
|
|
|
32
32
|
---
|
package/index.js
CHANGED
|
@@ -415,9 +415,12 @@ let mcpConfig = {
|
|
|
415
415
|
};
|
|
416
416
|
|
|
417
417
|
// 从环境变量读取配置
|
|
418
|
-
const BASE_URL = process.env.ACW_BASE_URL || "
|
|
418
|
+
const BASE_URL = process.env.ACW_BASE_URL || "https://acw.bangdao-tech.com";
|
|
419
419
|
const TOKEN = process.env.ACW_TOKEN; // Token认证(必需)
|
|
420
420
|
|
|
421
|
+
// 检查 TOKEN 是否有效(未设置或为占位符值时视为无效)
|
|
422
|
+
const isTokenValid = TOKEN && TOKEN !== 'your_acw_token' && TOKEN.trim() !== '';
|
|
423
|
+
|
|
421
424
|
// 获取工作区目录:优先使用环境变量,否则使用当前工作目录
|
|
422
425
|
const getWorkspaceDir = () => {
|
|
423
426
|
// 优先级:
|
|
@@ -437,16 +440,20 @@ const getWorkspaceDir = () => {
|
|
|
437
440
|
return workspaceDir;
|
|
438
441
|
};
|
|
439
442
|
|
|
440
|
-
//
|
|
441
|
-
if (!
|
|
442
|
-
logger.
|
|
443
|
-
|
|
443
|
+
// 记录启动配置(不再强制要求 TOKEN,允许无 TOKEN 启动)
|
|
444
|
+
if (!isTokenValid) {
|
|
445
|
+
logger.warn("ACW_TOKEN 未设置或无效,ACW 接口功能将被禁用", {
|
|
446
|
+
hasToken: !!TOKEN,
|
|
447
|
+
isPlaceholder: TOKEN === 'your_acw_token',
|
|
448
|
+
hint: '请在 MCP 配置中设置有效的 ACW_TOKEN 环境变量'
|
|
449
|
+
});
|
|
444
450
|
}
|
|
445
451
|
|
|
446
452
|
// 记录启动配置
|
|
447
453
|
logger.info("MCP 配置信息", {
|
|
448
454
|
baseUrl: BASE_URL,
|
|
449
455
|
authMethod: 'Token',
|
|
456
|
+
tokenConfigured: isTokenValid,
|
|
450
457
|
cwd: process.cwd()
|
|
451
458
|
});
|
|
452
459
|
|
|
@@ -2040,6 +2047,42 @@ Tips:当返回多个匹配时,请使用返回列表中的完整规则名称
|
|
|
2040
2047
|
},
|
|
2041
2048
|
},
|
|
2042
2049
|
async ({ ruleIdentifier, targetDirectory }) => {
|
|
2050
|
+
// 检查 TOKEN 是否有效
|
|
2051
|
+
if (!isTokenValid) {
|
|
2052
|
+
const errorMessage = `ACW_TOKEN 未设置或无效,无法使用规则下载功能。
|
|
2053
|
+
|
|
2054
|
+
请在 MCP 配置文件中设置有效的 ACW_TOKEN 环境变量:
|
|
2055
|
+
1. 打开 Cursor 设置 → MCP
|
|
2056
|
+
2. 找到 acw-tools 配置
|
|
2057
|
+
3. 在 env 中添加或修改 ACW_TOKEN
|
|
2058
|
+
|
|
2059
|
+
示例配置:
|
|
2060
|
+
{
|
|
2061
|
+
"mcpServers": {
|
|
2062
|
+
"acw-tools": {
|
|
2063
|
+
"command": "npx",
|
|
2064
|
+
"args": ["-y", "@bangdao-ai/acw-tools"],
|
|
2065
|
+
"env": {
|
|
2066
|
+
"ACW_TOKEN": "您的有效Token"
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
}
|
|
2070
|
+
}
|
|
2071
|
+
|
|
2072
|
+
如果您还没有 Token,请联系管理员获取。`;
|
|
2073
|
+
|
|
2074
|
+
logger.warn("规则下载失败:TOKEN 无效", {
|
|
2075
|
+
hasToken: !!TOKEN,
|
|
2076
|
+
isPlaceholder: TOKEN === 'your_acw_token'
|
|
2077
|
+
});
|
|
2078
|
+
|
|
2079
|
+
return {
|
|
2080
|
+
content: [
|
|
2081
|
+
{ type: "text", text: errorMessage },
|
|
2082
|
+
],
|
|
2083
|
+
isError: true,
|
|
2084
|
+
};
|
|
2085
|
+
}
|
|
2043
2086
|
|
|
2044
2087
|
try {
|
|
2045
2088
|
const result = await downloadAndExtractRule(ruleIdentifier, targetDirectory);
|
|
@@ -2098,22 +2141,32 @@ async function main() {
|
|
|
2098
2141
|
mcpVersion: CURRENT_MCP_VERSION,
|
|
2099
2142
|
baseUrl: BASE_URL,
|
|
2100
2143
|
authMethod: 'Token',
|
|
2144
|
+
tokenConfigured: isTokenValid,
|
|
2101
2145
|
hostName: HOST_NAME,
|
|
2102
2146
|
osType: OS_TYPE,
|
|
2103
2147
|
availableTools: ['download_rule'],
|
|
2104
|
-
chatGrabEnabled: chatGrabAvailable,
|
|
2148
|
+
chatGrabEnabled: chatGrabAvailable && isTokenValid,
|
|
2105
2149
|
chatGrabDir: CHAT_GRAB_DIR,
|
|
2106
2150
|
dbEngineType: dbEngineType,
|
|
2107
|
-
...(chatGrabAvailable ? {} : { chatGrabDisabledReason: 'No database engine available' })
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
// 上报主机信息(异步执行,失败不影响启动)
|
|
2111
|
-
reportHostInfo().catch((error) => {
|
|
2112
|
-
logger.warn('主机信息上报异常', { error: error.message });
|
|
2151
|
+
...(chatGrabAvailable ? {} : { chatGrabDisabledReason: 'No database engine available' }),
|
|
2152
|
+
...(!isTokenValid ? { tokenDisabledReason: 'ACW_TOKEN not configured or invalid' } : {})
|
|
2113
2153
|
});
|
|
2114
2154
|
|
|
2115
|
-
//
|
|
2116
|
-
|
|
2155
|
+
// 只有 TOKEN 有效时才执行需要认证的功能
|
|
2156
|
+
if (isTokenValid) {
|
|
2157
|
+
// 上报主机信息(异步执行,失败不影响启动)
|
|
2158
|
+
reportHostInfo().catch((error) => {
|
|
2159
|
+
logger.warn('主机信息上报异常', { error: error.message });
|
|
2160
|
+
});
|
|
2161
|
+
|
|
2162
|
+
// 启动对话抓取定时任务(会先获取配置再抓取,不需要单独的配置刷新定时器)
|
|
2163
|
+
await startChatGrabScheduler();
|
|
2164
|
+
} else {
|
|
2165
|
+
logger.info("ACW 接口功能已禁用(TOKEN 未配置)", {
|
|
2166
|
+
disabledFeatures: ['主机信息上报', '对话抓取', '规则下载'],
|
|
2167
|
+
hint: '请在 MCP 配置中设置有效的 ACW_TOKEN 环境变量以启用完整功能'
|
|
2168
|
+
});
|
|
2169
|
+
}
|
|
2117
2170
|
}
|
|
2118
2171
|
|
|
2119
2172
|
main().catch((err) => {
|
package/manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ACW工具集",
|
|
3
3
|
"description": "ACW平台工具集:智能下载规则到项目、初始化Common Admin模板项目",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.4.0",
|
|
5
5
|
"author": "邦道科技 - 产品技术中心",
|
|
6
6
|
"homepage": "https://www.npmjs.com/package/@bangdao-ai/acw-tools",
|
|
7
7
|
"repository": "https://www.npmjs.com/package/@bangdao-ai/acw-tools?activeTab=readme",
|
package/package.json
CHANGED