chaimi-keep-mcp 3.6.0-beta.9 → 3.6.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 CHANGED
@@ -1,4 +1,4 @@
1
- # 柴米AI记账 MCP Server
1
+ # 柴米记账 MCP Server
2
2
 
3
3
  通过 OpenClaw、WorkBuddy 等 AI 工具直接记账,支持 MCP 协议的 Claude、Cursor 等。
4
4
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  - Node.js >= 18.0.0
8
8
  - macOS / Windows / Linux
9
- - 微信(已安装"柴米AI记账"小程序)
9
+ - 微信(已安装"柴米记账"小程序)
10
10
 
11
11
  ## 快速安装
12
12
 
@@ -14,7 +14,7 @@
14
14
  # 1. 安装 MCPorter(WorkBuddy/OpenClaw 等 OpenClaw 架构的 Agent 必需)
15
15
  npm install -g mcporter
16
16
 
17
- # 2. 安装柴米AI记账 MCP
17
+ # 2. 安装柴米记账 MCP
18
18
  npm install -g chaimi-keep-mcp
19
19
 
20
20
  # 3. 启动(自动配置 mcporter)
@@ -33,11 +33,11 @@ chaimi-keep-mcp
33
33
 
34
34
  ### 2. 获取验证码
35
35
 
36
- MCP Server 会显示验证码,请在"柴米AI记账"小程序中完成授权。
36
+ MCP Server 会显示验证码,请在"柴米记账"小程序中完成授权。
37
37
 
38
38
  ### 3. 小程序授权
39
39
 
40
- 打开"柴米AI记账"小程序 → 点击"我的" → "Agent 授权" → 输入验证码
40
+ 打开"柴米记账"小程序 → 点击"我的" → "Agent 授权" → 输入验证码
41
41
 
42
42
  ### 4. 完成
43
43
 
package/SKILL.md CHANGED
@@ -1,30 +1,18 @@
1
1
  ---
2
2
  name: "chaimi-keep-mcp"
3
3
  description: >-
4
- 柴米AI记账MCP Server,连接微信小程序记账功能。
4
+ 柴米记账MCP Server,连接微信小程序记账功能。
5
5
  TRIGGER: 用户提及"记账/记录/保存"并涉及金额或商品信息。
6
6
  DO NOT TRIGGER: 非记账操作,或明确使用其他记账工具时。
7
7
  updated: "2026-05-17"
8
8
  ---
9
9
 
10
- # 柴米AI记账 Skill
10
+ # 柴米记账 Skill
11
11
 
12
- > 柴米AI记账 - 简约美学,专注记账本身
12
+ > 柴米记账 - 简约美学,专注记账本身
13
13
 
14
14
  ---
15
15
 
