chaimi-bookkeeping-mcp 2.2.3 → 2.2.5

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.
Files changed (3) hide show
  1. package/bin/cli.js +5 -1
  2. package/package.json +1 -1
  3. package/server.js +2 -24
package/bin/cli.js CHANGED
@@ -10,6 +10,10 @@ const fs = require('fs');
10
10
  const os = require('os');
11
11
  const { spawn } = require('child_process');
12
12
 
13
+ // 读取 package.json 获取版本
14
+ const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json'), 'utf8'));
15
+ const CURRENT_VERSION = packageJson.version;
16
+
13
17
  // 获取 server.js 的绝对路径
14
18
  const serverPath = path.join(__dirname, '..', 'server.js');
15
19
 
@@ -183,7 +187,7 @@ function configureAllAgents() {
183
187
  function showWelcome() {
184
188
  console.log('╔════════════════════════════════════════════════════════╗');
185
189
  console.log('║ ║');
186
- console.log('║ 柴米记账 MCP Server v2.1.0 ║');
190
+ console.log(`║ 柴米记账 MCP Server v${CURRENT_VERSION} ║`);
187
191
  console.log('║ ║');
188
192
  console.log('║ 支持: OpenClaw | WorkBuddy | Claude | Cursor ║');
189
193
  console.log('║ ║');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chaimi-bookkeeping-mcp",
3
- "version": "2.2.3",
3
+ "version": "2.2.5",
4
4
  "description": "柴米记账 MCP Server - 支持 Claude、Cursor、OpenClaw、WorkBuddy 等 AI 工具直接记账",
5
5
  "main": "server.js",
6
6
  "bin": {
package/server.js CHANGED
@@ -223,10 +223,6 @@ async function getToken() {
223
223
  }
224
224
  // 超过2小时,尝试刷新
225
225
  console.log('Token 超过2小时,尝试自动刷新...');
226
- } else if (cachedToken && tokenExpireTime <= Date.now() + 5 * 60 * 1000) {
227
- // Token 已过期,添加友好提示
228
- console.log('🔐 Token 已过期,需要重新授权');
229
- console.log('请使用 mcporter 调用 柴米记账.save_expense() 开始授权');
230
226
  }
231
227
 
232
228
  // 使用 OAuth 获取有效 Token
@@ -239,32 +235,14 @@ async function getToken() {
239
235
  cachedToken = oauthToken.accessToken;
240
236
  tokenExpireTime = oauthToken.expiresAt;
241
237
  lastRefreshTime = Date.now();
242
- // 授权成功,清除授权状态
243
- await oauthManager.clearAuthState();
244
238
  return cachedToken;
245
239
  } catch (err) {
246
- // OAuth Token 无效,检查是否有未完成的授权
247
- console.log('🔐 Token 已过期,需要重新授权');
248
- console.log('请使用 mcporter 调用 柴米记账.save_expense() 开始授权');
249
- console.log('OAuth Token 无效,检查授权状态...');
250
-
251
- // 检查是否有未完成的授权
252
- const authState = await oauthManager.loadAuthState();
253
- if (authState && !oauthManager.isAuthStateExpired(authState)) {
254
- console.log(`检测到未完成的授权,验证码: ${authState.userCode}`);
255
- console.log('请在微信柴米记账小程序中输入此验证码完成授权');
256
- console.log('授权完成后,请重新调用工具');
257
- throw new Error(`授权进行中,请使用验证码 ${authState.userCode} 完成授权`);
258
- }
259
-
260
- // 没有未完成的授权,启动新的授权流程
261
- console.log('启动新的授权流程...');
240
+ // OAuth Token 无效,尝试重新授权
241
+ console.log('OAuth Token 无效,启动授权流程...');
262
242
  const newToken = await oauthManager.startAuthFlow();
263
243
  cachedToken = newToken.accessToken;
264
244
  tokenExpireTime = newToken.expiresAt;
265
245
  lastRefreshTime = Date.now();
266
- // 授权成功,清除授权状态
267
- await oauthManager.clearAuthState();
268
246
  return cachedToken;
269
247
  }
270
248
  }