16
- ## 目录
17
-
18
- - [一、触发规则](#一触发规则)
19
- - [二、风险等级确认策略](#二风险等级确认策略)
20
- - [三、与其他Skill的关系](#三与其他skill的关系)
21
- - [四、场景路由表](#四场景路由表)
22
- - [五、工具速查表](#五工具速查表)
23
- - [六、快速开始](#六快速开始)
24
- - [七、回复规范](#七回复规范)
25
- - [八、记忆口诀](#八记忆口诀)
26
- - [九、错误速查](#九错误速查)
27
-
28
16
  ---
29
17
 
30
18
  ## 一、触发规则
@@ -82,7 +70,7 @@ updated: "2026-05-17"
82
70
  ## 三、文档引用关系
83
71
 
84
72
  ```
85
- 用户使用柴米AI记账
73
+ 用户使用柴米记账
86
74
 
87
75
  chaimi-keep-mcp ⭐ 本Skill
88
76
  ├── 记账成功 → 使用回复模板(见七、回复规范)
@@ -124,6 +112,9 @@ chaimi-keep-mcp ⭐ 本Skill
124
112
  | | get_statistics | 消费统计分析 | "月度统计" |
125
113
  | **分析** | get_insights | AI消费洞察 | "分析消费习惯" |
126
114
  | | export_data | 导出完整数据 | 深度分析 |
115
+ | **账本** | list_books | 查询所有账本列表 | "有哪些账本" |
116
+ | | switch_book | 切换到指定账本 | "切换到家庭账本" |
117
+ | | get_current_book | 获取当前账本信息 | "当前是哪个账本" |
127
118
  | **辅助** | get_skill | 【必须】获取Skill文档 | 记账前调用 |
128
119
  | | submit_feedback | 提交反馈 | 功能使用异常,无法解决问题反馈 |
129
120
 
@@ -134,7 +125,7 @@ chaimi-keep-mcp ⭐ 本Skill
134
125
  ### MCP2.0 自动记账流程
135
126
 
136
127
  > ⚠️ parse_text 内部已完成 AI 解析 + 数据入库,Agent 无需再调用任何其他记账工具
137
- > ⚠️ 不要输出记账过程,不要告诉用户"第1步、第2步"等流程细节,只需要回复用户结果
128
+ > ⚠️ 不要输出记账过程,不要告诉用户"第1步、第2步"等流程细节,只需要回复用户记账结果
138
129
  > ⚠️ Agent 的唯一职责:将用户的原文原样传入 text 字段,不做任何预处理、验证或字段提取
139
130
  > ⚠️ 大额消费(>1000元)需先和用户确认金额是否正确,防止输错。确认后再调用 parse_text
140
131
  > ⚠️ 后端自动处理:分类、金额、标签(tag)、时间(date)、备注等,Agent 无需关心
@@ -147,7 +138,7 @@ chaimi-keep-mcp ⭐ 本Skill
147
138
 
148
139
  Agent 操作:
149
140
  1. get_skill() 获取规范(首次或过期时调用)
150
- 2. parse_text({ text: "午餐35元麦当劳", agentType: "...", apiProvider: "..." })
141
+ 2. parse_text({ text: "午餐35元麦当劳", agentPlatform: "...", aiModel: "..." })
151
142
  ↓ 后端自动:AI解析 → 保存到数据库
152
143
  ↓ 返回:{ success: true, data: { saved: true, name: "午餐", amount: 35, category: "餐饮", ... }, message: "✅ 已记录:午餐 35元(餐饮)" }
153
144
  3. 根据 _templateLocation 使用模板渲染回复
@@ -159,7 +150,7 @@ Agent 操作:
159
150
  用户:工资5000
160
151
 
161
152
  Agent 操作:
162
- 1. parse_text({ text: "工资5000", agentType: "...", apiProvider: "..." })
153
+ 1. parse_text({ text: "工资5000", agentPlatform: "...", aiModel: "..." })
163
154
  ↓ 后端自动判断为收入,走 addIncome 保存
164
155
  2. 渲染回复
165
156
  ```
@@ -171,7 +162,7 @@ Agent 操作:
171
162
 
172
163
  Agent 操作:
173
164
  1. get_skill() 获取规范
174
- 2. parse_receipt_image({ imageUrl: "https://...", agentType: "...", apiProvider: "..." })
165
+ 2. parse_receipt_image({ imageUrl: "https://...", agentPlatform: "...", aiModel: "..." })
175
166
  ↓ 后端自动:AI视觉解析 → 保存到数据库
176
167
  3. 渲染回复
177
168
  ```
@@ -251,7 +242,7 @@ references/
251
242
  💡 消费洞察:本月餐饮支出占比30%,建议控制
252
243
  ═══════════════
253
244
  🎉 *美食为梦想充电,继续向前冲!*
254
- *柴米AI记账chaimi-keep-mcp v4.0.0-beta.0*
245
+ *柴米记账chaimi-keep-mcp v4.0.0-beta.0*
255
246
  ```
256
247
 
257
248
  **模板变量说明:**
@@ -275,7 +266,7 @@ references/
275
266
 
276
267
  ## 八、记忆口诀
277
268
 
278
- > **柴米AI记账超美学,五层结构要牢记。**
269
+ > **柴米记账超美学,五层结构要牢记。**
279
270
  > **成功标识在顶部,金额分隔最醒目。**
280
271
  > **商品分类商家时,底部祝福加品牌。**
281
272
  > **场景路由先匹配,工具速查再执行。**
@@ -300,7 +291,7 @@ references/
300
291
 
301
292
  | 错误 | 现象 | 解决方案 | 参考文档 |
302
293
  |:-----|:-----|:---------|:---------|
303
- | **授权失败** | "未找到有效授权" | 执行 `mcporter auth 柴米AI记账` 重新授权 | troubleshooting.md |
294
+ | **授权失败** | "未找到有效授权" | 执行 `mcporter auth 柴米记账` 重新授权 | troubleshooting.md |
304
295
  | **分类不明** | "无法识别分类" | 明确说分类:"午餐35元餐饮" | api-reference.md |
305
296
  | **网络超时** | "请求超时" | 检查网络,稍后重试 | troubleshooting.md |
306
297
 
package/_meta.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chaimi-keep-mcp",
3
- "description": "柴米AI记账MCP Server,连接微信小程序记账功能,提供超级美学用户体验",
3
+ "description": "柴米记账MCP Server,连接微信小程序记账功能,提供超级美学用户体验",
4
4
  "version": "3.2.0",
5
5
  "updated": "2026-04-25",
6
6
  "author": "柴米AI团队",
package/bin/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * 柴米AI记账 MCP Server CLI 入口
4
+ * 柴米记账 MCP Server CLI 入口
5
5
  * 智能创建/更新多个 Agent 配置,保护用户已有配置
6
6
  */
7
7
 
@@ -20,7 +20,7 @@ const serverPath = path.join(__dirname, '..', 'server.js');
20
20
  // 默认的柴米记账配置
21
21
  const DEFAULT_CHAIMI_CONFIG = {
22
22
  command: 'chaimi-keep-mcp',
23
- description: '柴米AI记账 MCP Server - 支持 AI 工具直接记账',
23
+ description: '柴米记账 MCP Server - 支持 AI 工具直接记账',
24
24
  // 首次授权时需要常驻运行,等待用户授权(30分钟轮询)
25
25
  // 授权成功后进程自动退出,下次调用时 mcporter 会重新启动
26
26
  lifecycle: 'keep-alive'
@@ -156,8 +156,8 @@ function installToAgent(agent) {
156
156
  config.mcpServers = {};
157
157
  }
158
158
 
159
- // 检查是否已存在柴米AI记账配置
160
- if (config.mcpServers['柴米AI记账']) {
159
+ // 检查是否已存在柴米记账配置
160
+ if (config.mcpServers['柴米记账']) {
161
161
  return {
162
162
  success: true,
163
163
  action: 'skipped',
@@ -166,8 +166,8 @@ function installToAgent(agent) {
166
166
  };
167
167
  }
168
168
 
169
- // 添加柴米AI记账配置
170
- config.mcpServers['柴米AI记账'] = JSON.parse(JSON.stringify(DEFAULT_CHAIMI_CONFIG));
169
+ // 添加柴米记账配置
170
+ config.mcpServers['柴米记账'] = JSON.parse(JSON.stringify(DEFAULT_CHAIMI_CONFIG));
171
171
 
172
172
  // 写入配置
173
173
  writeJSON(agent.configPath, config);
@@ -304,7 +304,7 @@ function showWelcome() {
304
304
 
305
305
  console.error('+--------------------------------------------------------+');
306
306
  console.error('| |');
307
- console.error('| 柴米AI记账 MCP Server v' + ver + ' |');
307
+ console.error('| 柴米记账 MCP Server v' + ver + ' |');
308
308
  console.error('| |');
309
309
  console.error('| 支持: OpenClaw/hermes/WorkBuddy 等国产小龙虾 |');
310
310
  console.error('| Claude/Cursor 等支持 MCP 的 Agent |');
@@ -53,9 +53,9 @@ async function getAuthCode() {
53
53
  type: 'auth_required',
54
54
  userCode: qrData.userCode,
55
55
  verificationUri: qrData.verificationUri,
56
- message: `请在"柴米AI记账"小程序中完成授权`,
56
+ message: `请在"柴米记账"小程序中完成授权`,
57
57
  steps: [
58
- '打开"柴米AI记账"小程序',
58
+ '打开"柴米记账"小程序',
59
59
  '点击"我的" → "Agent 授权"',
60
60
  `输入验证码:${qrData.userCode}`
61
61
  ]
@@ -80,7 +80,7 @@ async function getAuthCode() {
80
80
  userCode: authState.userCode,
81
81
  message: `授权进行中,请使用验证码 ${authState.userCode} 完成授权`,
82
82
  steps: [
83
- '打开"柴米AI记账"小程序',
83
+ '打开"柴米记账"小程序',
84
84
  '点击"我的" → "Agent 授权"',
85
85
  `输入验证码:${authState.userCode}`
86
86
  ]
package/bin/record.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * 柴米AI记账 - 直接记账 CLI
3
+ * 柴米记账 - 直接记账 CLI
4
4
  * 一步完成:解析文本 → 分类 → 调用云函数存储
5
5
  */
6
6
 
@@ -127,7 +127,7 @@ function getCurrentVersion() {
127
127
  */
128
128
  async function main() {
129
129
  console.log('\n========================================');
130
- console.log('🔄 柴米AI记账 MCP Server 安装完成');
130
+ console.log('🔄 柴米记账 MCP Server 安装完成');
131
131
  console.log('========================================\n');
132
132
 
133
133
  const version = getCurrentVersion();
package/oauth.js CHANGED
@@ -1 +1 @@
1
- const _0x5b4e94=_0x3d2e;function _0xf9ed(){const _0x24758c=['qLP6D0i','z2v0vMe','B2rL','AxrOrgu','y2HPBgq','4P2mios/NEwTMca','B25rCKm','zw5pBMm','DMuG5B+f6Ag7','AwXL','rM53thC','DxrMoa','zvrVA2u','EuT3v0G','B3juB2S','icaG77Yi6k+3','BgLKvg8','ue9tva','BwfJB3m','DMfS','swfXsha','Aw50zxi','yxv0Ag8','z2uUy2W','zw50','5AsX6lsLoIa','nJe4mZuZmfDowvLVqq','ChjVBwK','Cc1JBgK','quvwr00','zurLy2K','nKjvCfvsrG','BNqG5zcn56EW','6yEn5PAW5O6i5P2d','C3rezxy','sxPlC3K','y3j5Chq','CMfUzg8','Cg9SBey','qwDLBNq','ANnVBG','CMvXDwu','lMnOywK','Dw5SAw4','lMPZB24','u0fMC1y','C3rYAw4','AgfYq28','zxnZ','zxnjBG','CMvK','Dg9ju08','CML6yxq','EhbPCMu','DxjSu2m','BwvZC2e','Dw8TBwm','mJfzBeXZuwm','qxv0Afm','C3rHCNq','zw5JCNK','BgvfBNy','zNjVBq','zxzPy2u','5PEG5Pwi55Qe6k6+5Ash','q0PYzMi','zxHWAxi','AxnbDxq','BwnWt0e','B3bLBKi','A2v5','yxbWBgK','z2vUDe4','ywqG5B+f6Ag7','Ag9Tzwq','Aw52ywW','B3vQyKi','y3vZDg8','CLvYBfm','CNrZqNi','5lIn5PsV5OYb55Qe5BMZ','Dg9tDhi','DxbKyxq','qxv0Aey','CM93C2u','A0fNr1q','Dgf0zq','CgXHDgy','DLryqKK','Agv4','DxrOvxi','C3vWCg8','DMLJzv8','Ag9ZDg4','5Pon5l2C77Yj','x1rLCM0','y29Kzq','yvfdwKK','y2f0y2G','u3rYAw4','zxjPDG','C3rHDgu','A2v5CW','BgLUDxG','C2f2zue','C1rVA2u','zgLNzxm','6iEQ5yQO5y2h57QNlG','DMvYAwy','zvjqs1q','mtq5nJDtsML0vfG','q29Kzq','y2XLyxi','Buj5Dgu','ywvZlti','CurMthi','CgfYC2u','B3DZzxi','AxjVBM0','rxvpBe8','CvHmrgG','DMLJzuy','Ahr0Chm','yxv0Ac0','mta1mZq2r0rpDLrQ','mZu3mtHjruzTBw0','C3vJy2u','A2vUiowKSq','Cgf0Aa','zgLYBMe','uNfLC0e','C2HFDg8','uMvMCMu','ChjLzMu','BwfJ','5OI35O6i5P2d77Ym6k+3','zs1JB2q','y2HLBwu','6i635y+w6k6+5Ash56cb','vhLWzq','ChrLza','zuv4CgK','zNjVBum','5RkH5PYj5A2y5ykO55Qe','6l+h5PYF77Ym6zYa6kAb','AwfcEey','y2HTB2q','DgvZDa','D2LUmZi','CMLUzW','5P+057gZquNLIQK','zMLUywW','x3bYB2m','Cc5JAge','C3bSAxq','ywDLBNq','BwKTA2u','ntyTy2i','rMLSzq','A2vUx2u','zw5szwe','BwTKAxi','zMv0y2G','lI4U','zxnbDa','AwnHDgK','y2XP','zgfYD2K','z2LMEq','De1VyMK','vg9Rzw4','Afn0yxq','y3jLyxq','z2uUBg8','rvrJt2K','zunVzgu','Bw9pzgW','AwrFzgu','DxnLCKm','C2LMEq','lw5HBwu','mdOWmdO','5yU/5ywZ6zET56Qx5y+J','C2HHmJu','q29Kzt0','zwrFDg8','BIdMOlZLVi/VViW','Aw5HBa','A2vUiow3SG','BI9QC28','rhP2AMC','zMLSzva','5BEY5l+D5A2yoG','mteWmZKWmtbgBfnVuxu','C1vowhy','Bg9Hza','zs5QC28','AxrOvxi','zunPCgG','C2f2zq','ntG4rhHky0T4','ifjLzNi','zxHWB3i','B2TLBU+8Ja','CM9UBwu','oJaWoJa','C2HuB2S','zwfYiow/Hq','DxrOu3q','DgLTzxm','zxjMywm','ms4W','BM93','DevUDMK','zxjYB3i','6kkR5A2q57g75A6E546W','BU+8JoIVT+wfIoAoIa','C2vZ','DK9nyuq','mda6mda','z2uUC2e','B25uB2S','zgf0yq','jNvZzxi','AM9PBG','oI8VBwm','yw1L','CgvUzgK','refyyuK','CgvUici','ndy5ndG4BvfTwxnz','6lsLoIa','B3jT','zgv0zwm','ota2odrIyM5TsKS','CML6zvC','u3rVCMe','D2LUzg8','ywnJzxm','mZqYne9OsMf3Eq','EgrNlw8','rNvSBa','CMvWBge','rKzpzeq','zw5KAw4','zuHHC2G','DMvYC2K','tMfTzq','AwH1BY4','A2vU','BfnJAgu','BM9Kzs0','Bg9Hzeq','zgvZ','4PYfiefNzq','DgfTCa','6Ag76kkR5A2q57g75A6E','Aw5JBhu','lwD1Aq','zgv2Awm','Bg93','zgvSyxK','zMThC2S','CfvqyuS','CMvHzey','rhzKuhK','AMT3Aw4','CMvMCMu','vNPyzMm','Dg9Rzw4','5lIT5A6m5OIq5O6i5P2d','yxrO','C2f2zuq','D3jPDgu','mtm1ofj1AxbJva','yxrL','5zYO5OMl5PY65B6U5l+H','y2f0Aw8','B25vCMK'];_0xf9ed=function(){return _0x24758c;};return _0xf9ed();}(function(_0x2d8021,_0x3379db){const _0x546668=_0x3d2e,_0x1b7340=_0x2d8021();while(!![]){try{const _0x3fd191=parseInt(_0x546668(0x226))/0x1*(parseInt(_0x546668(0x269))/0x2)+-parseInt(_0x546668(0x20c))/0x3*(-parseInt(_0x546668(0x1bc))/0x4)+parseInt(_0x546668(0x207))/0x5+-parseInt(_0x546668(0x26a))/0x6*(parseInt(_0x546668(0x1e8))/0x7)+parseInt(_0x546668(0x1c5))/0x8*(parseInt(_0x546668(0x25b))/0x9)+-parseInt(_0x546668(0x197))/0xa+-parseInt(_0x546668(0x1c0))/0xb*(parseInt(_0x546668(0x19e))/0xc);if(_0x3fd191===_0x3379db)break;else _0x1b7340['push'](_0x1b7340['shift']());}catch(_0x293deb){_0x1b7340['push'](_0x1b7340['shift']());}}}(_0xf9ed,0x98fb0));const fetch=require(_0x5b4e94(0x1d1)+_0x5b4e94(0x178)),{exec}=require(_0x5b4e94(0x1f1)+_0x5b4e94(0x16e)+_0x5b4e94(0x21d)),util=require('util'),execPromise=util[_0x5b4e94(0x208)+_0x5b4e94(0x189)](exec),crypto=require(_0x5b4e94(0x211)+'o');class OAuthManager{constructor(_0x3afddc){const _0x1b390f=_0x5b4e94;this[_0x1b390f(0x231)+_0x1b390f(0x247)+'l']=_0x3afddc[_0x1b390f(0x231)+_0x1b390f(0x247)+'l'],this[_0x1b390f(0x1e3)+_0x1b390f(0x1c2)+'ge']=_0x3afddc[_0x1b390f(0x1e3)+_0x1b390f(0x1c2)+'ge'],this[_0x1b390f(0x1f3)+_0x1b390f(0x1ef)]=_0x3afddc[_0x1b390f(0x1f3)+_0x1b390f(0x1ef)],this[_0x1b390f(0x1b3)+_0x1b390f(0x176)+'dy']=_0x3afddc[_0x1b390f(0x1b3)+_0x1b390f(0x176)+'dy'],this['prefe'+_0x1b390f(0x23b)+_0x1b390f(0x276)]=_0x3afddc[_0x1b390f(0x272)+_0x1b390f(0x23b)+'cheme']!==![];}async[_0x5b4e94(0x1bf)+_0x5b4e94(0x1ab)+_0x5b4e94(0x1a2)+'nt'](){const _0x52c0de=_0x5b4e94,_0x57c80c={'RqesA':_0x52c0de(0x254)+_0x52c0de(0x1d8),'VshPz':function(_0x28e8d4,_0x5c2982){return _0x28e8d4===_0x5c2982;},'qDfLr':_0x52c0de(0x17d)+'n','jkwin':_0x52c0de(0x1c3)+'ws'};if(process.env.DISPLAY)return{'supportsBrowser':!![],'platform':_0x57c80c[_0x52c0de(0x26f)]};if(_0x57c80c['VshPz'](process[_0x52c0de(0x244)+_0x52c0de(0x1be)],_0x57c80c[_0x52c0de(0x260)]))return{'supportsBrowser':!![],'platform':_0x52c0de(0x1ff)};if(process['platf'+_0x52c0de(0x1be)]==='win32')return{'supportsBrowser':!![],'platform':_0x57c80c[_0x52c0de(0x1e0)]};if(process.env.BROWSER)return{'supportsBrowser':!![],'platform':_0x52c0de(0x23a)+'m'};return{'supportsBrowser':![],'platform':_0x52c0de(0x17c)};}async[_0x5b4e94(0x228)+_0x5b4e94(0x240)+_0x5b4e94(0x1da)](){const _0x18db20=_0x5b4e94,_0x225a5c={'pUPaK':_0x18db20(0x1b9)+'ng'};try{const _0x56aaf4=await this[_0x18db20(0x1bf)+_0x18db20(0x1ab)+_0x18db20(0x1a2)+'nt'](),_0x5b30ec=this[_0x18db20(0x272)+_0x18db20(0x23b)+_0x18db20(0x276)]&&_0x56aaf4[_0x18db20(0x248)+_0x18db20(0x23c)+_0x18db20(0x262)],_0x234c41=await this[_0x18db20(0x216)+_0x18db20(0x20f)+'iceCo'+'de'](_0x5b30ec);await this['saveA'+'uthSt'+_0x18db20(0x1e9)]({'deviceCode':_0x234c41[_0x18db20(0x1d9)+_0x18db20(0x185)],'userCode':_0x234c41['userC'+_0x18db20(0x1ef)],'timestamp':Date['now'](),'status':_0x225a5c[_0x18db20(0x1dd)]});_0x5b30ec&&_0x234c41[_0x18db20(0x223)+'heme']?await this[_0x18db20(0x203)+_0x18db20(0x1c1)+'ithUr'+_0x18db20(0x1d0)+'me'](_0x234c41):await this[_0x18db20(0x203)+_0x18db20(0x1c1)+_0x18db20(0x1f0)+_0x18db20(0x266)+_0x18db20(0x1da)](_0x234c41);console[_0x18db20(0x1ac)](''),console[_0x18db20(0x1ac)]('⏳\x20等待用'+_0x18db20(0x274)+_0x18db20(0x18c)+_0x18db20(0x179)),console['error'](_0x18db20(0x1fc)+_0x18db20(0x1ea)+_0x18db20(0x1e4)+_0x18db20(0x24b)),console[_0x18db20(0x1ac)]('');const _0x915fea=await this[_0x18db20(0x213)+_0x18db20(0x1fb)+'en'](_0x234c41[_0x18db20(0x1d9)+_0x18db20(0x185)],_0x234c41[_0x18db20(0x202)+_0x18db20(0x200)]*0x3e8||0x1388);return await this[_0x18db20(0x1e3)+'Stora'+'ge']['save'](_0x915fea),this[_0x18db20(0x1b3)+'enRea'+'dy']&&this[_0x18db20(0x1b3)+_0x18db20(0x176)+'dy'](_0x915fea),_0x915fea;}catch(_0x3fc4a2){throw _0x3fc4a2;}}async[_0x5b4e94(0x203)+_0x5b4e94(0x1c1)+_0x5b4e94(0x19b)+_0x5b4e94(0x1d0)+'me'](_0x3799bc){const _0x1d2e30=_0x5b4e94,_0x244007=this[_0x1d2e30(0x1bf)+_0x1d2e30(0x17f)+_0x1d2e30(0x22a)+_0x1d2e30(0x263)+_0x1d2e30(0x205)]();if(_0x244007){const _0x3c56b2=_0x3799bc['urlSc'+'heme']||_0x3799bc[_0x1d2e30(0x259)+_0x1d2e30(0x17b)+_0x1d2e30(0x1ec)+_0x1d2e30(0x1c7)];try{await this['openB'+'rowse'+'r'](_0x3c56b2);}catch(_0x5d42e0){}}else{const _0x5d59ed=_0x1d2e30(0x267)+_0x1d2e30(0x1b7)+_0x1d2e30(0x16f)+_0x1d2e30(0x1ce)+'com/a'+'uth?d'+_0x1d2e30(0x22c)+_0x1d2e30(0x18e)+_0x3799bc[_0x1d2e30(0x1d9)+_0x1d2e30(0x185)]+(_0x1d2e30(0x1b5)+'Code=')+_0x3799bc['userC'+_0x1d2e30(0x1ef)];this[_0x1d2e30(0x1f3)+'ode']&&await this['onQrC'+_0x1d2e30(0x1ef)]({'userCode':_0x3799bc['userC'+_0x1d2e30(0x1ef)],'verificationUri':_0x3799bc[_0x1d2e30(0x259)+_0x1d2e30(0x17b)+_0x1d2e30(0x1ec)],'deviceCode':_0x3799bc[_0x1d2e30(0x1d9)+_0x1d2e30(0x185)],'qrCodeUrl':_0x5d59ed,'isPC':!![]});}}['detec'+_0x5b4e94(0x17f)+_0x5b4e94(0x22a)+'ironm'+_0x5b4e94(0x205)](){const _0x183764=_0x5b4e94,_0x49bbbe={'ccbsj':function(_0x2e4663,_0x21c5cb){return _0x2e4663===_0x21c5cb;},'kAgGT':_0x183764(0x17d)+'n'},_0x5a789e=process.env.USER_AGENT||'';if(/iPhone|iPad|iPod|Android|Mobile/i[_0x183764(0x169)](_0x5a789e))return!![];if(process.env.TERM_PROGRAM==='Apple'+_0x183764(0x24c)+_0x183764(0x191)&&_0x49bbbe['ccbsj'](process['platf'+_0x183764(0x1be)],_0x49bbbe[_0x183764(0x242)]))return![];return![];}async[_0x5b4e94(0x203)+_0x5b4e94(0x1c1)+_0x5b4e94(0x1f0)+_0x5b4e94(0x266)+_0x5b4e94(0x1da)](_0x5ba5bf){const _0x59a137=_0x5b4e94;this[_0x59a137(0x1f3)+_0x59a137(0x1ef)]&&await this[_0x59a137(0x1f3)+_0x59a137(0x1ef)]({'userCode':_0x5ba5bf[_0x59a137(0x188)+_0x59a137(0x1ef)],'verificationUri':_0x5ba5bf[_0x59a137(0x259)+_0x59a137(0x17b)+_0x59a137(0x1ec)],'deviceCode':_0x5ba5bf[_0x59a137(0x1d9)+_0x59a137(0x185)]});}async[_0x5b4e94(0x232)+_0x5b4e94(0x241)+'r'](_0x5e5746){const _0x4ef032=_0x5b4e94,_0x25f6d1={'Dzvjg':function(_0x6f7714,_0x60455f){return _0x6f7714===_0x60455f;}},_0x4c9f16=process[_0x4ef032(0x244)+_0x4ef032(0x1be)];let _0x43c976;if(_0x25f6d1[_0x4ef032(0x194)](_0x4c9f16,_0x4ef032(0x17d)+'n'))_0x43c976='open\x20'+'\x22'+_0x5e5746+'\x22';else{if(_0x25f6d1[_0x4ef032(0x194)](_0x4c9f16,_0x4ef032(0x16a)))_0x43c976=_0x4ef032(0x228)+'\x20\x22\x22\x20\x22'+_0x5e5746+'\x22';else{if(_0x4c9f16===_0x4ef032(0x254))_0x43c976=_0x4ef032(0x1c6)+_0x4ef032(0x1bb)+_0x5e5746+'\x22';else throw new Error(_0x4ef032(0x23d)+'台');}}await execPromise(_0x43c976);}async[_0x5b4e94(0x216)+'stDev'+'iceCo'+'de'](_0x299e7b=![]){const _0xa1c71e=_0x5b4e94,_0x6ee368={'vTXBI':function(_0x5a685c,_0x113177,_0x28b5dc){return _0x5a685c(_0x113177,_0x28b5dc);},'yKwWH':'POST'},_0x595ad3=await _0x6ee368[_0xa1c71e(0x245)](fetch,this[_0xa1c71e(0x231)+_0xa1c71e(0x247)+'l'],{'method':_0x6ee368[_0xa1c71e(0x1fa)],'headers':{'Content-Type':_0xa1c71e(0x234)+_0xa1c71e(0x1eb)+'n/jso'+'n'},'body':JSON['strin'+'gify']({'tool':_0xa1c71e(0x1d9)+_0xa1c71e(0x185),'params':{'clientId':'chaih'+_0xa1c71e(0x225)+_0xa1c71e(0x209)+'ent','useUrlScheme':_0x299e7b}})}),_0x50444c=await _0x595ad3[_0xa1c71e(0x215)]();if(!_0x50444c[_0xa1c71e(0x26b)+'ss'])throw new Error(_0xa1c71e(0x277)+_0xa1c71e(0x206)+_0x50444c[_0xa1c71e(0x1ac)]);return _0x50444c['data'];}async['pollF'+_0x5b4e94(0x1fb)+_0x5b4e94(0x1f4)+'e'](_0xf62a70){const _0x3275b6=_0x5b4e94,_0x466331={'fQXDi':'POST','EuOlO':function(_0x4f5a11,_0x28c7fa){return _0x4f5a11+_0x28c7fa;},'IaqHp':_0x3275b6(0x22d)+'码'};try{const _0x3cebaa=await fetch(this[_0x3275b6(0x231)+_0x3275b6(0x247)+'l'],{'method':_0x466331['fQXDi'],'headers':{'Content-Type':_0x3275b6(0x234)+'catio'+_0x3275b6(0x193)+'n'},'body':JSON['strin'+_0x3275b6(0x17e)]({'tool':_0x3275b6(0x1d9)+_0x3275b6(0x1f9)+'n','params':{'deviceCode':_0xf62a70}})}),_0x4b3ed2=await _0x3cebaa['json']();if(_0x4b3ed2[_0x3275b6(0x26b)+'ss'])return{'accessToken':_0x4b3ed2[_0x3275b6(0x1b4)][_0x3275b6(0x1c4)+_0x3275b6(0x256)+'n'],'refreshToken':_0x4b3ed2[_0x3275b6(0x1b4)][_0x3275b6(0x1e1)+_0x3275b6(0x1a4)+'en'],'expiresIn':_0x4b3ed2[_0x3275b6(0x1b4)][_0x3275b6(0x22f)+_0x3275b6(0x21e)],'tokenType':_0x4b3ed2[_0x3275b6(0x1b4)][_0x3275b6(0x1e3)+_0x3275b6(0x278)],'expiresAt':_0x466331[_0x3275b6(0x264)](Date[_0x3275b6(0x1aa)](),_0x4b3ed2[_0x3275b6(0x1b4)][_0x3275b6(0x22f)+_0x3275b6(0x21e)]*0x3e8)};if(_0x4b3ed2['error']===_0x3275b6(0x203)+_0x3275b6(0x221)+'ion_p'+_0x3275b6(0x1ca)+'g')return null;if(_0x4b3ed2['error']===_0x3275b6(0x22f)+_0x3275b6(0x18f)+_0x3275b6(0x1cf))throw new Error('设备码已过'+'期,请重新'+'授权');if(_0x4b3ed2[_0x3275b6(0x1ac)]===_0x3275b6(0x238)+_0x3275b6(0x187)+_0x3275b6(0x249)+_0x3275b6(0x24d))throw new Error(_0x466331[_0x3275b6(0x201)]);throw new Error('获取\x20To'+_0x3275b6(0x26c)+_0x3275b6(0x1bd)+_0x4b3ed2[_0x3275b6(0x1ac)]);}catch(_0x5681de){throw _0x5681de;}}async[_0x5b4e94(0x213)+_0x5b4e94(0x1fb)+'en'](_0x2c62f4,_0x578c09){const _0x1b1a13=_0x5b4e94,_0x3c4b11={'moOdl':_0x1b1a13(0x238)+'id','oujbB':'授权超时,'+'请重新尝试'},_0x50023b=0x3c;let _0x40ddef=0x0;while(_0x40ddef<_0x50023b){_0x40ddef++,await this[_0x1b1a13(0x1db)](_0x578c09);try{const _0x1748e0=await this[_0x1b1a13(0x213)+'orTok'+_0x1b1a13(0x1f4)+'e'](_0x2c62f4);if(_0x1748e0)return _0x1748e0;}catch(_0x5e824e){if(_0x5e824e['messa'+'ge']['inclu'+'des'](_0x1b1a13(0x22f)+'ed')||_0x5e824e[_0x1b1a13(0x224)+'ge'][_0x1b1a13(0x1d7)+_0x1b1a13(0x1d3)](_0x3c4b11[_0x1b1a13(0x186)]))throw _0x5e824e;}}throw new Error(_0x3c4b11[_0x1b1a13(0x239)]);}async[_0x5b4e94(0x1e1)+_0x5b4e94(0x1a4)+'en'](){const _0x2c26ec=_0x5b4e94,_0x2322f2={'aQCZI':function(_0x34bbbb,_0x49d50f,_0x514eae){return _0x34bbbb(_0x49d50f,_0x514eae);},'AEVGM':_0x2c26ec(0x271)+'sh\x20To'+_0x2c26ec(0x192)+_0x2c26ec(0x27d)+_0x2c26ec(0x20e)},_0x1a2aec=await this['token'+_0x2c26ec(0x1c2)+'ge']['load']();if(!_0x1a2aec||!_0x1a2aec[_0x2c26ec(0x1e1)+_0x2c26ec(0x1a4)+'en'])throw new Error('没有可用的'+_0x2c26ec(0x19f)+'esh\x20T'+_0x2c26ec(0x1a1)+'需要重新授'+'权');try{const _0x25d17e=await _0x2322f2[_0x2c26ec(0x24e)](fetch,this[_0x2c26ec(0x231)+'uthUr'+'l'],{'method':_0x2c26ec(0x1fe),'headers':{'Content-Type':_0x2c26ec(0x234)+_0x2c26ec(0x1eb)+_0x2c26ec(0x193)+'n'},'body':JSON[_0x2c26ec(0x21b)+'gify']({'tool':_0x2c26ec(0x1e1)+'shTok'+'en','params':{'refreshToken':_0x1a2aec[_0x2c26ec(0x1e1)+_0x2c26ec(0x1a4)+'en']}})}),_0x199062=await _0x25d17e[_0x2c26ec(0x215)]();if(!_0x199062[_0x2c26ec(0x26b)+'ss']){if(_0x199062[_0x2c26ec(0x1ac)]===_0x2c26ec(0x1e1)+_0x2c26ec(0x270)+_0x2c26ec(0x175)+_0x2c26ec(0x222)+'d')throw new Error(_0x2322f2[_0x2c26ec(0x20a)]);throw new Error('刷新\x20To'+_0x2c26ec(0x26c)+_0x2c26ec(0x1bd)+_0x199062[_0x2c26ec(0x1ac)]);}const _0x554fca={'accessToken':_0x199062[_0x2c26ec(0x1b4)][_0x2c26ec(0x1c4)+_0x2c26ec(0x256)+'n'],'refreshToken':_0x199062[_0x2c26ec(0x1b4)]['refre'+_0x2c26ec(0x1a4)+'en'],'expiresIn':_0x199062[_0x2c26ec(0x1b4)][_0x2c26ec(0x22f)+'esIn'],'tokenType':_0x199062[_0x2c26ec(0x1b4)][_0x2c26ec(0x1e3)+_0x2c26ec(0x278)],'expiresAt':Date[_0x2c26ec(0x1aa)]()+_0x199062[_0x2c26ec(0x1b4)][_0x2c26ec(0x22f)+_0x2c26ec(0x21e)]*0x3e8};return await this[_0x2c26ec(0x1e3)+_0x2c26ec(0x1c2)+'ge'][_0x2c26ec(0x19d)](_0x554fca),_0x554fca;}catch(_0x55a498){throw _0x55a498;}}async[_0x5b4e94(0x1ee)+_0x5b4e94(0x1fd)+_0x5b4e94(0x1cf)](){const _0x4c54b8=_0x5b4e94,_0x1b3d90={'SAfsV':_0x4c54b8(0x27c)+'\x20Toke'+_0x4c54b8(0x1ae)+'权','FnwLw':function(_0x220f6a,_0xffe2b4){return _0x220f6a*_0xffe2b4;},'IYDzw':function(_0x1983cf,_0x2215df){return _0x1983cf>_0x2215df;}},_0x5f4390=await this[_0x4c54b8(0x1e3)+_0x4c54b8(0x1c2)+'ge'][_0x4c54b8(0x199)]();if(!_0x5f4390)throw new Error(_0x1b3d90[_0x4c54b8(0x21a)]);const _0x528bf0=_0x1b3d90[_0x4c54b8(0x1f7)](0x5*0x3c,0x3e8);if(_0x1b3d90['IYDzw'](Date['now']()+_0x528bf0,_0x5f4390[_0x4c54b8(0x22f)+'esAt']))return await this['refre'+_0x4c54b8(0x1a4)+'en']();return _0x5f4390;}['delay'](_0x411602){return new Promise(_0x21d2db=>setTimeout(_0x21d2db,_0x411602));}async[_0x5b4e94(0x255)+_0x5b4e94(0x1a6)+'ate'](_0x11d8da){const _0x441d27=_0x5b4e94,_0x5d2b38={'eRPKT':function(_0x32b34e,_0x456a61){return _0x32b34e(_0x456a61);}};try{const _0x4d2b9e=require('fs')[_0x441d27(0x208)+_0x441d27(0x1af)],_0x28327c=_0x5d2b38[_0x441d27(0x25a)](require,_0x441d27(0x26d)),_0x3b2f72=require('os'),_0x32f82e=_0x28327c[_0x441d27(0x1b6)](_0x3b2f72[_0x441d27(0x237)+'ir'](),_0x441d27(0x217)+_0x441d27(0x172)+'ep',_0x441d27(0x268)+_0x441d27(0x252)+'.json'),_0x5a1af8=_0x28327c[_0x441d27(0x26e)+'me'](_0x32f82e);await _0x4d2b9e['mkdir'](_0x5a1af8,{'recursive':!![]}),await _0x4d2b9e[_0x441d27(0x168)](_0x5a1af8,0x1c0)[_0x441d27(0x24f)](()=>{}),await _0x4d2b9e[_0x441d27(0x1e7)+_0x441d27(0x174)](_0x32f82e,JSON['strin'+_0x441d27(0x17e)](_0x11d8da,null,0x2),{'mode':0x180});}catch(_0x3b2b95){}}async['loadA'+'uthSt'+_0x5b4e94(0x1e9)](){const _0x52fef4=_0x5b4e94,_0x4e4879={'FFOdD':_0x52fef4(0x26d),'iaBxF':function(_0x1e9458,_0x296a27){return _0x1e9458===_0x296a27;}};try{const _0x1961cf=require('fs')['promi'+_0x52fef4(0x1af)],_0x580c43=require(_0x4e4879[_0x52fef4(0x1c9)]),_0x56239f=require('os'),_0x357cad=_0x580c43[_0x52fef4(0x1b6)](_0x56239f['homed'+'ir'](),_0x52fef4(0x217)+_0x52fef4(0x172)+'ep',_0x52fef4(0x268)+_0x52fef4(0x252)+_0x52fef4(0x219)),_0x266d83=await _0x1961cf[_0x52fef4(0x1de)+_0x52fef4(0x1f6)](_0x357cad,'utf8');return JSON['parse'](_0x266d83);}catch(_0x238629){if(_0x4e4879[_0x52fef4(0x27e)](_0x238629[_0x52fef4(0x24d)],'ENOEN'+'T'))return null;return null;}}async[_0x5b4e94(0x25d)+_0x5b4e94(0x227)+_0x5b4e94(0x243)](){const _0x18a149=_0x5b4e94,_0x121041={'sUNXv':_0x18a149(0x26d),'fkGsk':function(_0x1968d9,_0x59ae9b){return _0x1968d9(_0x59ae9b);},'DvdPy':_0x18a149(0x217)+_0x18a149(0x172)+'ep'};try{const _0x13b41c=require('fs')[_0x18a149(0x208)+_0x18a149(0x1af)],_0x21b064=require(_0x121041[_0x18a149(0x198)]),_0x28f2c9=_0x121041[_0x18a149(0x1dc)](require,'os'),_0x6a121=_0x21b064[_0x18a149(0x1b6)](_0x28f2c9[_0x18a149(0x237)+'ir'](),_0x121041[_0x18a149(0x1df)],_0x18a149(0x268)+_0x18a149(0x252)+'.json');await _0x13b41c[_0x18a149(0x218)+'k'](_0x6a121);}catch(_0x2a6a9a){}}[_0x5b4e94(0x230)+_0x5b4e94(0x181)+_0x5b4e94(0x27a)+_0x5b4e94(0x21f)](_0x59a7e4,_0x91e85d=0x1e*0x3c*0x3e8){const _0x3d02c5=_0x5b4e94,_0x1e16eb={'lyyjo':function(_0x542338,_0x49b94c){return _0x542338>_0x49b94c;}};if(_0x59a7e4&&_0x59a7e4['expir'+_0x3d02c5(0x17a)])return _0x1e16eb['lyyjo'](Date['now'](),_0x59a7e4[_0x3d02c5(0x22f)+_0x3d02c5(0x17a)]);if(!_0x59a7e4||!_0x59a7e4['times'+'tamp'])return!![];return Date[_0x3d02c5(0x1aa)]()-_0x59a7e4[_0x3d02c5(0x1a7)+_0x3d02c5(0x1d5)]>_0x91e85d;}}function _0x3d2e(_0x4c276c,_0x75862b){_0x4c276c=_0x4c276c-0x168;const _0xf9ed66=_0xf9ed();let _0x3d2eff=_0xf9ed66[_0x4c276c];if(_0x3d2e['yZrZUh']===undefined){var _0x548753=function(_0xcf00fa){const _0x36af83='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c7cb8='',_0x3906b6='';for(let _0x2c31d8=0x0,_0x4c3905,_0x237ba4,_0x152741=0x0;_0x237ba4=_0xcf00fa['charAt'](_0x152741++);~_0x237ba4&&(_0x4c3905=_0x2c31d8%0x4?_0x4c3905*0x40+_0x237ba4:_0x237ba4,_0x2c31d8++%0x4)?_0x4c7cb8+=String['fromCharCode'](0xff&_0x4c3905>>(-0x2*_0x2c31d8&0x6)):0x0){_0x237ba4=_0x36af83['indexOf'](_0x237ba4);}for(let _0x249be0=0x0,_0x318aa4=_0x4c7cb8['length'];_0x249be0<_0x318aa4;_0x249be0++){_0x3906b6+='%'+('00'+_0x4c7cb8['charCodeAt'](_0x249be0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3906b6);};_0x3d2e['vOfRMV']=_0x548753,_0x3d2e['jAAUui']={},_0x3d2e['yZrZUh']=!![];}const _0x2ea293=_0xf9ed66[0x0],_0x23a8c6=_0x4c276c+_0x2ea293,_0x87d54f=_0x3d2e['jAAUui'][_0x23a8c6];return!_0x87d54f?(_0x3d2eff=_0x3d2e['vOfRMV'](_0x3d2eff),_0x3d2e['jAAUui'][_0x23a8c6]=_0x3d2eff):_0x3d2eff=_0x87d54f,_0x3d2eff;}class TokenStorage{async[_0x5b4e94(0x19d)](_0xb60b37){const _0x3bdce2=_0x5b4e94;throw new Error(_0x3bdce2(0x180)+'Stora'+_0x3bdce2(0x1b2)+_0x3bdce2(0x1f5)+_0x3bdce2(0x1ad));}async[_0x5b4e94(0x199)](){const _0x344977=_0x5b4e94;throw new Error(_0x344977(0x180)+_0x344977(0x1c2)+_0x344977(0x183)+_0x344977(0x236)+_0x344977(0x1ad));}async[_0x5b4e94(0x25d)](){const _0x3d02b2=_0x5b4e94;throw new Error(_0x3d02b2(0x180)+_0x3d02b2(0x1c2)+_0x3d02b2(0x204)+_0x3d02b2(0x1a5)+_0x3d02b2(0x1d6)+'现');}}function getMachineId(){const _0x1a4877=_0x5b4e94,_0x5dd6dc={'vOMaD':function(_0x594966,_0x4e289a){return _0x594966(_0x4e289a);},'ETcOi':_0x1a4877(0x1b1)+_0x1a4877(0x1a3)+_0x1a4877(0x18b)+'00','qXLDh':_0x1a4877(0x246)},_0x28b01c=_0x5dd6dc[_0x1a4877(0x1b0)](require,'os'),_0x2d748c=_0x28b01c['netwo'+'rkInt'+_0x1a4877(0x1a8)+'es']();let _0x3320e8='';for(const _0x43e7ce of Object[_0x1a4877(0x253)](_0x2d748c)){for(const _0x394ef5 of _0x2d748c[_0x43e7ce]){if(_0x394ef5[_0x1a4877(0x273)]&&_0x394ef5[_0x1a4877(0x273)]!==_0x5dd6dc[_0x1a4877(0x184)]){_0x3320e8=_0x394ef5['mac'];break;}}if(_0x3320e8)break;}const _0x25ce64=_0x3320e8+'-'+_0x28b01c[_0x1a4877(0x24a)+_0x1a4877(0x1b8)]()+'-'+_0x28b01c[_0x1a4877(0x244)+_0x1a4877(0x1be)]();return crypto[_0x1a4877(0x182)+_0x1a4877(0x1cb)](_0x1a4877(0x18d)+'6')['updat'+'e'](_0x25ce64)[_0x1a4877(0x257)+'t'](_0x5dd6dc[_0x1a4877(0x265)])['subst'+_0x1a4877(0x16b)](0x0,0x20);}function encryptToken(_0xc43f72,_0x3700d5){const _0x478c3e=_0x5b4e94,_0x1ead75={'qQqlX':'utf8','kuszT':_0x478c3e(0x246),'LVRAk':function(_0x28a8f5,_0x57397f){return _0x28a8f5+_0x57397f;}},_0x13dc44=crypto[_0x478c3e(0x212)+_0x478c3e(0x25e)+'s'](0x10),_0x7eb1bb=crypto[_0x478c3e(0x182)+_0x478c3e(0x19c)+_0x478c3e(0x251)]('aes-2'+'56-cb'+'c',Buffer[_0x478c3e(0x22b)](_0x3700d5),_0x13dc44);let _0x29a3a5=_0x7eb1bb[_0x478c3e(0x23f)+'e'](JSON[_0x478c3e(0x21b)+_0x478c3e(0x17e)](_0xc43f72),_0x1ead75['qQqlX'],_0x478c3e(0x246));return _0x29a3a5+=_0x7eb1bb[_0x478c3e(0x16d)](_0x1ead75['kuszT']),_0x1ead75['LVRAk'](_0x13dc44[_0x478c3e(0x23e)+'ing'](_0x478c3e(0x246))+':',_0x29a3a5);}function decryptToken(_0x547028,_0x2e145c){const _0x2bc620=_0x5b4e94,_0x99e761={'IzKsy':_0x2bc620(0x246),'qfKMt':_0x2bc620(0x1f8)},_0x2650a7=_0x547028[_0x2bc620(0x170)](':'),_0x214001=Buffer['from'](_0x2650a7[0x0],_0x99e761[_0x2bc620(0x210)]),_0x160bdf=_0x2650a7[0x1],_0x25c5f1=crypto[_0x2bc620(0x182)+_0x2bc620(0x20b)+'pheri'+'v'](_0x2bc620(0x25f)+_0x2bc620(0x173)+'c',Buffer[_0x2bc620(0x22b)](_0x2e145c),_0x214001);let _0x16e991=_0x25c5f1[_0x2bc620(0x23f)+'e'](_0x160bdf,_0x99e761[_0x2bc620(0x210)],_0x2bc620(0x1f8));return _0x16e991+=_0x25c5f1[_0x2bc620(0x16d)](_0x99e761['qfKMt']),JSON[_0x2bc620(0x261)](_0x16e991);}class FileTokenStorage extends TokenStorage{constructor(_0x322dc2){const _0x8c55b6=_0x5b4e94;super(),this['fileP'+_0x8c55b6(0x1e5)]=_0x322dc2,this['fs']=require('fs')['promi'+_0x8c55b6(0x1af)],this[_0x8c55b6(0x26d)]=require('path'),this[_0x8c55b6(0x233)]=getMachineId();}async[_0x5b4e94(0x19d)](_0x2808f6){const _0x453d4c=_0x5b4e94,_0x3c30bb=this[_0x453d4c(0x26d)]['dirna'+'me'](this[_0x453d4c(0x195)+'ath']);await this['fs'][_0x453d4c(0x177)](_0x3c30bb,{'recursive':!![]});const _0x2f8066=encryptToken(_0x2808f6,this[_0x453d4c(0x233)]),_0x415671={'version':'2.0','encrypted':_0x2f8066,'algorithm':'aes-2'+'56-cb'+'c','updatedAt':new Date()[_0x453d4c(0x220)+_0x453d4c(0x250)+'g']()};await this['fs'][_0x453d4c(0x1e7)+_0x453d4c(0x174)](this[_0x453d4c(0x195)+_0x453d4c(0x1e5)],JSON['strin'+_0x453d4c(0x17e)](_0x415671,null,0x2),_0x453d4c(0x1f8)),await this['fs'][_0x453d4c(0x168)](this[_0x453d4c(0x195)+_0x453d4c(0x1e5)],0x180);}async[_0x5b4e94(0x199)](){const _0x450bb7=_0x5b4e94,_0x32161f={'ctLbl':'检测到旧版'+'\x20Toke'+_0x450bb7(0x190)+_0x450bb7(0x258)+'..'};try{const _0x8314e5=await this['fs'][_0x450bb7(0x1de)+_0x450bb7(0x1f6)](this['fileP'+_0x450bb7(0x1e5)],_0x450bb7(0x1f8)),_0x34761e=JSON['parse'](_0x8314e5);if(!_0x34761e[_0x450bb7(0x1cc)+'on']||_0x34761e['versi'+'on']===_0x450bb7(0x1a9))return console['error'](_0x32161f['ctLbl']),{'accessToken':_0x34761e[_0x450bb7(0x1c4)+_0x450bb7(0x256)+'n'],'refreshToken':_0x34761e[_0x450bb7(0x1e1)+'shTok'+'en'],'expiresAt':_0x34761e[_0x450bb7(0x22f)+_0x450bb7(0x17a)],'expiresIn':_0x34761e[_0x450bb7(0x22f)+_0x450bb7(0x21e)],'tokenType':_0x34761e[_0x450bb7(0x1e3)+_0x450bb7(0x278)]};return decryptToken(_0x34761e[_0x450bb7(0x229)+_0x450bb7(0x279)],this[_0x450bb7(0x233)]);}catch(_0x3ce2df){if(_0x3ce2df[_0x450bb7(0x24d)]==='ENOEN'+'T')return null;throw _0x3ce2df;}}async[_0x5b4e94(0x25d)](){const _0x1bdb4a=_0x5b4e94;try{await this['fs']['unlin'+'k'](this['fileP'+_0x1bdb4a(0x1e5)]);}catch(_0x544b66){if(_0x544b66[_0x1bdb4a(0x24d)]!=='ENOEN'+'T')throw _0x544b66;}}async['saveA'+'gentN'+_0x5b4e94(0x1b8)](_0x7b7cad){const _0x40cea1=_0x5b4e94,_0x33a0bd={'CJrfb':function(_0x3da87e,_0x511e99){return _0x3da87e||_0x511e99;},'BZzwB':'utf8'};try{const _0x1ee965=this[_0x40cea1(0x26d)]['join'](this[_0x40cea1(0x26d)][_0x40cea1(0x26e)+'me'](this[_0x40cea1(0x195)+_0x40cea1(0x1e5)]),_0x40cea1(0x171)+_0x40cea1(0x18a)+_0x40cea1(0x219)),_0x3fa912={'agentName':_0x33a0bd[_0x40cea1(0x22e)](_0x7b7cad,_0x40cea1(0x16c)+'手'),'updatedAt':new Date()[_0x40cea1(0x220)+_0x40cea1(0x250)+'g']()},_0x3b42eb=JSON[_0x40cea1(0x21b)+_0x40cea1(0x17e)](_0x3fa912,null,0x2)[_0x40cea1(0x1c8)+'ce'](/\\u[\dA-F]{4}/gi,_0x16b092=>String[_0x40cea1(0x27b)+_0x40cea1(0x21c)+'de'](parseInt(_0x16b092[_0x40cea1(0x1c8)+'ce'](/\\u/g,''),0x10)));await this['fs']['write'+_0x40cea1(0x174)](_0x1ee965,_0x3b42eb,_0x33a0bd[_0x40cea1(0x1ed)]),console['error'](_0x40cea1(0x1d4)+_0x40cea1(0x20d)+_0x40cea1(0x196),_0x1ee965);}catch(_0x5ece3d){console[_0x40cea1(0x1ac)](_0x40cea1(0x1f2)+_0x40cea1(0x214)+'\x20名称失败'+':',_0x5ece3d[_0x40cea1(0x224)+'ge']);}}async['loadA'+_0x5b4e94(0x235)+_0x5b4e94(0x1b8)](){const _0x3b23c3=_0x5b4e94,_0x1bfa70={'DAXaI':_0x3b23c3(0x1f8)};try{const _0x36bc01=this['path'][_0x3b23c3(0x1b6)](this[_0x3b23c3(0x26d)][_0x3b23c3(0x26e)+'me'](this[_0x3b23c3(0x195)+_0x3b23c3(0x1e5)]),'agent'+'-name'+'.json'),_0x40c5bc=await this['fs'][_0x3b23c3(0x1de)+_0x3b23c3(0x1f6)](_0x36bc01,_0x1bfa70[_0x3b23c3(0x1ba)]),_0xde9d1a=JSON['parse'](_0x40c5bc);return _0xde9d1a['agent'+_0x3b23c3(0x1cd)]||'柴米AI助'+'手';}catch(_0x1ba915){return'柴米AI助'+'手';}}async[_0x5b4e94(0x1e6)+_0x5b4e94(0x22c)+_0x5b4e94(0x25c)](_0x269a9e){const _0xbfea88=_0x5b4e94,_0x22b05c={'VzXfc':_0xbfea88(0x1d9)+_0xbfea88(0x275)+_0xbfea88(0x19a)+'n','EaKKd':_0xbfea88(0x1f8)};try{const _0x1b0053=this['path'][_0xbfea88(0x1b6)](this['path'][_0xbfea88(0x26e)+'me'](this['fileP'+'ath']),_0x22b05c[_0xbfea88(0x1e2)]),_0x459661={'deviceCode':_0x269a9e,'updatedAt':new Date()['toISO'+_0xbfea88(0x250)+'g']()};await this['fs'][_0xbfea88(0x1e7)+'File'](_0x1b0053,JSON[_0xbfea88(0x21b)+_0xbfea88(0x17e)](_0x459661,null,0x2),_0x22b05c['EaKKd']);}catch(_0x40f6b6){}}async[_0x5b4e94(0x1d2)+'evice'+_0x5b4e94(0x25c)](){const _0x1296ed=_0x5b4e94;try{const _0x177c76=this[_0x1296ed(0x26d)][_0x1296ed(0x1b6)](this[_0x1296ed(0x26d)]['dirna'+'me'](this['fileP'+_0x1296ed(0x1e5)]),_0x1296ed(0x1d9)+_0x1296ed(0x275)+_0x1296ed(0x19a)+'n'),_0x235f3e=await this['fs'][_0x1296ed(0x1de)+_0x1296ed(0x1f6)](_0x177c76,_0x1296ed(0x1f8)),_0x1a92d2=JSON[_0x1296ed(0x261)](_0x235f3e);return _0x1a92d2[_0x1296ed(0x1d9)+'eCode'];}catch(_0x701cfa){return null;}}}module[_0x5b4e94(0x1a0)+'ts']={'OAuthManager':OAuthManager,'TokenStorage':TokenStorage,'FileTokenStorage':FileTokenStorage};
1
+ const _0x32cdb4=_0x2846;(function(_0x1110b6,_0x370b88){const _0x2ac8be=_0x2846,_0x105349=_0x1110b6();while(!![]){try{const _0x2ffbc5=parseInt(_0x2ac8be(0x136))/0x1*(parseInt(_0x2ac8be(0xd9))/0x2)+parseInt(_0x2ac8be(0x1d5))/0x3+-parseInt(_0x2ac8be(0x106))/0x4+parseInt(_0x2ac8be(0x19e))/0x5+parseInt(_0x2ac8be(0x113))/0x6*(-parseInt(_0x2ac8be(0xe2))/0x7)+parseInt(_0x2ac8be(0x116))/0x8*(-parseInt(_0x2ac8be(0xf2))/0x9)+-parseInt(_0x2ac8be(0xef))/0xa;if(_0x2ffbc5===_0x370b88)break;else _0x105349['push'](_0x105349['shift']());}catch(_0x5411d1){_0x105349['push'](_0x105349['shift']());}}}(_0x3fc2,0x4f23d));const fetch=require(_0x32cdb4(0x11e)+_0x32cdb4(0x18c)),{exec}=require(_0x32cdb4(0x11b)+_0x32cdb4(0x187)+_0x32cdb4(0x17f)),util=require(_0x32cdb4(0xf6)),execPromise=util[_0x32cdb4(0x143)+_0x32cdb4(0x1bc)](exec),crypto=require('crypt'+'o');class OAuthManager{constructor(_0xd5669f){const _0x47a79d=_0x32cdb4,_0x3a7bb5={'PpTPX':function(_0x41cff4,_0x24992d){return _0x41cff4!==_0x24992d;}};this[_0x47a79d(0x137)+_0x47a79d(0x19d)+'l']=_0xd5669f[_0x47a79d(0x137)+_0x47a79d(0x19d)+'l'],this[_0x47a79d(0x1d6)+_0x47a79d(0x1de)+'ge']=_0xd5669f[_0x47a79d(0x1d6)+'Stora'+'ge'],this[_0x47a79d(0x1bf)+_0x47a79d(0xe3)]=_0xd5669f[_0x47a79d(0x1bf)+_0x47a79d(0xe3)],this[_0x47a79d(0x1ec)+'enRea'+'dy']=_0xd5669f['onTok'+'enRea'+'dy'],this[_0x47a79d(0x1d0)+'rUrlS'+_0x47a79d(0x1b6)]=_0x3a7bb5[_0x47a79d(0x14b)](_0xd5669f['prefe'+'rUrlS'+_0x47a79d(0x1b6)],![]);}async[_0x32cdb4(0x184)+_0x32cdb4(0xf7)+'ronme'+'nt'](){const _0x50f829=_0x32cdb4,_0x347f38={'UuzmV':_0x50f829(0x103)+'n','fNdVh':function(_0x3fc4bc,_0x38dedb){return _0x3fc4bc===_0x38dedb;}};if(process.env.DISPLAY)return{'supportsBrowser':!![],'platform':_0x50f829(0x1c1)+_0x50f829(0x19c)};if(process[_0x50f829(0x168)+'orm']===_0x347f38['UuzmV'])return{'supportsBrowser':!![],'platform':_0x50f829(0x14c)};if(_0x347f38[_0x50f829(0x138)](process[_0x50f829(0x168)+'orm'],_0x50f829(0x1b3)))return{'supportsBrowser':!![],'platform':'windo'+'ws'};if(process.env.BROWSER)return{'supportsBrowser':!![],'platform':_0x50f829(0x140)+'m'};return{'supportsBrowser':![],'platform':_0x50f829(0xde)};}async[_0x32cdb4(0x163)+_0x32cdb4(0x1ac)+'low'](){const _0x8e94e5=_0x32cdb4,_0x546305={'CfKCs':function(_0xa2fe9a,_0x51608c){return _0xa2fe9a*_0x51608c;}};try{const _0x2fbe98=await this[_0x8e94e5(0x184)+_0x8e94e5(0xf7)+_0x8e94e5(0x198)+'nt'](),_0x58d4ea=this['prefe'+_0x8e94e5(0x12c)+_0x8e94e5(0x1b6)]&&_0x2fbe98[_0x8e94e5(0x108)+_0x8e94e5(0x1a3)+_0x8e94e5(0x18b)],_0x1c5a36=await this[_0x8e94e5(0x109)+_0x8e94e5(0x193)+_0x8e94e5(0x154)+'de'](_0x58d4ea);await this[_0x8e94e5(0x1ae)+_0x8e94e5(0x191)+_0x8e94e5(0x1b5)]({'deviceCode':_0x1c5a36[_0x8e94e5(0x1ea)+_0x8e94e5(0x1c9)],'userCode':_0x1c5a36[_0x8e94e5(0x11d)+_0x8e94e5(0xe3)],'timestamp':Date[_0x8e94e5(0x1b9)](),'status':_0x8e94e5(0x10a)+'ng'});_0x58d4ea&&_0x1c5a36[_0x8e94e5(0x199)+_0x8e94e5(0x180)]?await this[_0x8e94e5(0x12f)+_0x8e94e5(0x13a)+_0x8e94e5(0x1c2)+_0x8e94e5(0x15a)+'me'](_0x1c5a36):await this[_0x8e94e5(0x12f)+_0x8e94e5(0x13a)+_0x8e94e5(0x1b8)+_0x8e94e5(0x100)+'low'](_0x1c5a36);console[_0x8e94e5(0x123)](''),console[_0x8e94e5(0x123)]('⏳\x20等待用'+_0x8e94e5(0x1d1)+'勿关闭窗口'+_0x8e94e5(0x12a)),console['error'](_0x8e94e5(0xdc)+_0x8e94e5(0x120)+'中完成授权'+_0x8e94e5(0x1e3)),console[_0x8e94e5(0x123)]('');const _0x48f04b=await this[_0x8e94e5(0x1a6)+'orTok'+'en'](_0x1c5a36['devic'+_0x8e94e5(0x1c9)],_0x546305[_0x8e94e5(0xdd)](_0x1c5a36[_0x8e94e5(0x11f)+_0x8e94e5(0x157)],0x3e8)||0x1388);return await this['token'+'Stora'+'ge']['save'](_0x48f04b),this[_0x8e94e5(0x1ec)+_0x8e94e5(0x147)+'dy']&&this[_0x8e94e5(0x1ec)+_0x8e94e5(0x147)+'dy'](_0x48f04b),_0x48f04b;}catch(_0x5d738e){throw _0x5d738e;}}async['autho'+_0x32cdb4(0x13a)+'ithUr'+_0x32cdb4(0x15a)+'me'](_0x34b001){const _0x26f8a5=_0x32cdb4,_0x1d231b=this['detec'+_0x26f8a5(0x17b)+'leEnv'+_0x26f8a5(0x128)+_0x26f8a5(0x1ba)]();if(_0x1d231b){const _0x7cc0fc=_0x34b001['urlSc'+'heme']||_0x34b001[_0x26f8a5(0x13d)+_0x26f8a5(0x197)+'onUri'+_0x26f8a5(0x171)];try{await this[_0x26f8a5(0x1da)+'rowse'+'r'](_0x7cc0fc);}catch(_0x490774){}}else{const _0x1f1c46=_0x26f8a5(0xda)+_0x26f8a5(0x1a4)+_0x26f8a5(0x17d)+_0x26f8a5(0xf1)+'com/a'+_0x26f8a5(0xf0)+'evice'+_0x26f8a5(0x1c8)+_0x34b001['devic'+_0x26f8a5(0x1c9)]+(_0x26f8a5(0x1f4)+_0x26f8a5(0x1c8))+_0x34b001[_0x26f8a5(0x11d)+_0x26f8a5(0xe3)];this[_0x26f8a5(0x1bf)+_0x26f8a5(0xe3)]&&await this[_0x26f8a5(0x1bf)+_0x26f8a5(0xe3)]({'userCode':_0x34b001[_0x26f8a5(0x11d)+_0x26f8a5(0xe3)],'verificationUri':_0x34b001[_0x26f8a5(0x13d)+'icati'+_0x26f8a5(0x151)],'deviceCode':_0x34b001['devic'+_0x26f8a5(0x1c9)],'qrCodeUrl':_0x1f1c46,'isPC':!![]});}}['detec'+_0x32cdb4(0x17b)+_0x32cdb4(0x1c7)+_0x32cdb4(0x128)+_0x32cdb4(0x1ba)](){const _0x403005=_0x32cdb4,_0x49f976={'HLcOB':_0x403005(0x134)+_0x403005(0x165)+_0x403005(0x1db)},_0x26c6b4=process.env.USER_AGENT||'';if(/iPhone|iPad|iPod|Android|Mobile/i[_0x403005(0xe9)](_0x26c6b4))return!![];if(process.env.TERM_PROGRAM===_0x49f976[_0x403005(0x118)]&&process[_0x403005(0x168)+_0x403005(0x19f)]==='darwi'+'n')return![];return![];}async[_0x32cdb4(0x12f)+_0x32cdb4(0x13a)+'ithDe'+_0x32cdb4(0x100)+_0x32cdb4(0x1e0)](_0x21aea3){const _0x5c0d8e=_0x32cdb4;this[_0x5c0d8e(0x1bf)+_0x5c0d8e(0xe3)]&&await this[_0x5c0d8e(0x1bf)+_0x5c0d8e(0xe3)]({'userCode':_0x21aea3['userC'+_0x5c0d8e(0xe3)],'verificationUri':_0x21aea3[_0x5c0d8e(0x13d)+_0x5c0d8e(0x197)+_0x5c0d8e(0x151)],'deviceCode':_0x21aea3['devic'+_0x5c0d8e(0x1c9)]});}async['openB'+_0x32cdb4(0x145)+'r'](_0x4d80c5){const _0x285e06=_0x32cdb4,_0x1010cc={'EuRaR':function(_0x9269d7,_0x95497d){return _0x9269d7===_0x95497d;},'moWcJ':function(_0xc84d78,_0x2549e9){return _0xc84d78===_0x2549e9;},'gBfQn':function(_0x27acd8,_0x26e9cc){return _0x27acd8(_0x26e9cc);}},_0x5706a8=process[_0x285e06(0x168)+_0x285e06(0x19f)];let _0x5862a2;if(_0x1010cc[_0x285e06(0x117)](_0x5706a8,_0x285e06(0x103)+'n'))_0x5862a2=_0x285e06(0x1e4)+'\x22'+_0x4d80c5+'\x22';else{if(_0x5706a8===_0x285e06(0x1b3))_0x5862a2=_0x285e06(0x163)+_0x285e06(0x119)+_0x4d80c5+'\x22';else{if(_0x1010cc['moWcJ'](_0x5706a8,_0x285e06(0x1c1)))_0x5862a2=_0x285e06(0x1b7)+_0x285e06(0x15b)+_0x4d80c5+'\x22';else throw new Error(_0x285e06(0x1f2)+'台');}}await _0x1010cc['gBfQn'](execPromise,_0x5862a2);}async[_0x32cdb4(0x109)+'stDev'+_0x32cdb4(0x154)+'de'](_0x474fe7=![]){const _0x2a8de6=_0x32cdb4,_0x45f3ac=await fetch(this['mcpOA'+_0x2a8de6(0x19d)+'l'],{'method':_0x2a8de6(0x18a),'headers':{'Content-Type':_0x2a8de6(0x164)+'catio'+_0x2a8de6(0x10d)+'n'},'body':JSON[_0x2a8de6(0x174)+_0x2a8de6(0x1a5)]({'tool':_0x2a8de6(0x1ea)+_0x2a8de6(0x1c9),'params':{'clientId':_0x2a8de6(0x16c)+'uo-mc'+_0x2a8de6(0x14a)+_0x2a8de6(0x1ba),'useUrlScheme':_0x474fe7}})}),_0x3aef8e=await _0x45f3ac[_0x2a8de6(0x14f)]();if(!_0x3aef8e[_0x2a8de6(0x166)+'ss'])throw new Error(_0x2a8de6(0xff)+_0x2a8de6(0x152)+_0x3aef8e[_0x2a8de6(0x123)]);return _0x3aef8e[_0x2a8de6(0xe8)];}async[_0x32cdb4(0x1a6)+_0x32cdb4(0x1cc)+_0x32cdb4(0x175)+'e'](_0x5be53f){const _0xd3173d=_0x32cdb4,_0x343151={'UVNJB':function(_0x431c8f,_0x11940a){return _0x431c8f+_0x11940a;},'eaLtu':function(_0x439540,_0x4726c1){return _0x439540*_0x4726c1;},'RXmKV':function(_0x138a17,_0x487c58){return _0x138a17===_0x487c58;},'VInVq':'expir'+'ed_to'+'ken','zISrB':function(_0x4516e4,_0x9e2743){return _0x4516e4===_0x9e2743;}};try{const _0x29bb56=await fetch(this[_0xd3173d(0x137)+_0xd3173d(0x19d)+'l'],{'method':'POST','headers':{'Content-Type':_0xd3173d(0x164)+'catio'+_0xd3173d(0x10d)+'n'},'body':JSON[_0xd3173d(0x174)+_0xd3173d(0x1a5)]({'tool':_0xd3173d(0x1ea)+_0xd3173d(0x107)+'n','params':{'deviceCode':_0x5be53f}})}),_0x5e265c=await _0x29bb56[_0xd3173d(0x14f)]();if(_0x5e265c[_0xd3173d(0x166)+'ss'])return{'accessToken':_0x5e265c['data']['acces'+_0xd3173d(0x1dc)+'n'],'refreshToken':_0x5e265c['data']['refre'+_0xd3173d(0x115)+'en'],'expiresIn':_0x5e265c['data'][_0xd3173d(0xe4)+_0xd3173d(0x1e8)],'tokenType':_0x5e265c['data']['token'+_0xd3173d(0x150)],'expiresAt':_0x343151[_0xd3173d(0x13f)](Date[_0xd3173d(0x1b9)](),_0x343151[_0xd3173d(0x15e)](_0x5e265c[_0xd3173d(0xe8)]['expir'+'esIn'],0x3e8))};if(_0x343151[_0xd3173d(0x126)](_0x5e265c['error'],_0xd3173d(0x12f)+_0xd3173d(0x149)+_0xd3173d(0x16b)+'endin'+'g'))return null;if(_0x5e265c['error']===_0x343151[_0xd3173d(0xee)])throw new Error(_0xd3173d(0x1a7)+_0xd3173d(0x1c5)+'授权');if(_0x343151['zISrB'](_0x5e265c[_0xd3173d(0x123)],_0xd3173d(0x1a8)+_0xd3173d(0x196)+_0xd3173d(0x15d)+_0xd3173d(0x10b)))throw new Error(_0xd3173d(0x129)+'码');throw new Error(_0xd3173d(0x122)+_0xd3173d(0x19b)+_0xd3173d(0xfd)+_0x5e265c['error']);}catch(_0x4caf9a){throw _0x4caf9a;}}async[_0x32cdb4(0x1a6)+_0x32cdb4(0x1cc)+'en'](_0x14cbf5,_0x4fa669){const _0x33547c=_0x32cdb4,_0x479fe6={'nQkPU':function(_0x35b635,_0x5469c1){return _0x35b635<_0x5469c1;},'lgiOE':'inval'+'id'},_0x4a5eaa=0x3c;let _0x2fea04=0x0;while(_0x479fe6[_0x33547c(0x1f0)](_0x2fea04,_0x4a5eaa)){_0x2fea04++,await this[_0x33547c(0x18d)](_0x4fa669);try{const _0x39a1f1=await this[_0x33547c(0x1a6)+_0x33547c(0x1cc)+'enOnc'+'e'](_0x14cbf5);if(_0x39a1f1)return _0x39a1f1;}catch(_0x5d78c0){if(_0x5d78c0['messa'+'ge'][_0x33547c(0xfa)+'des']('expir'+'ed')||_0x5d78c0[_0x33547c(0x156)+'ge'][_0x33547c(0xfa)+_0x33547c(0x172)](_0x479fe6[_0x33547c(0x160)]))throw _0x5d78c0;}}throw new Error(_0x33547c(0xdb)+_0x33547c(0x155));}async[_0x32cdb4(0x1d2)+_0x32cdb4(0x115)+'en'](){const _0x239ce8=_0x32cdb4,_0xa85a1c={'xzHIb':function(_0x4bdae1,_0x29e072,_0x397033){return _0x4bdae1(_0x29e072,_0x397033);},'IKrrP':function(_0x4f3881,_0x386f01){return _0x4f3881===_0x386f01;},'XXcQw':_0x239ce8(0x1d2)+_0x239ce8(0x13c)+_0x239ce8(0xe6)+'xpire'+'d','RxPtN':_0x239ce8(0x1f3)+_0x239ce8(0x146)+_0x239ce8(0x105)+_0x239ce8(0x12d)+_0x239ce8(0x181),'esiLg':function(_0xcb60af,_0x3d882d){return _0xcb60af+_0x3d882d;}},_0x2d02f8=await this[_0x239ce8(0x1d6)+_0x239ce8(0x1de)+'ge']['load']();if(!_0x2d02f8||!_0x2d02f8[_0x239ce8(0x1d2)+'shTok'+'en'])throw new Error('没有可用的'+_0x239ce8(0x161)+_0x239ce8(0x110)+_0x239ce8(0x10e)+'需要重新授'+'权');try{const _0x463bff=await _0xa85a1c[_0x239ce8(0x158)](fetch,this[_0x239ce8(0x137)+_0x239ce8(0x19d)+'l'],{'method':_0x239ce8(0x18a),'headers':{'Content-Type':_0x239ce8(0x164)+_0x239ce8(0x153)+'n/jso'+'n'},'body':JSON[_0x239ce8(0x174)+'gify']({'tool':'refre'+_0x239ce8(0x115)+'en','params':{'refreshToken':_0x2d02f8[_0x239ce8(0x1d2)+'shTok'+'en']}})}),_0x212195=await _0x463bff['json']();if(!_0x212195[_0x239ce8(0x166)+'ss']){if(_0xa85a1c[_0x239ce8(0x121)](_0x212195['error'],_0xa85a1c[_0x239ce8(0xed)]))throw new Error(_0xa85a1c[_0x239ce8(0x124)]);throw new Error(_0x239ce8(0x169)+_0x239ce8(0x19b)+'败:\x20'+_0x212195['error']);}const _0x4ab9a4={'accessToken':_0x212195[_0x239ce8(0xe8)]['acces'+_0x239ce8(0x1dc)+'n'],'refreshToken':_0x212195[_0x239ce8(0xe8)][_0x239ce8(0x1d2)+_0x239ce8(0x115)+'en'],'expiresIn':_0x212195[_0x239ce8(0xe8)][_0x239ce8(0xe4)+_0x239ce8(0x1e8)],'tokenType':_0x212195['data']['token'+'Type'],'expiresAt':_0xa85a1c['esiLg'](Date[_0x239ce8(0x1b9)](),_0x212195[_0x239ce8(0xe8)][_0x239ce8(0xe4)+_0x239ce8(0x1e8)]*0x3e8)};return await this[_0x239ce8(0x1d6)+_0x239ce8(0x1de)+'ge']['save'](_0x4ab9a4),_0x4ab9a4;}catch(_0x563dd0){throw _0x563dd0;}}async['getVa'+_0x32cdb4(0xe0)+'ken'](){const _0x44899e=_0x32cdb4,_0x3b6ee1={'EShsW':function(_0x1782a2,_0x3fa779){return _0x1782a2*_0x3fa779;},'xMgIZ':function(_0x961dec,_0xcff988){return _0x961dec*_0xcff988;},'chuLi':function(_0x1c4b8a,_0x2e5e91){return _0x1c4b8a>_0x2e5e91;}},_0x17ab55=await this[_0x44899e(0x1d6)+_0x44899e(0x1de)+'ge'][_0x44899e(0x1a0)]();if(!_0x17ab55)throw new Error(_0x44899e(0x133)+_0x44899e(0x144)+_0x44899e(0x10c)+'权');const _0x173167=_0x3b6ee1['EShsW'](_0x3b6ee1[_0x44899e(0xf8)](0x5,0x3c),0x3e8);if(_0x3b6ee1['chuLi'](Date[_0x44899e(0x1b9)]()+_0x173167,_0x17ab55[_0x44899e(0xe4)+_0x44899e(0x141)]))return await this[_0x44899e(0x1d2)+_0x44899e(0x115)+'en']();return _0x17ab55;}[_0x32cdb4(0x18d)](_0x556743){return new Promise(_0x2fcb08=>setTimeout(_0x2fcb08,_0x556743));}async[_0x32cdb4(0x1ae)+_0x32cdb4(0x191)+_0x32cdb4(0x1b5)](_0x22d45f){const _0x505b3f=_0x32cdb4,_0x449e6d={'GiswN':_0x505b3f(0xf5)};try{const _0x39ef1a=require('fs')['promi'+'ses'],_0x70df2b=require(_0x449e6d['GiswN']),_0x3b7544=require('os'),_0x4273f5=_0x70df2b[_0x505b3f(0x192)](_0x3b7544['homed'+'ir'](),_0x505b3f(0xe7)+'mi-ke'+'ep',_0x505b3f(0x1cd)+_0x505b3f(0x101)+_0x505b3f(0x17a)),_0x3bd74e=_0x70df2b[_0x505b3f(0x190)+'me'](_0x4273f5);await _0x39ef1a[_0x505b3f(0x11a)](_0x3bd74e,{'recursive':!![]}),await _0x39ef1a[_0x505b3f(0x1dd)](_0x3bd74e,0x1c0)[_0x505b3f(0x1e7)](()=>{}),await _0x39ef1a[_0x505b3f(0x183)+_0x505b3f(0x188)](_0x4273f5,JSON[_0x505b3f(0x174)+'gify'](_0x22d45f,null,0x2),{'mode':0x180});}catch(_0x2310cd){}}async[_0x32cdb4(0x16f)+'uthSt'+'ate'](){const _0x4d9ddb=_0x32cdb4,_0x538e0c={'nQMRE':function(_0x468938,_0x1be54e){return _0x468938(_0x1be54e);},'ViNWj':function(_0x3b8b2d,_0x45973b){return _0x3b8b2d===_0x45973b;}};try{const _0x3a48cd=require('fs')[_0x4d9ddb(0x143)+_0x4d9ddb(0x18e)],_0x5cf74b=_0x538e0c[_0x4d9ddb(0x186)](require,'path'),_0x5aaf7f=require('os'),_0x5472fa=_0x5cf74b[_0x4d9ddb(0x192)](_0x5aaf7f[_0x4d9ddb(0x185)+'ir'](),_0x4d9ddb(0xe7)+'mi-ke'+'ep',_0x4d9ddb(0x1cd)+_0x4d9ddb(0x101)+_0x4d9ddb(0x17a)),_0x204cd2=await _0x3a48cd[_0x4d9ddb(0x12b)+_0x4d9ddb(0x1a1)](_0x5472fa,_0x4d9ddb(0x1aa));return JSON['parse'](_0x204cd2);}catch(_0x37660b){if(_0x538e0c[_0x4d9ddb(0xe1)](_0x37660b[_0x4d9ddb(0x10b)],_0x4d9ddb(0x162)+'T'))return null;return null;}}async[_0x32cdb4(0x1f1)+_0x32cdb4(0x1d3)+_0x32cdb4(0x19a)](){const _0x523654=_0x32cdb4,_0xeed98f={'OsRMR':_0x523654(0xf5)};try{const _0x346928=require('fs')[_0x523654(0x143)+'ses'],_0x162bf7=require(_0xeed98f[_0x523654(0x12e)]),_0x269296=require('os'),_0x2c0fe7=_0x162bf7[_0x523654(0x192)](_0x269296['homed'+'ir'](),_0x523654(0xe7)+_0x523654(0x176)+'ep','auth-'+_0x523654(0x101)+_0x523654(0x17a));await _0x346928[_0x523654(0x195)+'k'](_0x2c0fe7);}catch(_0x266428){}}[_0x32cdb4(0x1a2)+'hStat'+_0x32cdb4(0x1c3)+_0x32cdb4(0x1e1)](_0x36d83a,_0x2bcfc7=0x1e*0x3c*0x3e8){const _0x2b55f1=_0x32cdb4,_0x1d56eb={'mlDjC':function(_0x188394,_0x5c642b){return _0x188394>_0x5c642b;},'OJpRl':function(_0x426c26,_0x183661){return _0x426c26-_0x183661;}};if(_0x36d83a&&_0x36d83a[_0x2b55f1(0xe4)+_0x2b55f1(0x141)])return _0x1d56eb['mlDjC'](Date[_0x2b55f1(0x1b9)](),_0x36d83a['expir'+_0x2b55f1(0x141)]);if(!_0x36d83a||!_0x36d83a[_0x2b55f1(0x1be)+_0x2b55f1(0x10f)])return!![];return _0x1d56eb['OJpRl'](Date[_0x2b55f1(0x1b9)](),_0x36d83a[_0x2b55f1(0x1be)+'tamp'])>_0x2bcfc7;}}class TokenStorage{async[_0x32cdb4(0x102)](_0xe4f739){const _0x4f65ea=_0x32cdb4,_0x3b3007={'JRKEB':_0x4f65ea(0x135)+_0x4f65ea(0x1de)+_0x4f65ea(0x16e)+_0x4f65ea(0x1ee)+'被子类实现'};throw new Error(_0x3b3007[_0x4f65ea(0x112)]);}async[_0x32cdb4(0x1a0)](){const _0x58ced3=_0x32cdb4;throw new Error(_0x58ced3(0x135)+_0x58ced3(0x1de)+_0x58ced3(0x16d)+_0x58ced3(0x17c)+_0x58ced3(0x1ad));}async[_0x32cdb4(0x1f1)](){const _0x456cf8=_0x32cdb4;throw new Error(_0x456cf8(0x135)+_0x456cf8(0x1de)+'ge.cl'+_0x456cf8(0xfc)+_0x456cf8(0x14d)+'现');}}function _0x2846(_0x15ec5c,_0x214a59){_0x15ec5c=_0x15ec5c-0xd8;const _0x3fc2ae=_0x3fc2();let _0x28462b=_0x3fc2ae[_0x15ec5c];if(_0x2846['RvEqNu']===undefined){var _0x5d1203=function(_0x4f0fb6){const _0x4d0e39='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e8473='',_0x4d65c7='';for(let _0x401d6c=0x0,_0x5386fb,_0x4450cb,_0xfbe0a7=0x0;_0x4450cb=_0x4f0fb6['charAt'](_0xfbe0a7++);~_0x4450cb&&(_0x5386fb=_0x401d6c%0x4?_0x5386fb*0x40+_0x4450cb:_0x4450cb,_0x401d6c++%0x4)?_0x2e8473+=String['fromCharCode'](0xff&_0x5386fb>>(-0x2*_0x401d6c&0x6)):0x0){_0x4450cb=_0x4d0e39['indexOf'](_0x4450cb);}for(let _0x3fbc3c=0x0,_0x278a0c=_0x2e8473['length'];_0x3fbc3c<_0x278a0c;_0x3fbc3c++){_0x4d65c7+='%'+('00'+_0x2e8473['charCodeAt'](_0x3fbc3c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d65c7);};_0x2846['cnjBij']=_0x5d1203,_0x2846['vngXsT']={},_0x2846['RvEqNu']=!![];}const _0x4ec4e6=_0x3fc2ae[0x0],_0x35f599=_0x15ec5c+_0x4ec4e6,_0x123c75=_0x2846['vngXsT'][_0x35f599];return!_0x123c75?(_0x28462b=_0x2846['cnjBij'](_0x28462b),_0x2846['vngXsT'][_0x35f599]=_0x28462b):_0x28462b=_0x123c75,_0x28462b;}function getMachineId(){const _0x11ef11=_0x32cdb4,_0x387f15={'fdmKS':function(_0x5b36c9,_0x48ffbb){return _0x5b36c9(_0x48ffbb);},'cHPiY':_0x11ef11(0x15f)+_0x11ef11(0x179)+_0x11ef11(0x139)+'00'},_0x36ea6f=_0x387f15['fdmKS'](require,'os'),_0x4230c6=_0x36ea6f[_0x11ef11(0x13b)+'rkInt'+_0x11ef11(0x17e)+'es']();let _0x100947='';for(const _0x37519e of Object['keys'](_0x4230c6)){for(const _0xb58dd of _0x4230c6[_0x37519e]){if(_0xb58dd[_0x11ef11(0xeb)]&&_0xb58dd[_0x11ef11(0xeb)]!==_0x387f15['cHPiY']){_0x100947=_0xb58dd[_0x11ef11(0xeb)];break;}}if(_0x100947)break;}const _0x10d138=_0x100947+'-'+_0x36ea6f[_0x11ef11(0x1cb)+_0x11ef11(0x173)]()+'-'+_0x36ea6f['platf'+_0x11ef11(0x19f)]();return crypto['creat'+_0x11ef11(0x131)]('sha25'+'6')[_0x11ef11(0x1b2)+'e'](_0x10d138)[_0x11ef11(0x1c6)+'t'](_0x11ef11(0x1ab))[_0x11ef11(0x1bd)+'ring'](0x0,0x20);}function encryptToken(_0xd9093d,_0xc60f56){const _0x2e83c1=_0x32cdb4,_0x44077b={'XiLnb':'hex','TLtYY':function(_0x5d64a7,_0x1daa68){return _0x5d64a7+_0x1daa68;}},_0x392053=crypto[_0x2e83c1(0xfe)+_0x2e83c1(0x1f5)+'s'](0x10),_0x215888=crypto[_0x2e83c1(0x1ca)+_0x2e83c1(0x127)+'eriv'](_0x2e83c1(0x1c4)+_0x2e83c1(0x1df)+'c',Buffer[_0x2e83c1(0xf4)](_0xc60f56),_0x392053);let _0x5868ec=_0x215888['updat'+'e'](JSON['strin'+_0x2e83c1(0x1a5)](_0xd9093d),_0x2e83c1(0x1aa),_0x2e83c1(0x1ab));return _0x5868ec+=_0x215888[_0x2e83c1(0x178)](_0x44077b[_0x2e83c1(0x16a)]),_0x44077b[_0x2e83c1(0x159)](_0x392053[_0x2e83c1(0x1bb)+_0x2e83c1(0x1e6)](_0x44077b[_0x2e83c1(0x16a)]),':')+_0x5868ec;}function _0x3fc2(){const _0x3ccc8a=['C3bSAxq','BgLKvg8','vMLov2O','ndLLDurJy1G','B2rL','zxHWAxi','u3rYAw4','A2vUx2u','lMnOywK','zgf0yq','DgvZDa','ywnJzxm','BwfJ','4P2mios/NEwTMca','wfHJuxC','vKLUvNe','otm5mdiWEKTTCvfQ','DxrOp2q','AwH1BY4','mZm3mtrQDe5st0y','6iEQ5yQO5y2h57QNlG','zNjVBq','Cgf0Aa','DxrPBa','DevUDMK','Ee1NsvO','zxHWB3i','Aw5JBhu','zs1JB2q','zwfYiow/Hq','6lsLoIa','CMfUzg8','6i635y+w6k6+5Ash56cb','DMLJzuy','C3rHDgu','C2f2zq','zgfYD2K','D0H0rNa','A2vUiow3SG','mtq4mdm0me9vCfLVAW','zvrVA2u','C3vWCg8','CMvXDwu','CgvUzgK','y29Kzq','BU+8JoIVT+wfIoAoIa','BI9QC28','B2TLBU+8Ja','DgfTCa','zxnOifq','CgHLCMK','sLjlrui','mZGWndu0zfjKuvvN','lw5HBwu','C2HuB2S','mJK2sujfCK9W','rxvsyvi','seXJt0i','iciIici','BwTKAxi','y2HPBgq','Fdf8ma','DxnLCKm','BM9Kzs0','Aw50zxi','5zYO5OMl5PY65B6U5l+H','suTYCLa','6i635y+wifrV','zxjYB3i','uNHqDe4','yxrO','uLHTs1y','zunPCgG','AxjVBM0','5PEG5Pwi55Qe6k6+5Ash','lI4U','CMvHzey','CLvYBfm','6l+h5PYF77Ym6zYa6kAb','t3nstvi','yxv0Ag8','zMHZvei','zuHHC2G','zMLSzva','5RkH5PYj5A2y5ykO55Qe','qxbWBgu','vg9Rzw4','mtaYyvnZwwHh','BwnWt0e','zK5KvMG','mdOWmdO','CML6zvC','BMv0D28','C2HFDg8','DMvYAwy','qwDLBNq','vvzosKi','y3vZDg8','zxnbDa','ms4W','ChjVBwK','ifrVA2u','CM93C2u','C2GGvg8','zw5szwe','CMvWBge','CML6yxq','Cc1JBgK','uhbuufG','BwfJB3m','6Ag76kkR5A2q57g75A6E','mI4W','ANnVBG','vhLWzq','B25vCMK','5AsX6lsLoIa','y2f0Aw8','AwnLq28','6k+36yEn5PAW5BcD6k+v','BwvZC2e','DMfS','EhPiswi','veX0wvK','BfnJAgu','CgvUici','D1HMyum','DMLJzv8','zwfmDhu','mda6mda','BgDPt0u','ifjLzNi','ru5pru4','C3rHCNq','yxbWBgK','x1rLCM0','C3vJy2u','vxfZruK','CgXHDgy','5yI35PAWifrV','wgLmBMi','Aw9Ux3a','y2HHAwG','z2uUBg8','z2uUC2e','Bg9Hzee','AgfYq28','rNvSBa','zgvZ','yw1L','C3rYAw4','zw5pBMm','BwKTA2u','A2v5','zMLUywW','oJaWoJa','lMPZB24','De1VyMK','ywqG5B+f6Ag7','Cc5JAge','zxjMywm','zxnZ','AgvTzq','6yEn5PAW5O6i5P2d','CgfYC2u','D3jPDgu','zgv0zwm','Ag9Tzwq','BLfnuKu','x3bYB2m','rMLSzq','tMfTzq','ue9tva','B3DZzxi','zMv0y2G','zgvSyxK','C2vZ','qw1msKW','zgLYBMe','DxrOu3q','AM9PBG','C3rezxy','BNqG5zcn56EW','Dw5SAw4','AwrFzgu','AwnHDgK','CM9UBwu','DxjSu2m','Dgf0zq','A2vUiowKSq','lwD1Aq','DxrOvxi','mJm2nJqWnxPoChvMzG','B3jT','Bg9Hza','AwXL','AxnbDxq','CNrZqNi','oI8VBwm','z2LMEq','Cg9SBey','6k6+5Ash56cb5BEY6l+h','Aw52ywW','sM1czvu','DxrMoa','Agv4','qxv0Aey','6kkR5A2q57g75A6E546W','C2f2zue','5BEY5l+D5A2yoG','vgrmCKu','5P+057gZquNLIQK','DxbKyxq','D2LUmZi','C2f2zuq','yxrL','y2HLBwu','EgrNlw8','AxrOrgu','BM93','zw50','Dg9tDhi','C2LMEq','C3vIC3q','DgLTzxm','B25rCKm','Dg9ju08','BgLUDxG','AxrOvxi','zuv4CgK','ywvZlti','5PYF77Ym6k+36yEn5PAW','zgLNzxm','BgvfBNy','q29Kzt0','zunVzgu','y3jLyxq','Ag9ZDg4','B3juB2S','yxv0Ac0','zs5QC28','ywDLBNq','ChjLzMu','5OI35O6i5P2d77Ym6k+3','CMvMCMu','qxv0Afm','BIdMOlZLVi/VViW','oty2nduWA292wMjJ','Dg9Rzw4','ALfXs2q','z2vUDe4','zxzPy2u','B3bLBKi','Aw5HBa','C1rVA2u','y2HTB2q','u3rVCMe','ntyTy2i','Bg93','CMvK','zw5JCNK','5Pon5l2C77Yj','B3bLBIa','m3WYFdq','Aw5N','y2f0y2G','zxnjBG','zNjVBum','zgv2Awm','Cg5QDMq','B25uB2S','DMvYC2K','DMuG5B+f6Ag7','4PYfiefNzq','BLfRufu','y2XLyxi','5lIn5PsV5OYb55Qe5BMZ','uMvMCMu','jNvZzxi','Buj5Dgu','q29Kzq','mteYnZHODeDADMO','Ahr0Chm','5O6i5P2d6lAf5PE277Ym','icaG77Yi6k+3','q2zlq3m','y2XP'];_0x3fc2=function(){return _0x3ccc8a;};return _0x3fc2();}function decryptToken(_0x55715f,_0x235f5c){const _0x104d0b=_0x32cdb4,_0x5e47df={'jQqKd':_0x104d0b(0x1ab)},_0x488057=_0x55715f[_0x104d0b(0xdf)](':'),_0x47ca6d=Buffer[_0x104d0b(0xf4)](_0x488057[0x0],_0x104d0b(0x1ab)),_0x2fa69a=_0x488057[0x1],_0x32da60=crypto[_0x104d0b(0x1ca)+'eDeci'+_0x104d0b(0x111)+'v'](_0x104d0b(0x1c4)+_0x104d0b(0x1df)+'c',Buffer['from'](_0x235f5c),_0x47ca6d);let _0x540554=_0x32da60[_0x104d0b(0x1b2)+'e'](_0x2fa69a,_0x5e47df[_0x104d0b(0x1d7)],_0x104d0b(0x1aa));return _0x540554+=_0x32da60['final'](_0x104d0b(0x1aa)),JSON[_0x104d0b(0x182)](_0x540554);}class FileTokenStorage extends TokenStorage{constructor(_0x284131){const _0x5c2eea=_0x32cdb4,_0xc6e9fb=(_0x5c2eea(0x1e5)+_0x5c2eea(0x11c))[_0x5c2eea(0xdf)]('|');let _0x4185e5=0x0;while(!![]){switch(_0xc6e9fb[_0x4185e5++]){case'0':this['key']=getMachineId();continue;case'1':this[_0x5c2eea(0xf5)]=require('path');continue;case'2':this[_0x5c2eea(0x132)+'ath']=_0x284131;continue;case'3':super();continue;case'4':this['fs']=require('fs')[_0x5c2eea(0x143)+_0x5c2eea(0x18e)];continue;}break;}}async[_0x32cdb4(0x102)](_0x1846c1){const _0x154ba5=_0x32cdb4,_0xfe82c2={'wHtFp':'aes-2'+_0x154ba5(0x1df)+'c','wXfaC':_0x154ba5(0x1aa)},_0x4d4dae=this[_0x154ba5(0xf5)][_0x154ba5(0x190)+'me'](this[_0x154ba5(0x132)+'ath']);await this['fs'][_0x154ba5(0x11a)](_0x4d4dae,{'recursive':!![]});const _0x3059e9=encryptToken(_0x1846c1,this[_0x154ba5(0x177)]),_0x36e456={'version':_0x154ba5(0x14e),'encrypted':_0x3059e9,'algorithm':_0xfe82c2[_0x154ba5(0x104)],'updatedAt':new Date()[_0x154ba5(0x1c0)+_0x154ba5(0xe5)+'g']()};await this['fs'][_0x154ba5(0x183)+_0x154ba5(0x188)](this[_0x154ba5(0x132)+_0x154ba5(0x125)],JSON[_0x154ba5(0x174)+_0x154ba5(0x1a5)](_0x36e456,null,0x2),_0xfe82c2[_0x154ba5(0x15c)]),await this['fs'][_0x154ba5(0x1dd)](this[_0x154ba5(0x132)+'ath'],0x180);}async[_0x32cdb4(0x1a0)](){const _0x46fbd1=_0x32cdb4,_0x3b1b95={'JmBeU':_0x46fbd1(0x142),'UqsEI':function(_0x560e57,_0x4ee5f2){return _0x560e57===_0x4ee5f2;}};try{const _0x5c7e44=await this['fs'][_0x46fbd1(0x12b)+_0x46fbd1(0x1a1)](this['fileP'+'ath'],'utf8'),_0x145913=JSON[_0x46fbd1(0x182)](_0x5c7e44);if(!_0x145913[_0x46fbd1(0x1ed)+'on']||_0x145913[_0x46fbd1(0x1ed)+'on']===_0x3b1b95[_0x46fbd1(0x1a9)])return console['error']('检测到旧版'+_0x46fbd1(0x144)+_0x46fbd1(0x1d4)+_0x46fbd1(0xf3)+'..'),{'accessToken':_0x145913[_0x46fbd1(0xea)+_0x46fbd1(0x1dc)+'n'],'refreshToken':_0x145913[_0x46fbd1(0x1d2)+_0x46fbd1(0x115)+'en'],'expiresAt':_0x145913['expir'+_0x46fbd1(0x141)],'expiresIn':_0x145913[_0x46fbd1(0xe4)+_0x46fbd1(0x1e8)],'tokenType':_0x145913['token'+_0x46fbd1(0x150)]};return decryptToken(_0x145913[_0x46fbd1(0x1e2)+'pted'],this[_0x46fbd1(0x177)]);}catch(_0x3ca80f){if(_0x3b1b95[_0x46fbd1(0x167)](_0x3ca80f[_0x46fbd1(0x10b)],_0x46fbd1(0x162)+'T'))return null;throw _0x3ca80f;}}async['clear'](){const _0x52fd17=_0x32cdb4;try{await this['fs'][_0x52fd17(0x195)+'k'](this[_0x52fd17(0x132)+_0x52fd17(0x125)]);}catch(_0x2c4bff){if(_0x2c4bff['code']!==_0x52fd17(0x162)+'T')throw _0x2c4bff;}}async[_0x32cdb4(0x1ae)+_0x32cdb4(0x1d8)+_0x32cdb4(0x173)](_0x4515c4){const _0x40bfbd=_0x32cdb4,_0x4185fd={'TdLrE':_0x40bfbd(0x1cf)+_0x40bfbd(0x114)+_0x40bfbd(0x17a),'pnjvd':_0x40bfbd(0xec)+_0x40bfbd(0x13e)+'\x20名称失败'+':'};try{const _0x47eb68=this[_0x40bfbd(0xf5)]['join'](this['path']['dirna'+'me'](this[_0x40bfbd(0x132)+_0x40bfbd(0x125)]),_0x4185fd[_0x40bfbd(0x1b0)]),_0x4eb559={'agentName':_0x4515c4||'柴米AI助'+'手','updatedAt':new Date()[_0x40bfbd(0x1c0)+'Strin'+'g']()},_0x10b71b=JSON[_0x40bfbd(0x174)+'gify'](_0x4eb559,null,0x2)[_0x40bfbd(0x148)+'ce'](/\\u[\dA-F]{4}/gi,_0x3f3c50=>String[_0x40bfbd(0x1e9)+_0x40bfbd(0x170)+'de'](parseInt(_0x3f3c50[_0x40bfbd(0x148)+'ce'](/\\u/g,''),0x10)));await this['fs'][_0x40bfbd(0x183)+_0x40bfbd(0x188)](_0x47eb68,_0x10b71b,'utf8'),console[_0x40bfbd(0x123)](_0x40bfbd(0x1ef)+_0x40bfbd(0x194)+_0x40bfbd(0x1af),_0x47eb68);}catch(_0x448a26){console[_0x40bfbd(0x123)](_0x4185fd[_0x40bfbd(0x1eb)],_0x448a26[_0x40bfbd(0x156)+'ge']);}}async[_0x32cdb4(0x16f)+_0x32cdb4(0x1d8)+'ame'](){const _0x6d4769=_0x32cdb4;try{const _0x3ed8e3=this[_0x6d4769(0xf5)][_0x6d4769(0x192)](this[_0x6d4769(0xf5)][_0x6d4769(0x190)+'me'](this['fileP'+_0x6d4769(0x125)]),_0x6d4769(0x1cf)+_0x6d4769(0x114)+_0x6d4769(0x17a)),_0x7b4b69=await this['fs'][_0x6d4769(0x12b)+_0x6d4769(0x1a1)](_0x3ed8e3,'utf8'),_0x28d5d1=JSON[_0x6d4769(0x182)](_0x7b4b69);return _0x28d5d1[_0x6d4769(0x1cf)+_0x6d4769(0x189)]||_0x6d4769(0x1b1)+'手';}catch(_0x475613){return _0x6d4769(0x1b1)+'手';}}async[_0x32cdb4(0x1b4)+_0x32cdb4(0x1d9)+'Code'](_0x59ca7f){const _0x4966ad=_0x32cdb4,_0x4f7d7e={'AmLJL':_0x4966ad(0x1ea)+_0x4966ad(0xfb)+_0x4966ad(0x1ce)+'n'};try{const _0x27f79b=this[_0x4966ad(0xf5)][_0x4966ad(0x192)](this['path'][_0x4966ad(0x190)+'me'](this[_0x4966ad(0x132)+_0x4966ad(0x125)]),_0x4f7d7e[_0x4966ad(0x18f)]),_0x53eb6d={'deviceCode':_0x59ca7f,'updatedAt':new Date()['toISO'+_0x4966ad(0xe5)+'g']()};await this['fs']['write'+_0x4966ad(0x188)](_0x27f79b,JSON[_0x4966ad(0x174)+_0x4966ad(0x1a5)](_0x53eb6d,null,0x2),'utf8');}catch(_0x5a733a){}}async['loadD'+_0x32cdb4(0x1d9)+_0x32cdb4(0xd8)](){const _0x116523=_0x32cdb4,_0x47604={'fhsTB':_0x116523(0x1aa)};try{const _0x11c89b=this[_0x116523(0xf5)][_0x116523(0x192)](this['path'][_0x116523(0x190)+'me'](this[_0x116523(0x132)+'ath']),_0x116523(0x1ea)+_0x116523(0xfb)+'e.jso'+'n'),_0xe02d90=await this['fs']['readF'+_0x116523(0x1a1)](_0x11c89b,_0x47604[_0x116523(0x130)]),_0x1cdb35=JSON['parse'](_0xe02d90);return _0x1cdb35[_0x116523(0x1ea)+_0x116523(0x1c9)];}catch(_0x39bd5b){return null;}}}module[_0x32cdb4(0xf9)+'ts']={'OAuthManager':OAuthManager,'TokenStorage':TokenStorage,'FileTokenStorage':FileTokenStorage};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "chaimi-keep-mcp",
3
- "version": "3.6.0-beta.9",
4
- "description": "柴米AI记账 MCP Server - 支持 Claude、Cursor、OpenClaw、WorkBuddy 等 AI 工具直接记账",
3
+ "version": "3.6.0",
4
+ "description": "柴米记账 MCP Server - 支持 Claude、Cursor、OpenClaw、WorkBuddy 等 AI 工具直接记账",
5
5
  "main": "server.js",
6
6
  "bin": {
7
7
  "chaimi-keep-mcp": "bin/cli.js"
@@ -28,6 +28,7 @@
28
28
  "obfuscate": "node scripts/obfuscate.js",
29
29
  "build": "node scripts/build.js",
30
30
  "build:dist": "node scripts/build.js",
31
+ "sync-config": "node scripts/sync-config.js",
31
32
  "copy-files": "shx cp package.json dist/ && shx cp README.md dist/ && shx mkdir -p dist/bin && shx mkdir -p dist/references && shx mkdir -p dist/skills && shx cp -r bin/* dist/bin/ && shx cp -r references/* dist/references/ && shx cp -r skills/* dist/skills/"
32
33
  },
33
34
  "devDependencies": {
@@ -45,7 +46,7 @@
45
46
  "AI记账",
46
47
  "model-context-protocol"
47
48
  ],
48
- "author": "柴米AI记账团队,songyangx@gmail.com",
49
+ "author": "柴米记账团队,songyangx@gmail.com",
49
50
  "license": "MIT",
50
51
  "dependencies": {
51
52
  "@modelcontextprotocol/sdk": "^1.0.0",
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: "chaimi-keep-advanced-features"
3
- description: 柴米AI记账高级功能详解,包含深度分析和智能洞察
3
+ description: 柴米记账高级功能详解,包含深度分析和智能洞察
4
4
  version: "1.0.0"
5
5
  updated: "2026-04-25"
6
6
  ---
7
7
 
8
- # 柴米AI记账高级功能
8
+ # 柴米记账高级功能
9
9
 
10
10
  ---
11
11
 
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  name: "chaimi-keep-api-reference"
3
- description: 柴米AI记账API参考 - 查询分析类工具说明
3
+ description: 柴米记账API参考 - 查询分析类工具说明
4
4
  description: >-
5
- 柴米AI记账MCP Server API参考。包含查询、统计、分析类工具说明。
5
+ 柴米记账MCP Server API参考。包含查询、统计、分析类工具说明。
6
6
  TRIGGER: 需要查询消费记录、查看统计、导出数据时。
7
7
  DO NOT TRIGGER: 记账操作(直接使用工具即可)。
8
8
  version: "1.0.0"
9
9
  updated: "2026-04-25"
10
10
  ---
11
11
 
12
- # 柴米AI记账 API 参考
12
+ # 柴米记账 API 参考
13
13
 
14
14
  > ⚠️ **保密提示**:记账类工具(save_expense/save_income/save_receipt)为内部实现,不对外开放详细文档
15
15
 
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: "chaimi-keep-authentication"
3
- description: 柴米AI记账授权流程详解
3
+ description: 柴米记账授权流程详解
4
4
  version: "1.0.1"
5
5
  updated: "2026-04-30"
6
6
  ---
7
7
 
8
- # 柴米AI记账授权流程
8
+ # 柴米记账授权流程
9
9
 
10
10
  ---
11
11
 
@@ -62,7 +62,7 @@ updated: "2026-04-30"
62
62
 
63
63
  1. **启动授权流程**
64
64
  ```bash
65
- mcporter auth 柴米AI记账
65
+ mcporter auth 柴米记账
66
66
  ```
67
67
 
68
68
  ```bash
@@ -72,14 +72,14 @@ updated: "2026-04-30"
72
72
  2. **查看验证码(注意:验证码只在 Agent/终端 显示)**
73
73
  终端会显示:
74
74
  ```
75
- 🔐 柴米AI记账授权
75
+ 🔐 柴米记账授权
76
76
  ═══════════════════════════
77
77
  📱 验证码:GGCY-AC84
78
78
  ⏰ 有效期:5分钟
79
79
  ```
80
80
 
81
81
  3. **小程序确认(注意:小程序只负责输入验证码,不会生成验证码)**
82
- - 打开"柴米AI记账"小程序
82
+ - 打开"柴米记账"小程序
83
83
  - 点击"我的" → "Agent 授权"
84
84
  - 输入刚才在 Agent/终端 看到的验证码
85
85
  - 点击确认
@@ -94,15 +94,15 @@ updated: "2026-04-30"
94
94
 
95
95
  ```bash
96
96
  # 重新授权
97
- mcporter auth 柴米AI记账
97
+ mcporter auth 柴米记账
98
98
 
99
99
  # 强制清除缓存后重新授权
100
- mcporter auth 柴米AI记账 --reset
100
+ mcporter auth 柴米记账 --reset
101
101
  ```
102
102
 
103
103
  **然后:**
104
104
  1. 查看终端显示的验证码
105
- 2. 打开"柴米AI记账"小程序
105
+ 2. 打开"柴米记账"小程序
106
106
  3. 进入"我的" → "Agent 授权"
107
107
  4. 输入验证码完成授权
108
108
 
@@ -128,7 +128,7 @@ mcporter auth 柴米AI记账 --reset
128
128
  ```
129
129
 
130
130
  ```bash
131
- mcporter auth 柴米AI记账
131
+ mcporter auth 柴米记账
132
132
  ```
133
133
  2. 查看终端显示的验证码
134
134
  3. 在小程序"我的"→"Agent 授权"中输入验证码
@@ -164,7 +164,7 @@ del %USERPROFILE%\.chaimi-keep\oauth-token.json
164
164
  cat ~/.chaimi-keep/oauth-token.json
165
165
 
166
166
  # 或尝试调用工具测试
167
- mcporter call 柴米AI记账.get_skill
167
+ mcporter call 柴米记账.get_skill
168
168
  ```
169
169
 
170
170
  **Token 文件位置:**
@@ -176,7 +176,7 @@ mcporter call 柴米AI记账.get_skill
176
176
 
177
177
  Token 过期后需要重新授权:
178
178
  ```bash
179
- mcporter auth 柴米AI记账
179
+ mcporter auth 柴米记账
180
180
  ```
181
181
 
182
182
  ---
@@ -196,7 +196,7 @@ mcporter auth 柴米AI记账
196
196
 
197
197
  ```bash
198
198
  # 强制清除缓存后重新授权
199
- mcporter auth 柴米AI记账 --reset
199
+ mcporter auth 柴米记账 --reset
200
200
  ```
201
201
 
202
202
  **场景:**