chaimi-keep-mcp 3.5.0 → 3.6.0-beta.1
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 +6 -0
- package/SKILL.md +39 -30
- package/oauth.js +1 -1
- package/package.json +2 -2
- package/server.js +1 -1
package/README.md
CHANGED
|
@@ -74,6 +74,12 @@ A: `npm update -g chaimi-keep-mcp`
|
|
|
74
74
|
|
|
75
75
|
## Changelog
|
|
76
76
|
|
|
77
|
+
### v4.0.0-beta.0 (2026-05-17) 🧪 MCP2.0
|
|
78
|
+
- **重大重构** 后端AI解析,封闭Prompt,Prompt 不暴露给 Agent
|
|
79
|
+
- **新增** `parse_text` 一键记账(后端AI解析+自动保存)
|
|
80
|
+
- **移除** `get_text_parse_prompt`/`get_parse_prompt` Prompt 暴露工具
|
|
81
|
+
- **优化** 记账流程简化为2步(获取Skill → parse_text)
|
|
82
|
+
|
|
77
83
|
### v3.4.0 (2026-05-01) 🎉 正式版
|
|
78
84
|
- **正式版** 多端记账分类统一
|
|
79
85
|
- **优化** 回复模板优化
|
package/SKILL.md
CHANGED
|
@@ -4,7 +4,7 @@ description: >-
|
|
|
4
4
|
柴米AI记账MCP Server,连接微信小程序记账功能。
|
|
5
5
|
TRIGGER: 用户提及"记账/记录/保存"并涉及金额或商品信息。
|
|
6
6
|
DO NOT TRIGGER: 非记账操作,或明确使用其他记账工具时。
|
|
7
|
-
updated: "2026-
|
|
7
|
+
updated: "2026-05-17"
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# 柴米AI记账 Skill
|
|
@@ -99,8 +99,7 @@ chaimi-keep-mcp ⭐ 本Skill
|
|
|
99
99
|
|
|
100
100
|
| 用户意图 | 关键词示例 | 推荐工具 | 参考文档 | 回复模板 |
|
|
101
101
|
|---------|-----------|---------|---------|---------|
|
|
102
|
-
|
|
|
103
|
-
| **收入记账** | "工资5000" | save_income | - | 标准成功模板 |
|
|
102
|
+
| **文字/收入记账** | "午餐35元"、"工资5000" | parse_text | - | 标准成功模板 |
|
|
104
103
|
| **小票记账** | "小票识别" | save_receipt | - | 高金额模板 |
|
|
105
104
|
| **查询记录** | "这周花了多少" | get_expenses | api-reference.md | 查询结果模板 |
|
|
106
105
|
| **消费统计** | "月度统计" | get_statistics | api-reference.md | 统计分析模板 |
|
|
@@ -119,8 +118,7 @@ chaimi-keep-mcp ⭐ 本Skill
|
|
|
119
118
|
|
|
120
119
|
| 分类 | 工具名 | 功能一句话 | 典型场景 |
|
|
121
120
|
|:-----|:-------|:-----------|:---------|
|
|
122
|
-
| **记账** |
|
|
123
|
-
| | save_income | 收入记账 | "工资5000" |
|
|
121
|
+
| **记账** | parse_text | 文字/收入记账(后端AI解析+自动保存) | "午餐35元"、"工资5000" |
|
|
124
122
|
| | save_receipt | 小票图片记账 | 上传小票照片 |
|
|
125
123
|
| **查询** | get_expenses | 查询消费记录 | "这周花了多少" |
|
|
126
124
|
| | get_statistics | 消费统计分析 | "月度统计" |
|
|
@@ -128,39 +126,51 @@ chaimi-keep-mcp ⭐ 本Skill
|
|
|
128
126
|
| **分析** | get_insights | AI消费洞察 | "分析消费习惯" |
|
|
129
127
|
| | export_data | 导出完整数据 | 深度分析 |
|
|
130
128
|
| **辅助** | get_skill | 【必须】获取Skill文档 | 记账前调用 |
|
|
131
|
-
| | get_text_parse_prompt | 获取文字解析模板 | 文字记账前 |
|
|
132
|
-
| | get_parse_prompt | 获取小票解析模板 | 小票记账前 |
|
|
133
129
|
| | submit_feedback | 提交反馈 | 功能使用异常,无法解决问题反馈 |
|
|
134
130
|
|
|
135
131
|
---
|
|
136
132
|
|
|
137
133
|
## 六、快速开始
|
|
138
134
|
|
|
139
|
-
###
|
|
135
|
+
### MCP2.0 自动记账流程
|
|
136
|
+
|
|
137
|
+
> ⚠️ parse_text 内部已完成 AI 解析 + 数据入库,Agent 无需再调用 save_expense
|
|
138
|
+
> ⚠️ 不要输出记账过程,不要告诉用户"第1步、第2步"等流程细节,只需要回复用户结果
|
|
139
|
+
|
|
140
|
+
**文字记账(一行完成):**
|
|
140
141
|
|
|
141
142
|
```
|
|
142
|
-
|
|
143
|
-
|
|
143
|
+
用户:午餐35元麦当劳
|
|
144
|
+
|
|
145
|
+
Agent 操作:
|
|
146
|
+
1. get_skill() 获取规范(首次或过期时调用)
|
|
147
|
+
2. parse_text({ text: "午餐35元麦当劳", agentType: "...", apiProvider: "..." })
|
|
148
|
+
↓ 后端自动:AI解析 → 保存到数据库
|
|
149
|
+
↓ 返回:{ success: true, data: { saved: true, name: "午餐", amount: 35, category: "餐饮", ... }, message: "✅ 已记录:午餐 35元(餐饮)" }
|
|
150
|
+
3. 根据 _templateLocation 使用模板渲染回复
|
|
151
|
+
```
|
|
144
152
|
|
|
153
|
+
**收入记账:**
|
|
145
154
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
└─ references/response-templates.md 了解回复模板
|
|
155
|
+
```
|
|
156
|
+
用户:工资5000
|
|
149
157
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
158
|
+
Agent 操作:
|
|
159
|
+
1. parse_text({ text: "工资5000", agentType: "...", apiProvider: "..." })
|
|
160
|
+
↓ 后端自动判断为收入,走 addIncome 保存
|
|
161
|
+
2. 渲染回复
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**小票记账:**
|
|
157
165
|
|
|
158
|
-
|
|
159
|
-
|
|
166
|
+
```
|
|
167
|
+
用户:[上传小票图片]
|
|
160
168
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
169
|
+
Agent 操作:
|
|
170
|
+
1. get_skill() 获取规范
|
|
171
|
+
2. parse_receipt_image({ imageUrl: "https://...", agentType: "...", apiProvider: "..." })
|
|
172
|
+
↓ 后端自动:AI视觉解析 → 保存到数据库
|
|
173
|
+
3. 渲染回复
|
|
164
174
|
```
|
|
165
175
|
|
|
166
176
|
---
|
|
@@ -202,8 +212,7 @@ references/
|
|
|
202
212
|
|
|
203
213
|
| 工具 | 模板位置 | 模板章节 | 说明 |
|
|
204
214
|
|------|---------|---------|------|
|
|
205
|
-
| `
|
|
206
|
-
| `save_income` | `references/response-templates.md` | 2.1 标准成功模板 | 收入记账成功 |
|
|
215
|
+
| `parse_text` | `references/response-templates.md` | 2.1 标准成功模板 | 文字/收入记账成功 |
|
|
207
216
|
| `save_receipt` | `references/response-templates.md` | 2.3 小票记账模板 | 小票记账成功 |
|
|
208
217
|
| `get_expenses` | `references/response-templates.md` | 2.5 查询结果模板 | 消费记录查询 |
|
|
209
218
|
| `get_receipt_list` | `references/response-templates.md` | 2.5 查询结果模板 | 小票列表查询 |
|
|
@@ -240,7 +249,7 @@ references/
|
|
|
240
249
|
💡 消费洞察:本月餐饮支出占比30%,建议控制
|
|
241
250
|
═══════════════
|
|
242
251
|
🎉 *美食为梦想充电,继续向前冲!*
|
|
243
|
-
*柴米AI记账 chaimi-keep-mcp
|
|
252
|
+
*柴米AI记账 chaimi-keep-mcp v4.0.0-beta.0*
|
|
244
253
|
```
|
|
245
254
|
|
|
246
255
|
**模板变量说明:**
|
|
@@ -326,5 +335,5 @@ references/
|
|
|
326
335
|
---
|
|
327
336
|
|
|
328
337
|
|
|
329
|
-
**最后更新:2026-
|
|
330
|
-
**Status
|
|
338
|
+
**最后更新:2026-05-17**
|
|
339
|
+
**Status:MCP2.0 测试中**
|
package/oauth.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x2318d6=_0x98e7;(function(_0x6c6c69,_0x4a751f){const _0x3d2cc8=_0x98e7,_0x12b8df=_0x6c6c69();while(!![]){try{const _0x261ee3=-parseInt(_0x3d2cc8(0x291))/0x1+parseInt(_0x3d2cc8(0x23b))/0x2*(parseInt(_0x3d2cc8(0x239))/0x3)+-parseInt(_0x3d2cc8(0x222))/0x4*(-parseInt(_0x3d2cc8(0x211))/0x5)+-parseInt(_0x3d2cc8(0x231))/0x6+parseInt(_0x3d2cc8(0x1f8))/0x7+parseInt(_0x3d2cc8(0x25d))/0x8+parseInt(_0x3d2cc8(0x220))/0x9;if(_0x261ee3===_0x4a751f)break;else _0x12b8df['push'](_0x12b8df['shift']());}catch(_0xcf6bb6){_0x12b8df['push'](_0x12b8df['shift']());}}}(_0x16c5,0xb44dd));const fetch=require('node-'+_0x2318d6(0x200)),{exec}=require(_0x2318d6(0x276)+'_proc'+'ess'),util=require(_0x2318d6(0x237)),execPromise=util[_0x2318d6(0x1d6)+_0x2318d6(0x1f1)](exec),crypto=require(_0x2318d6(0x251)+'o');function _0x98e7(_0x1e1ecf,_0x394e57){_0x1e1ecf=_0x1e1ecf-0x1ac;const _0x16c562=_0x16c5();let _0x98e72f=_0x16c562[_0x1e1ecf];if(_0x98e7['ZAoQgU']===undefined){var _0x5c88ad=function(_0x5e167a){const _0x4c3033='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b8ab4='',_0x29b795='';for(let _0x1d0974=0x0,_0x419610,_0x55b18b,_0x30dd25=0x0;_0x55b18b=_0x5e167a['charAt'](_0x30dd25++);~_0x55b18b&&(_0x419610=_0x1d0974%0x4?_0x419610*0x40+_0x55b18b:_0x55b18b,_0x1d0974++%0x4)?_0x3b8ab4+=String['fromCharCode'](0xff&_0x419610>>(-0x2*_0x1d0974&0x6)):0x0){_0x55b18b=_0x4c3033['indexOf'](_0x55b18b);}for(let _0x451b45=0x0,_0x5cc607=_0x3b8ab4['length'];_0x451b45<_0x5cc607;_0x451b45++){_0x29b795+='%'+('00'+_0x3b8ab4['charCodeAt'](_0x451b45)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29b795);};_0x98e7['JBvzfl']=_0x5c88ad,_0x98e7['YMnGbD']={},_0x98e7['ZAoQgU']=!![];}const _0x2b6c16=_0x16c562[0x0],_0x7d8481=_0x1e1ecf+_0x2b6c16,_0x5a7f4a=_0x98e7['YMnGbD'][_0x7d8481];return!_0x5a7f4a?(_0x98e72f=_0x98e7['JBvzfl'](_0x98e72f),_0x98e7['YMnGbD'][_0x7d8481]=_0x98e72f):_0x98e72f=_0x5a7f4a,_0x98e72f;}class OAuthManager{constructor(_0x33ada5){const _0x592ae1=_0x2318d6;this['mcpOA'+_0x592ae1(0x249)+'l']=_0x33ada5[_0x592ae1(0x227)+_0x592ae1(0x249)+'l'],this[_0x592ae1(0x1f9)+'Stora'+'ge']=_0x33ada5['token'+_0x592ae1(0x297)+'ge'],this['onQrC'+_0x592ae1(0x243)]=_0x33ada5['onQrC'+_0x592ae1(0x243)],this[_0x592ae1(0x22d)+_0x592ae1(0x24d)+'dy']=_0x33ada5[_0x592ae1(0x22d)+_0x592ae1(0x24d)+'dy'],this['prefe'+_0x592ae1(0x22f)+'cheme']=_0x33ada5[_0x592ae1(0x277)+_0x592ae1(0x22f)+'cheme']!==![];}async['detec'+_0x2318d6(0x24b)+_0x2318d6(0x21a)+'nt'](){const _0x5b4d84=_0x2318d6,_0x310963={'qptbG':_0x5b4d84(0x29a),'GuyBk':function(_0x149bd6,_0x23cc80){return _0x149bd6===_0x23cc80;},'pEwbZ':_0x5b4d84(0x260)+'n'},_0x2e446c=('3|1|4'+_0x5b4d84(0x246))[_0x5b4d84(0x278)]('|');let _0x404f2c=0x0;while(!![]){switch(_0x2e446c[_0x404f2c++]){case'0':return{'supportsBrowser':![],'platform':_0x310963[_0x5b4d84(0x1b9)]};case'1':if(_0x310963[_0x5b4d84(0x2ad)](process[_0x5b4d84(0x2b1)+_0x5b4d84(0x1af)],_0x310963[_0x5b4d84(0x1ca)]))return{'supportsBrowser':!![],'platform':_0x5b4d84(0x28c)};continue;case'2':if(process.env.BROWSER)return{'supportsBrowser':!![],'platform':_0x5b4d84(0x259)+'m'};continue;case'3':if(process.env.DISPLAY)return{'supportsBrowser':!![],'platform':_0x5b4d84(0x27d)+_0x5b4d84(0x216)};continue;case'4':if(process[_0x5b4d84(0x2b1)+'orm']===_0x5b4d84(0x1fb))return{'supportsBrowser':!![],'platform':_0x5b4d84(0x1d7)+'ws'};continue;}break;}}async[_0x2318d6(0x247)+'AuthF'+_0x2318d6(0x299)](){const _0x22be82=_0x2318d6,_0x27034d={'sbiDi':function(_0x1456fb,_0x4d30b6){return _0x1456fb*_0x4d30b6;}};try{const _0x2989df=await this[_0x22be82(0x26f)+_0x22be82(0x24b)+'ronme'+'nt'](),_0xfb44bd=this[_0x22be82(0x277)+'rUrlS'+_0x22be82(0x207)]&&_0x2989df[_0x22be82(0x1e3)+_0x22be82(0x281)+'owser'],_0x1c1dbd=await this['reque'+_0x22be82(0x1bc)+_0x22be82(0x287)+'de'](_0xfb44bd);await this[_0x22be82(0x223)+_0x22be82(0x230)+_0x22be82(0x1e4)]({'deviceCode':_0x1c1dbd[_0x22be82(0x1b4)+_0x22be82(0x258)],'userCode':_0x1c1dbd['userC'+_0x22be82(0x243)],'timestamp':Date['now'](),'status':_0x22be82(0x295)+'ng'});_0xfb44bd&&_0x1c1dbd[_0x22be82(0x1cd)+'heme']?await this[_0x22be82(0x253)+_0x22be82(0x1f2)+_0x22be82(0x25f)+_0x22be82(0x1db)+'me'](_0x1c1dbd):await this[_0x22be82(0x253)+'rizeW'+_0x22be82(0x1c5)+_0x22be82(0x233)+_0x22be82(0x299)](_0x1c1dbd);console['error'](''),console['error']('⏳\x20等待用'+'户授权,请'+_0x22be82(0x1fc)+'...'),console[_0x22be82(0x1d0)](_0x22be82(0x270)+_0x22be82(0x1fd)+_0x22be82(0x234)+'操作)'),console['error']('');const _0x3081bf=await this[_0x22be82(0x24e)+'orTok'+'en'](_0x1c1dbd[_0x22be82(0x1b4)+_0x22be82(0x258)],_0x27034d[_0x22be82(0x212)](_0x1c1dbd[_0x22be82(0x27a)+_0x22be82(0x2a7)],0x3e8)||0x1388);return await this[_0x22be82(0x1f9)+_0x22be82(0x297)+'ge'][_0x22be82(0x20f)](_0x3081bf),this[_0x22be82(0x22d)+_0x22be82(0x24d)+'dy']&&this[_0x22be82(0x22d)+_0x22be82(0x24d)+'dy'](_0x3081bf),_0x3081bf;}catch(_0x3e708e){throw _0x3e708e;}}async[_0x2318d6(0x253)+_0x2318d6(0x1f2)+_0x2318d6(0x25f)+_0x2318d6(0x1db)+'me'](_0xa85769){const _0x1286fb=_0x2318d6,_0x413a61=this[_0x1286fb(0x26f)+_0x1286fb(0x1d9)+_0x1286fb(0x219)+_0x1286fb(0x29f)+_0x1286fb(0x226)]();if(_0x413a61){const _0x2375dd=_0xa85769['urlSc'+_0x1286fb(0x25c)]||_0xa85769[_0x1286fb(0x1fe)+'icati'+_0x1286fb(0x210)+_0x1286fb(0x261)];try{await this['openB'+_0x1286fb(0x280)+'r'](_0x2375dd);}catch(_0x56d885){}}else{const _0x553344='https'+'://mc'+_0x1286fb(0x28b)+_0x1286fb(0x29b)+_0x1286fb(0x2b3)+'uth?d'+'evice'+_0x1286fb(0x1d1)+_0xa85769[_0x1286fb(0x1b4)+_0x1286fb(0x258)]+(_0x1286fb(0x1be)+_0x1286fb(0x1d1))+_0xa85769['userC'+_0x1286fb(0x243)];this['onQrC'+_0x1286fb(0x243)]&&await this[_0x1286fb(0x248)+_0x1286fb(0x243)]({'userCode':_0xa85769[_0x1286fb(0x21b)+_0x1286fb(0x243)],'verificationUri':_0xa85769[_0x1286fb(0x1fe)+_0x1286fb(0x245)+_0x1286fb(0x210)],'deviceCode':_0xa85769['devic'+_0x1286fb(0x258)],'qrCodeUrl':_0x553344,'isPC':!![]});}}[_0x2318d6(0x26f)+'tMobi'+'leEnv'+'ironm'+_0x2318d6(0x226)](){const _0x2eaef9=_0x2318d6,_0x1f38f5=process.env.USER_AGENT||'';if(/iPhone|iPad|iPod|Android|Mobile/i['test'](_0x1f38f5))return!![];if(process.env.TERM_PROGRAM===_0x2eaef9(0x221)+_0x2eaef9(0x1c8)+_0x2eaef9(0x269)&&process[_0x2eaef9(0x2b1)+_0x2eaef9(0x1af)]===_0x2eaef9(0x260)+'n')return![];return![];}async[_0x2318d6(0x253)+_0x2318d6(0x1f2)+_0x2318d6(0x1c5)+_0x2318d6(0x233)+'low'](_0x113b6a){const _0x246f05=_0x2318d6;this[_0x246f05(0x248)+_0x246f05(0x243)]&&await this[_0x246f05(0x248)+_0x246f05(0x243)]({'userCode':_0x113b6a[_0x246f05(0x21b)+_0x246f05(0x243)],'verificationUri':_0x113b6a[_0x246f05(0x1fe)+'icati'+_0x246f05(0x210)],'deviceCode':_0x113b6a['devic'+'eCode']});}async['openB'+_0x2318d6(0x280)+'r'](_0x56f57e){const _0x4015b6=_0x2318d6,_0x26375d={'VgWzy':function(_0x60c46c,_0x74c95){return _0x60c46c===_0x74c95;}},_0x4ad652=process[_0x4015b6(0x2b1)+_0x4015b6(0x1af)];let _0x1a7c62;if(_0x26375d['VgWzy'](_0x4ad652,_0x4015b6(0x260)+'n'))_0x1a7c62=_0x4015b6(0x2a0)+'\x22'+_0x56f57e+'\x22';else{if(_0x4ad652==='win32')_0x1a7c62='start'+_0x4015b6(0x20b)+_0x56f57e+'\x22';else{if(_0x4ad652===_0x4015b6(0x27d))_0x1a7c62=_0x4015b6(0x2ab)+'pen\x20\x22'+_0x56f57e+'\x22';else throw new Error(_0x4015b6(0x23a)+'台');}}await execPromise(_0x1a7c62);}async[_0x2318d6(0x204)+_0x2318d6(0x1bc)+_0x2318d6(0x287)+'de'](_0x4be5d5=![]){const _0x122d8e=_0x2318d6,_0x3ecf05={'wRDkO':_0x122d8e(0x1cf)},_0x4e55ac=await fetch(this[_0x122d8e(0x227)+_0x122d8e(0x249)+'l'],{'method':_0x3ecf05[_0x122d8e(0x1e8)],'headers':{'Content-Type':_0x122d8e(0x284)+_0x122d8e(0x1b5)+'n/jso'+'n'},'body':JSON[_0x122d8e(0x1bf)+_0x122d8e(0x240)]({'tool':'devic'+'eCode','params':{'clientId':_0x122d8e(0x2af)+_0x122d8e(0x275)+_0x122d8e(0x20c)+_0x122d8e(0x226),'useUrlScheme':_0x4be5d5}})}),_0x3bbe34=await _0x4e55ac[_0x122d8e(0x241)]();if(!_0x3bbe34['succe'+'ss'])throw new Error(_0x122d8e(0x2b7)+_0x122d8e(0x218)+_0x3bbe34['error']);return _0x3bbe34['data'];}async[_0x2318d6(0x24e)+_0x2318d6(0x1b2)+_0x2318d6(0x20a)+'e'](_0x1ca6d9){const _0x3df2f9=_0x2318d6,_0x1cf5a7={'cWTuI':function(_0x43e16a,_0x2b91b4){return _0x43e16a*_0x2b91b4;},'ZNPih':'autho'+_0x3df2f9(0x24f)+'ion_p'+_0x3df2f9(0x235)+'g','lQEFQ':'expir'+_0x3df2f9(0x228)+_0x3df2f9(0x289)};try{const _0x546bc7=await fetch(this[_0x3df2f9(0x227)+_0x3df2f9(0x249)+'l'],{'method':_0x3df2f9(0x1cf),'headers':{'Content-Type':_0x3df2f9(0x284)+'catio'+_0x3df2f9(0x232)+'n'},'body':JSON['strin'+'gify']({'tool':_0x3df2f9(0x1b4)+_0x3df2f9(0x273)+'n','params':{'deviceCode':_0x1ca6d9}})}),_0x40e5d1=await _0x546bc7['json']();if(_0x40e5d1[_0x3df2f9(0x26e)+'ss'])return{'accessToken':_0x40e5d1[_0x3df2f9(0x274)][_0x3df2f9(0x1de)+_0x3df2f9(0x2a1)+'n'],'refreshToken':_0x40e5d1[_0x3df2f9(0x274)][_0x3df2f9(0x1cb)+_0x3df2f9(0x25a)+'en'],'expiresIn':_0x40e5d1[_0x3df2f9(0x274)][_0x3df2f9(0x1c3)+'esIn'],'tokenType':_0x40e5d1[_0x3df2f9(0x274)][_0x3df2f9(0x1f9)+_0x3df2f9(0x27b)],'expiresAt':Date['now']()+_0x1cf5a7[_0x3df2f9(0x1ba)](_0x40e5d1[_0x3df2f9(0x274)]['expir'+_0x3df2f9(0x293)],0x3e8)};if(_0x40e5d1[_0x3df2f9(0x1d0)]===_0x1cf5a7[_0x3df2f9(0x1ff)])return null;if(_0x40e5d1[_0x3df2f9(0x1d0)]===_0x1cf5a7[_0x3df2f9(0x205)])throw new Error('设备码已过'+_0x3df2f9(0x2b6)+'授权');if(_0x40e5d1[_0x3df2f9(0x1d0)]===_0x3df2f9(0x202)+'id_de'+_0x3df2f9(0x21e)+_0x3df2f9(0x1ed))throw new Error('无效的设备'+'码');throw new Error(_0x3df2f9(0x255)+_0x3df2f9(0x1c4)+_0x3df2f9(0x24c)+_0x40e5d1['error']);}catch(_0x3047f5){throw _0x3047f5;}}async[_0x2318d6(0x24e)+_0x2318d6(0x1b2)+'en'](_0x4a5951,_0x5005c0){const _0x206807=_0x2318d6,_0x544ba3={'rvOXY':function(_0xd1a87b,_0x19cac2){return _0xd1a87b<_0x19cac2;},'wmnij':'expir'+'ed'},_0x58d7ec=0x3c;let _0x17ed56=0x0;while(_0x544ba3[_0x206807(0x21c)](_0x17ed56,_0x58d7ec)){_0x17ed56++,await this[_0x206807(0x2ae)](_0x5005c0);try{const _0x410f32=await this[_0x206807(0x24e)+_0x206807(0x1b2)+'enOnc'+'e'](_0x4a5951);if(_0x410f32)return _0x410f32;}catch(_0x224ae6){if(_0x224ae6[_0x206807(0x264)+'ge'][_0x206807(0x2a4)+_0x206807(0x1f3)](_0x544ba3['wmnij'])||_0x224ae6[_0x206807(0x264)+'ge'][_0x206807(0x2a4)+_0x206807(0x1f3)]('inval'+'id'))throw _0x224ae6;}}throw new Error(_0x206807(0x229)+_0x206807(0x238));}async['refre'+_0x2318d6(0x25a)+'en'](){const _0x58ca9f=_0x2318d6,_0x5c99be={'wfbBf':_0x58ca9f(0x1cf),'eEMai':'appli'+'catio'+'n/jso'+'n','UZKjY':_0x58ca9f(0x1cb)+_0x58ca9f(0x25a)+'en'},_0x39924b=await this['token'+_0x58ca9f(0x297)+'ge'][_0x58ca9f(0x256)]();if(!_0x39924b||!_0x39924b[_0x58ca9f(0x1cb)+'shTok'+'en'])throw new Error(_0x58ca9f(0x1b3)+_0x58ca9f(0x20d)+'esh\x20T'+_0x58ca9f(0x27e)+'需要重新授'+'权');try{const _0x474916=await fetch(this[_0x58ca9f(0x227)+_0x58ca9f(0x249)+'l'],{'method':_0x5c99be[_0x58ca9f(0x1ef)],'headers':{'Content-Type':_0x5c99be['eEMai']},'body':JSON['strin'+_0x58ca9f(0x240)]({'tool':_0x5c99be[_0x58ca9f(0x1df)],'params':{'refreshToken':_0x39924b['refre'+_0x58ca9f(0x25a)+'en']}})}),_0x37c9cc=await _0x474916[_0x58ca9f(0x241)]();if(!_0x37c9cc[_0x58ca9f(0x26e)+'ss']){if(_0x37c9cc['error']===_0x58ca9f(0x1cb)+'sh_to'+_0x58ca9f(0x242)+_0x58ca9f(0x1eb)+'d')throw new Error(_0x58ca9f(0x285)+'sh\x20To'+_0x58ca9f(0x27f)+_0x58ca9f(0x209)+_0x58ca9f(0x1ce));throw new Error('刷新\x20To'+_0x58ca9f(0x1c4)+_0x58ca9f(0x24c)+_0x37c9cc[_0x58ca9f(0x1d0)]);}const _0x3942c3={'accessToken':_0x37c9cc[_0x58ca9f(0x274)][_0x58ca9f(0x1de)+_0x58ca9f(0x2a1)+'n'],'refreshToken':_0x37c9cc[_0x58ca9f(0x274)][_0x58ca9f(0x1cb)+_0x58ca9f(0x25a)+'en'],'expiresIn':_0x37c9cc['data'][_0x58ca9f(0x1c3)+_0x58ca9f(0x293)],'tokenType':_0x37c9cc['data']['token'+'Type'],'expiresAt':Date[_0x58ca9f(0x1ec)]()+_0x37c9cc['data'][_0x58ca9f(0x1c3)+_0x58ca9f(0x293)]*0x3e8};return await this[_0x58ca9f(0x1f9)+_0x58ca9f(0x297)+'ge'][_0x58ca9f(0x20f)](_0x3942c3),_0x3942c3;}catch(_0x950d1a){throw _0x950d1a;}}async[_0x2318d6(0x21f)+_0x2318d6(0x2a8)+_0x2318d6(0x289)](){const _0x179f19=_0x2318d6,_0x185adb={'LAiPb':_0x179f19(0x214)+_0x179f19(0x23c)+_0x179f19(0x1e7)+'权'},_0x4d0278=await this[_0x179f19(0x1f9)+_0x179f19(0x297)+'ge'][_0x179f19(0x256)]();if(!_0x4d0278)throw new Error(_0x185adb[_0x179f19(0x1c7)]);const _0x129986=0x5*0x3c*0x3e8;if(Date[_0x179f19(0x1ec)]()+_0x129986>_0x4d0278['expir'+_0x179f19(0x262)])return await this['refre'+_0x179f19(0x25a)+'en']();return _0x4d0278;}['delay'](_0x582f07){return new Promise(_0xbd6519=>setTimeout(_0xbd6519,_0x582f07));}async['saveA'+_0x2318d6(0x230)+_0x2318d6(0x1e4)](_0x42c24c){const _0x568e3f=_0x2318d6,_0xd007ef={'WEjgZ':_0x568e3f(0x265),'SSeSE':_0x568e3f(0x1fa)+_0x568e3f(0x263)+'ep'};try{const _0x26cfb1=require('fs')['promi'+_0x568e3f(0x1c0)],_0x1d9025=require(_0xd007ef['WEjgZ']),_0x163763=require('os'),_0x25cb7a=_0x1d9025[_0x568e3f(0x28e)](_0x163763[_0x568e3f(0x1d4)+'ir'](),_0xd007ef['SSeSE'],'auth-'+'state'+_0x568e3f(0x1c6)),_0x567bfc=_0x1d9025[_0x568e3f(0x22a)+'me'](_0x25cb7a);await _0x26cfb1[_0x568e3f(0x1e5)](_0x567bfc,{'recursive':!![]}),await _0x26cfb1['chmod'](_0x567bfc,0x1c0)[_0x568e3f(0x23f)](()=>{}),await _0x26cfb1[_0x568e3f(0x28f)+_0x568e3f(0x290)](_0x25cb7a,JSON[_0x568e3f(0x1bf)+_0x568e3f(0x240)](_0x42c24c,null,0x2),{'mode':0x180});}catch(_0x557333){}}async[_0x2318d6(0x29d)+'uthSt'+_0x2318d6(0x1e4)](){const _0x27283a=_0x2318d6,_0x139f7d={'nDAIM':function(_0x2efcd6,_0x30952b){return _0x2efcd6(_0x30952b);},'QKSgV':_0x27283a(0x265),'cXwIJ':_0x27283a(0x27c)+_0x27283a(0x250)+_0x27283a(0x1c6)};try{const _0x1fb304=_0x139f7d['nDAIM'](require,'fs')[_0x27283a(0x1d6)+_0x27283a(0x1c0)],_0x261630=require(_0x139f7d[_0x27283a(0x1c2)]),_0x4820e3=require('os'),_0x2419d2=_0x261630['join'](_0x4820e3['homed'+'ir'](),_0x27283a(0x1fa)+_0x27283a(0x263)+'ep',_0x139f7d[_0x27283a(0x1d8)]),_0x526a98=await _0x1fb304[_0x27283a(0x2b2)+_0x27283a(0x22b)](_0x2419d2,_0x27283a(0x1f0));return JSON[_0x27283a(0x1f7)](_0x526a98);}catch(_0x444d99){if(_0x444d99[_0x27283a(0x1ed)]===_0x27283a(0x1b6)+'T')return null;return null;}}async[_0x2318d6(0x25e)+_0x2318d6(0x1d2)+'tate'](){const _0x5f4c2b=_0x2318d6,_0x253a54={'YdGnx':function(_0x354ef5,_0x2ba8c9){return _0x354ef5(_0x2ba8c9);},'YmAmO':_0x5f4c2b(0x265),'IpdPt':_0x5f4c2b(0x1fa)+'mi-ke'+'ep'};try{const _0x873bc3=require('fs')[_0x5f4c2b(0x1d6)+_0x5f4c2b(0x1c0)],_0xdf3225=_0x253a54['YdGnx'](require,_0x253a54['YmAmO']),_0x51891f=_0x253a54[_0x5f4c2b(0x2aa)](require,'os'),_0x4b80db=_0xdf3225[_0x5f4c2b(0x28e)](_0x51891f[_0x5f4c2b(0x1d4)+'ir'](),_0x253a54['IpdPt'],'auth-'+_0x5f4c2b(0x250)+'.json');await _0x873bc3[_0x5f4c2b(0x1c9)+'k'](_0x4b80db);}catch(_0x113ec1){}}[_0x2318d6(0x26b)+_0x2318d6(0x213)+'eExpi'+_0x2318d6(0x2b0)](_0x6e665f,_0x3cde01=0x1e*0x3c*0x3e8){const _0x47d813=_0x2318d6,_0x5aaa04={'Kevzq':function(_0x1ef0db,_0x1ae1f7){return _0x1ef0db-_0x1ae1f7;}};if(_0x6e665f&&_0x6e665f['expir'+'esAt'])return Date[_0x47d813(0x1ec)]()>_0x6e665f['expir'+'esAt'];if(!_0x6e665f||!_0x6e665f[_0x47d813(0x25b)+'tamp'])return!![];return _0x5aaa04[_0x47d813(0x1c1)](Date[_0x47d813(0x1ec)](),_0x6e665f[_0x47d813(0x25b)+'tamp'])>_0x3cde01;}}class TokenStorage{async[_0x2318d6(0x20f)](_0xd3922b){const _0x4bcbe3=_0x2318d6;throw new Error('Token'+_0x4bcbe3(0x297)+_0x4bcbe3(0x298)+'ve\x20必须'+_0x4bcbe3(0x252));}async['load'](){const _0x367f59=_0x2318d6,_0x2f6edb={'mhfxS':_0x367f59(0x217)+_0x367f59(0x297)+_0x367f59(0x286)+_0x367f59(0x22e)+_0x367f59(0x252)};throw new Error(_0x2f6edb[_0x367f59(0x1ac)]);}async['clear'](){const _0x528953=_0x2318d6,_0x31d792={'oVHRJ':'Token'+_0x528953(0x297)+_0x528953(0x283)+_0x528953(0x201)+_0x528953(0x266)+'现'};throw new Error(_0x31d792[_0x528953(0x1d3)]);}}function _0x16c5(){const _0x2acd37=['ywvZlti','y2HLBwu','CgHLCMK','6l+h5PYF77Ym6zYa6kAb','zw5pBMm','iciIici','Cc1JBgK','ifjLzNi','AxrSsKG','C2f2zq','B25vCMK','nZmYnu1suwvMyW','C2jPrgK','Afn0yxq','5RkH5PYj5A2y5ykO55Qe','lw5HBwu','lwD1Aq','vg9Rzw4','5AsX6lsLoIa','BgvfBNy','CM9UBwu','DxnLCKm','CNzpwfK','yLP6vNC','DMLJzv8','z2v0vMe','ndy0oduWD1fvC1n1','qxbWBgu','mJG3nKDosezvAW','C2f2zue','oJaWoJa','zMLSzva','zw50','BwnWt0e','zwrFDg8','5O6i5P2d6lAf5PE277Ym','zgLYBMe','AwXL','CMvWBge','B25uB2S','ywqG5B+f6Ag7','CLvYBfm','DxrOu3q','mJq4mZqWmeHmExztsW','BI9QC28','DMLJzuy','5lIT5A6m5OIq5O6i5P2d','zw5KAw4','iowqJEENSowKSEI0Pq','DxrPBa','6k+36yEn5PAW5BcD6k+v','ntCZmtvvENnIyvG','5lIn5PsV5OYb55Qe5BMZ','odzUqufuyNm','ifrVA2u','DxbKyxq','wu9cruS','y2f0y2G','z2LMEq','ANnVBG','A2vUx2u','B2rL','CMLUzW','AwnHDgK','Fdj8ma','C3rHCNq','B25rCKm','DxrOvxi','yw1L','DevUDMK','6lsLoIa','zw5szwe','Cg9SBey','CML6yxq','C3rHDgu','y3j5Chq','6kkR5A2q57g75A6E546W','yxv0Ag8','y3r6zxu','6i635y+wifrV','Bg9Hza','BMv0D28','zunVzgu','y3vZDg8','C2HuB2S','DgLTzxm','AgvTzq','ndi3ndGWA0Pmq0j6','y2XLyxi','AxrOvxi','zgfYD2K','rNvSBa','zxnbDa','BwKTA2u','BwvZC2e','Cgf0Aa','6Ag76kkR5A2q57g75A6E','zgLNzxm','ChrLza','Aw5HBa','u3rYAw4','AxnbDxq','zNjVBum','CMTjBNq','C3vJy2u','zgv0zwm','icaG77Yi6k+3','zMLUywW','q29Kzq','zvrVA2u','zgf0yq','Dw8TBwm','y2HPBgq','ChjLzMu','C3bSAxq','zxjMywm','Aw50zxi','vhLWzq','yxv0Ac0','BgLUDxG','B2TLBU+8Ja','A2vUiow3SG','CM93C2u','CNrZqNi','BNqG5zcn56EW','z2uUy2W','yxbWBgK','uMvMCMu','z2uUBg8','AwnLq28','4PYfiefNzq','A2vU','BIdMOlZLVi/VViW','Cc5JAge','BwfJB3m','rgr5q3i','AM9PBG','D3jPDgu','rMLSzq','mtmWndu5mK9rrwrbuq','A2v5','zxnjBG','zuHHC2G','CgvUzgK','CgHyv2i','u3rVCMe','z2uUC2e','Bg93','y2XP','AwH1BY4','y3jLyxq','Bg9Hzee','Dg9ju08','AxjVBM0','B3bLBIa','C1rVA2u','zNjVBq','zs1JB2q','Aw5JBhu','sNHmzvK','zs5QC28','DMfS','BgLKvg8','Bg9Hzeq','wwrhBNG','EgrNlw8','zgXAvKe','r3v5qMS','zgvSyxK','y2HHAwG','CMvK','CgXHDgy','CMvHzey','y29Tl2e','mdOWmdO','Agv4','5PYF77Ym6k+36yEn5PAW','6i635y+w6k6+5Ash56cb','BwHMEfm','4P2mios/NEwTMca','CMfUzg8','B3jT','tMfTzq','qwDLBNq','B3juB2S','5RkH5PYj5y+V55sO55Qe','zgv2Awm','y2f0Aw8','ru5pru4','5P+057gZquNLIQK','ntyTy2i','Cxb0yKC','y1DuDuK','qwrmzeK','C3rezxy','zw5JCNK','jNvZzxi','C3rYAw4','C2vZ','s2v2ENe','uuTtz1y','zxHWAxi','A2vUiowKSq','AxrOrgu','lMPZB24','tefPugi','x1rLCM0','Dw5SAw4','Cev3yLO','CMvMCMu','rw1lEfe','DxjSu2m','6yEn5PAW5O6i5P2d','ue9tva','zxjYB3i','q29Kzt0','qxv0Afm','B1ziuKO','Ag9Tzwq','BwfJ','ChjVBwK','D2LUzg8','y1H3suO','De1VyMK','Ag9ZDg4','BfnJAgu','zunPCgG','D3zUz0C','ywnJzxm','vvPlALK','A2v5CW','zxHWB3i','Buj5Dgu','C3vWCg8','yxrL','BwTKAxi','5Qoa5Rwl5yIW5PEN54Mi','BU+8JoIVT+wfIoAoIa','D1jeA08','yxrO','C2f2zuq','EhbPCMu','BM93','y29Kzq','Dg9tDhi','D2zIqMy','DxrMoa','C2LMEq','CML6zvC','zgvZ','mI4W','zxzPy2u','ywDLBNq','CgfYC2u','mZmZotu3nhPhv050ra','Dg9Rzw4','lMnOywK','D2LUmZi','5yU/5ywZ6zET56Qx5y+J','5zYO5OMl5PY65B6U5l+H','DMvYAwy','wK5qAwG','zMv0y2G','zwfYiow/Hq','Aw52ywW','5BEY5l+D5A2yoG','CMvXDwu','BfffrLe'];_0x16c5=function(){return _0x2acd37;};return _0x16c5();}function getMachineId(){const _0x35ed30=_0x2318d6,_0x376d16={'GByjF':function(_0x4fef0a,_0x42743d){return _0x4fef0a!==_0x42743d;},'itlJH':'sha25'+'6'},_0x3364c3=require('os'),_0x2dec05=_0x3364c3[_0x35ed30(0x257)+_0x35ed30(0x26d)+_0x35ed30(0x279)+'es']();let _0x3a0fa2='';for(const _0x4b0102 of Object[_0x35ed30(0x1e0)](_0x2dec05)){for(const _0x5c7f9e of _0x2dec05[_0x4b0102]){if(_0x5c7f9e['mac']&&_0x376d16['GByjF'](_0x5c7f9e[_0x35ed30(0x1d5)],'00:00'+_0x35ed30(0x224)+_0x35ed30(0x2b4)+'00')){_0x3a0fa2=_0x5c7f9e['mac'];break;}}if(_0x3a0fa2)break;}const _0x114cc0=_0x3a0fa2+'-'+_0x3364c3[_0x35ed30(0x1da)+_0x35ed30(0x24a)]()+'-'+_0x3364c3[_0x35ed30(0x2b1)+_0x35ed30(0x1af)]();return crypto[_0x35ed30(0x29c)+_0x35ed30(0x294)](_0x376d16[_0x35ed30(0x20e)])[_0x35ed30(0x23d)+'e'](_0x114cc0)[_0x35ed30(0x267)+'t'](_0x35ed30(0x2b5))['subst'+_0x35ed30(0x244)](0x0,0x20);}function encryptToken(_0x40c674,_0x7dcaa1){const _0x23b4e1=_0x2318d6,_0x4fcfd5={'DdyCr':_0x23b4e1(0x206)+_0x23b4e1(0x1b8)+'c','wvngG':'hex','dlZVA':function(_0x3be041,_0x58d088){return _0x3be041+_0x58d088;},'bZzVw':function(_0x2f282d,_0x7dda4e){return _0x2f282d+_0x7dda4e;}},_0x8b6afa=crypto[_0x23b4e1(0x1ae)+_0x23b4e1(0x1e2)+'s'](0x10),_0x22cdc2=crypto[_0x23b4e1(0x29c)+_0x23b4e1(0x1dc)+'eriv'](_0x4fcfd5[_0x23b4e1(0x28d)],Buffer[_0x23b4e1(0x2a2)](_0x7dcaa1),_0x8b6afa);let _0x484979=_0x22cdc2[_0x23b4e1(0x23d)+'e'](JSON[_0x23b4e1(0x1bf)+_0x23b4e1(0x240)](_0x40c674),_0x23b4e1(0x1f0),_0x23b4e1(0x2b5));return _0x484979+=_0x22cdc2[_0x23b4e1(0x271)](_0x4fcfd5[_0x23b4e1(0x1dd)]),_0x4fcfd5[_0x23b4e1(0x2ac)](_0x4fcfd5[_0x23b4e1(0x21d)](_0x8b6afa[_0x23b4e1(0x1ee)+'ing'](_0x23b4e1(0x2b5)),':'),_0x484979);}function decryptToken(_0x4441a6,_0x5bdac9){const _0x51aba8=_0x2318d6,_0x1562ab={'EmKxQ':_0x51aba8(0x206)+_0x51aba8(0x1b8)+'c','phXWb':'hex'},_0xedae33=_0x4441a6[_0x51aba8(0x278)](':'),_0x57d709=Buffer[_0x51aba8(0x2a2)](_0xedae33[0x0],_0x51aba8(0x2b5)),_0x34d2a4=_0xedae33[0x1],_0x19740f=crypto['creat'+'eDeci'+_0x51aba8(0x208)+'v'](_0x1562ab[_0x51aba8(0x1cc)],Buffer[_0x51aba8(0x2a2)](_0x5bdac9),_0x57d709);let _0x30e8b2=_0x19740f['updat'+'e'](_0x34d2a4,_0x1562ab[_0x51aba8(0x296)],_0x51aba8(0x1f0));return _0x30e8b2+=_0x19740f[_0x51aba8(0x271)](_0x51aba8(0x1f0)),JSON[_0x51aba8(0x1f7)](_0x30e8b2);}class FileTokenStorage extends TokenStorage{constructor(_0x24f100){const _0x39e3ae=_0x2318d6,_0x2d9311={'AdLdI':function(_0x21a865,_0x321a98){return _0x21a865(_0x321a98);},'JxLeY':function(_0x72a8b6,_0xc0c03d){return _0x72a8b6(_0xc0c03d);}};super(),this[_0x39e3ae(0x225)+'ath']=_0x24f100,this['fs']=_0x2d9311[_0x39e3ae(0x1bb)](require,'fs')[_0x39e3ae(0x1d6)+_0x39e3ae(0x1c0)],this[_0x39e3ae(0x265)]=_0x2d9311[_0x39e3ae(0x2a5)](require,_0x39e3ae(0x265)),this[_0x39e3ae(0x292)]=getMachineId();}async[_0x2318d6(0x20f)](_0x3acad6){const _0x1b800c=_0x2318d6,_0x309405=this[_0x1b800c(0x265)]['dirna'+'me'](this['fileP'+_0x1b800c(0x1e9)]);await this['fs'][_0x1b800c(0x1e5)](_0x309405,{'recursive':!![]});const _0x34f661=encryptToken(_0x3acad6,this['key']),_0x28051d={'version':_0x1b800c(0x1f4),'encrypted':_0x34f661,'algorithm':_0x1b800c(0x206)+'56-cb'+'c','updatedAt':new Date()['toISO'+'Strin'+'g']()};await this['fs'][_0x1b800c(0x28f)+_0x1b800c(0x290)](this[_0x1b800c(0x225)+'ath'],JSON[_0x1b800c(0x1bf)+_0x1b800c(0x240)](_0x28051d,null,0x2),_0x1b800c(0x1f0)),await this['fs']['chmod'](this['fileP'+_0x1b800c(0x1e9)],0x180);}async[_0x2318d6(0x256)](){const _0x44c603=_0x2318d6;try{const _0x2a469e=await this['fs'][_0x44c603(0x2b2)+_0x44c603(0x22b)](this[_0x44c603(0x225)+_0x44c603(0x1e9)],_0x44c603(0x1f0)),_0x47f3b1=JSON[_0x44c603(0x1f7)](_0x2a469e);if(!_0x47f3b1['versi'+'on']||_0x47f3b1['versi'+'on']==='1.0')return console['error'](_0x44c603(0x1e6)+_0x44c603(0x23c)+_0x44c603(0x28a)+'自动升级.'+'..'),{'accessToken':_0x47f3b1['acces'+'sToke'+'n'],'refreshToken':_0x47f3b1[_0x44c603(0x1cb)+_0x44c603(0x25a)+'en'],'expiresAt':_0x47f3b1[_0x44c603(0x1c3)+'esAt'],'expiresIn':_0x47f3b1[_0x44c603(0x1c3)+_0x44c603(0x293)],'tokenType':_0x47f3b1[_0x44c603(0x1f9)+_0x44c603(0x27b)]};return decryptToken(_0x47f3b1[_0x44c603(0x1bd)+_0x44c603(0x268)],this[_0x44c603(0x292)]);}catch(_0x51d982){if(_0x51d982[_0x44c603(0x1ed)]===_0x44c603(0x1b6)+'T')return null;throw _0x51d982;}}async[_0x2318d6(0x25e)](){const _0x3d1c37=_0x2318d6;try{await this['fs'][_0x3d1c37(0x1c9)+'k'](this[_0x3d1c37(0x225)+'ath']);}catch(_0x3c494b){if(_0x3c494b[_0x3d1c37(0x1ed)]!=='ENOEN'+'T')throw _0x3c494b;}}async['saveA'+'gentN'+_0x2318d6(0x24a)](_0x3b8fb9){const _0x5e96a4=_0x2318d6,_0x1da432={'YOBEK':_0x5e96a4(0x288)+_0x5e96a4(0x282)+_0x5e96a4(0x203)};try{const _0x5d4581=this[_0x5e96a4(0x265)][_0x5e96a4(0x28e)](this[_0x5e96a4(0x265)]['dirna'+'me'](this['fileP'+_0x5e96a4(0x1e9)]),_0x5e96a4(0x1f6)+_0x5e96a4(0x215)+_0x5e96a4(0x1c6)),_0x2824bf={'agentName':_0x3b8fb9||_0x5e96a4(0x1b7)+'手','updatedAt':new Date()[_0x5e96a4(0x29e)+_0x5e96a4(0x26a)+'g']()},_0x55862a=JSON[_0x5e96a4(0x1bf)+'gify'](_0x2824bf,null,0x2)[_0x5e96a4(0x22c)+'ce'](/\\u[\dA-F]{4}/gi,_0x37df01=>String[_0x5e96a4(0x26c)+'harCo'+'de'](parseInt(_0x37df01['repla'+'ce'](/\\u/g,''),0x10)));await this['fs']['write'+_0x5e96a4(0x290)](_0x5d4581,_0x55862a,_0x5e96a4(0x1f0)),console[_0x5e96a4(0x1d0)](_0x1da432[_0x5e96a4(0x23e)],_0x5d4581);}catch(_0x4a8588){console[_0x5e96a4(0x1d0)](_0x5e96a4(0x1ad)+_0x5e96a4(0x1b1)+_0x5e96a4(0x236)+':',_0x4a8588[_0x5e96a4(0x264)+'ge']);}}async[_0x2318d6(0x29d)+'gentN'+_0x2318d6(0x24a)](){const _0x5b3fb8=_0x2318d6;try{const _0x33a2a2=this[_0x5b3fb8(0x265)][_0x5b3fb8(0x28e)](this[_0x5b3fb8(0x265)][_0x5b3fb8(0x22a)+'me'](this['fileP'+_0x5b3fb8(0x1e9)]),_0x5b3fb8(0x1f6)+'-name'+_0x5b3fb8(0x1c6)),_0x4e13ea=await this['fs'][_0x5b3fb8(0x2b2)+'ile'](_0x33a2a2,'utf8'),_0x261cc5=JSON[_0x5b3fb8(0x1f7)](_0x4e13ea);return _0x261cc5[_0x5b3fb8(0x1f6)+_0x5b3fb8(0x1b0)]||_0x5b3fb8(0x1b7)+'手';}catch(_0x2f6ffb){return _0x5b3fb8(0x1b7)+'手';}}async[_0x2318d6(0x1ea)+_0x2318d6(0x1f5)+_0x2318d6(0x272)](_0x1b0b5c){const _0x238364=_0x2318d6,_0x90e5a={'UqbSI':_0x238364(0x1b4)+_0x238364(0x2a3)+_0x238364(0x2a6)+'n'};try{const _0x2b917e=this['path'][_0x238364(0x28e)](this['path'][_0x238364(0x22a)+'me'](this[_0x238364(0x225)+_0x238364(0x1e9)]),_0x90e5a['UqbSI']),_0x823873={'deviceCode':_0x1b0b5c,'updatedAt':new Date()['toISO'+'Strin'+'g']()};await this['fs'][_0x238364(0x28f)+_0x238364(0x290)](_0x2b917e,JSON[_0x238364(0x1bf)+_0x238364(0x240)](_0x823873,null,0x2),_0x238364(0x1f0));}catch(_0x53bab5){}}async[_0x2318d6(0x2a9)+'evice'+_0x2318d6(0x272)](){const _0x284e41=_0x2318d6,_0x36516c={'ctzeu':_0x284e41(0x1b4)+_0x284e41(0x2a3)+_0x284e41(0x2a6)+'n'};try{const _0x1572e0=this['path'][_0x284e41(0x28e)](this[_0x284e41(0x265)][_0x284e41(0x22a)+'me'](this[_0x284e41(0x225)+'ath']),_0x36516c[_0x284e41(0x254)]),_0x11d5cd=await this['fs'][_0x284e41(0x2b2)+_0x284e41(0x22b)](_0x1572e0,_0x284e41(0x1f0)),_0x34a406=JSON[_0x284e41(0x1f7)](_0x11d5cd);return _0x34a406[_0x284e41(0x1b4)+_0x284e41(0x258)];}catch(_0x393036){return null;}}}module[_0x2318d6(0x1e1)+'ts']={'OAuthManager':OAuthManager,'TokenStorage':TokenStorage,'FileTokenStorage':FileTokenStorage};
|
|
1
|
+
const _0x1a5b97=_0x7ce8;(function(_0x1a9ca9,_0x5b6787){const _0x4230a3=_0x7ce8,_0x21b507=_0x1a9ca9();while(!![]){try{const _0x5d819e=-parseInt(_0x4230a3(0x13e))/0x1+-parseInt(_0x4230a3(0x250))/0x2+parseInt(_0x4230a3(0x16c))/0x3*(parseInt(_0x4230a3(0x157))/0x4)+-parseInt(_0x4230a3(0x14f))/0x5*(-parseInt(_0x4230a3(0x18b))/0x6)+-parseInt(_0x4230a3(0x140))/0x7*(parseInt(_0x4230a3(0x220))/0x8)+parseInt(_0x4230a3(0x21b))/0x9*(-parseInt(_0x4230a3(0x15c))/0xa)+parseInt(_0x4230a3(0x1fd))/0xb*(parseInt(_0x4230a3(0x1a6))/0xc);if(_0x5d819e===_0x5b6787)break;else _0x21b507['push'](_0x21b507['shift']());}catch(_0xf5c9eb){_0x21b507['push'](_0x21b507['shift']());}}}(_0x4018,0xdfefc));const fetch=require('node-'+_0x1a5b97(0x17b)),{exec}=require(_0x1a5b97(0x20c)+_0x1a5b97(0x210)+'ess'),util=require('util'),execPromise=util[_0x1a5b97(0x1e2)+_0x1a5b97(0x229)](exec),crypto=require(_0x1a5b97(0x173)+'o');class OAuthManager{constructor(_0x3beed6){const _0x4f8494=_0x1a5b97;this['mcpOA'+_0x4f8494(0x248)+'l']=_0x3beed6['mcpOA'+_0x4f8494(0x248)+'l'],this[_0x4f8494(0x211)+_0x4f8494(0x1b1)+'ge']=_0x3beed6[_0x4f8494(0x211)+_0x4f8494(0x1b1)+'ge'],this[_0x4f8494(0x1f9)+'ode']=_0x3beed6[_0x4f8494(0x1f9)+_0x4f8494(0x23f)],this[_0x4f8494(0x1e5)+_0x4f8494(0x21d)+'dy']=_0x3beed6[_0x4f8494(0x1e5)+_0x4f8494(0x21d)+'dy'],this['prefe'+_0x4f8494(0x1ec)+_0x4f8494(0x227)]=_0x3beed6[_0x4f8494(0x1d3)+'rUrlS'+_0x4f8494(0x227)]!==![];}async[_0x1a5b97(0x1e9)+_0x1a5b97(0x196)+_0x1a5b97(0x223)+'nt'](){const _0x3c6bd8=_0x1a5b97,_0x777728={'qislE':_0x3c6bd8(0x1b9),'cjBOn':'cli'};if(process.env.DISPLAY)return{'supportsBrowser':!![],'platform':_0x3c6bd8(0x1d6)+_0x3c6bd8(0x16f)};if(process['platf'+'orm']==='darwi'+'n')return{'supportsBrowser':!![],'platform':_0x777728[_0x3c6bd8(0x167)]};if(process['platf'+_0x3c6bd8(0x151)]===_0x3c6bd8(0x1f2))return{'supportsBrowser':!![],'platform':'windo'+'ws'};if(process.env.BROWSER)return{'supportsBrowser':!![],'platform':'custo'+'m'};return{'supportsBrowser':![],'platform':_0x777728[_0x3c6bd8(0x233)]};}async[_0x1a5b97(0x184)+_0x1a5b97(0x24f)+_0x1a5b97(0x226)](){const _0x59218e=_0x1a5b97,_0x12a506={'Vorrc':_0x59218e(0x236)+_0x59218e(0x22f)+_0x59218e(0x19b)+_0x59218e(0x17f)};try{const _0x1fb4ff=await this[_0x59218e(0x1e9)+_0x59218e(0x196)+'ronme'+'nt'](),_0x52d524=this[_0x59218e(0x1d3)+_0x59218e(0x1ec)+_0x59218e(0x227)]&&_0x1fb4ff['suppo'+_0x59218e(0x1c3)+'owser'],_0x43c22e=await this['reque'+_0x59218e(0x162)+_0x59218e(0x1c7)+'de'](_0x52d524);await this['saveA'+'uthSt'+_0x59218e(0x160)]({'deviceCode':_0x43c22e['devic'+_0x59218e(0x185)],'userCode':_0x43c22e[_0x59218e(0x13b)+_0x59218e(0x23f)],'timestamp':Date[_0x59218e(0x16b)](),'status':'pendi'+'ng'});_0x52d524&&_0x43c22e[_0x59218e(0x238)+_0x59218e(0x1be)]?await this[_0x59218e(0x1e8)+'rizeW'+'ithUr'+_0x59218e(0x23e)+'me'](_0x43c22e):await this[_0x59218e(0x1e8)+'rizeW'+_0x59218e(0x170)+_0x59218e(0x1e3)+'low'](_0x43c22e);console[_0x59218e(0x249)](''),console[_0x59218e(0x249)](_0x12a506[_0x59218e(0x18c)]),console[_0x59218e(0x249)](_0x59218e(0x20a)+_0x59218e(0x174)+_0x59218e(0x189)+_0x59218e(0x1fe)),console['error']('');const _0x553c4c=await this[_0x59218e(0x23d)+_0x59218e(0x16d)+'en'](_0x43c22e[_0x59218e(0x1aa)+_0x59218e(0x185)],_0x43c22e[_0x59218e(0x23b)+_0x59218e(0x1b6)]*0x3e8||0x1388);return await this[_0x59218e(0x211)+_0x59218e(0x1b1)+'ge'][_0x59218e(0x1fb)](_0x553c4c),this[_0x59218e(0x1e5)+_0x59218e(0x21d)+'dy']&&this['onTok'+_0x59218e(0x21d)+'dy'](_0x553c4c),_0x553c4c;}catch(_0x581eca){throw _0x581eca;}}async['autho'+_0x1a5b97(0x18a)+_0x1a5b97(0x1a3)+_0x1a5b97(0x23e)+'me'](_0x523eba){const _0x1288b0=_0x1a5b97,_0x3917f9=this['detec'+_0x1288b0(0x1ff)+_0x1288b0(0x22e)+_0x1288b0(0x1a1)+_0x1288b0(0x199)]();if(_0x3917f9){const _0x41c978=_0x523eba[_0x1288b0(0x238)+_0x1288b0(0x1be)]||_0x523eba[_0x1288b0(0x1b0)+'icati'+_0x1288b0(0x1ae)+_0x1288b0(0x239)];try{await this[_0x1288b0(0x1eb)+_0x1288b0(0x1b2)+'r'](_0x41c978);}catch(_0x3e63a2){}}else{const _0x53ee09=_0x1288b0(0x230)+'://mc'+'p.cha'+_0x1288b0(0x17e)+_0x1288b0(0x240)+'uth?d'+_0x1288b0(0x18f)+_0x1288b0(0x203)+_0x523eba['devic'+_0x1288b0(0x185)]+(_0x1288b0(0x176)+_0x1288b0(0x203))+_0x523eba[_0x1288b0(0x13b)+'ode'];this[_0x1288b0(0x1f9)+_0x1288b0(0x23f)]&&await this[_0x1288b0(0x1f9)+_0x1288b0(0x23f)]({'userCode':_0x523eba[_0x1288b0(0x13b)+_0x1288b0(0x23f)],'verificationUri':_0x523eba[_0x1288b0(0x1b0)+'icati'+'onUri'],'deviceCode':_0x523eba[_0x1288b0(0x1aa)+_0x1288b0(0x185)],'qrCodeUrl':_0x53ee09,'isPC':!![]});}}['detec'+_0x1a5b97(0x1ff)+'leEnv'+_0x1a5b97(0x1a1)+'ent'](){const _0x49b144=_0x1a5b97,_0x3b0d93={'WyFIE':_0x49b144(0x20d)+'_Term'+_0x49b144(0x1af),'ghbEO':_0x49b144(0x24e)+'n'},_0x5f57e6=process.env.USER_AGENT||'';if(/iPhone|iPad|iPod|Android|Mobile/i[_0x49b144(0x212)](_0x5f57e6))return!![];if(process.env.TERM_PROGRAM===_0x3b0d93[_0x49b144(0x178)]&&process[_0x49b144(0x19d)+'orm']===_0x3b0d93[_0x49b144(0x169)])return![];return![];}async[_0x1a5b97(0x1e8)+_0x1a5b97(0x18a)+_0x1a5b97(0x170)+_0x1a5b97(0x1e3)+_0x1a5b97(0x226)](_0x3be34f){const _0x18f324=_0x1a5b97;this[_0x18f324(0x1f9)+_0x18f324(0x23f)]&&await this['onQrC'+_0x18f324(0x23f)]({'userCode':_0x3be34f[_0x18f324(0x13b)+_0x18f324(0x23f)],'verificationUri':_0x3be34f[_0x18f324(0x1b0)+_0x18f324(0x1a7)+'onUri'],'deviceCode':_0x3be34f['devic'+_0x18f324(0x185)]});}async['openB'+_0x1a5b97(0x1b2)+'r'](_0x542ad2){const _0x36a80c=_0x1a5b97,_0x145820={'srBLS':_0x36a80c(0x24e)+'n','CyUzC':_0x36a80c(0x1de)+'台','JILNh':function(_0x2892eb,_0x3e775){return _0x2892eb(_0x3e775);}},_0x252429=process[_0x36a80c(0x19d)+_0x36a80c(0x151)];let _0x177ea0;if(_0x252429===_0x145820[_0x36a80c(0x1dd)])_0x177ea0=_0x36a80c(0x209)+'\x22'+_0x542ad2+'\x22';else{if(_0x252429===_0x36a80c(0x1f2))_0x177ea0=_0x36a80c(0x184)+_0x36a80c(0x222)+_0x542ad2+'\x22';else{if(_0x252429===_0x36a80c(0x1d6))_0x177ea0=_0x36a80c(0x1cc)+_0x36a80c(0x215)+_0x542ad2+'\x22';else throw new Error(_0x145820[_0x36a80c(0x228)]);}}await _0x145820['JILNh'](execPromise,_0x177ea0);}async[_0x1a5b97(0x13d)+_0x1a5b97(0x162)+_0x1a5b97(0x1c7)+'de'](_0x164796=![]){const _0x172995=_0x1a5b97,_0x22c019={'GCdkz':_0x172995(0x1ad)+_0x172995(0x19f)+_0x172995(0x1f7)+'n','IWzQu':'devic'+_0x172995(0x185)},_0x5103bd=await fetch(this[_0x172995(0x191)+'uthUr'+'l'],{'method':_0x172995(0x192),'headers':{'Content-Type':_0x22c019['GCdkz']},'body':JSON['strin'+'gify']({'tool':_0x22c019['IWzQu'],'params':{'clientId':_0x172995(0x1c5)+_0x172995(0x1ca)+_0x172995(0x17a)+'ent','useUrlScheme':_0x164796}})}),_0x26077e=await _0x5103bd['json']();if(!_0x26077e[_0x172995(0x22d)+'ss'])throw new Error(_0x172995(0x221)+_0x172995(0x163)+_0x26077e['error']);return _0x26077e['data'];}async['pollF'+'orTok'+_0x1a5b97(0x1d7)+'e'](_0x18ccc1){const _0x53cedb=_0x1a5b97,_0x2aa410={'Lcsal':function(_0x5f1992,_0xf9b1e3,_0x35878f){return _0x5f1992(_0xf9b1e3,_0x35878f);},'zeIOJ':function(_0x4d59d4,_0x211aa0){return _0x4d59d4===_0x211aa0;},'ftwMk':_0x53cedb(0x1e8)+_0x53cedb(0x214)+'ion_p'+_0x53cedb(0x19a)+'g','jJsqZ':function(_0xa7fd97,_0xa22012){return _0xa7fd97===_0xa22012;},'bNHOw':_0x53cedb(0x218)+'期,请重新'+'授权','SCmpW':'inval'+_0x53cedb(0x1b8)+_0x53cedb(0x195)+_0x53cedb(0x1d4)};try{const _0x626b41=await _0x2aa410[_0x53cedb(0x1cb)](fetch,this[_0x53cedb(0x191)+'uthUr'+'l'],{'method':'POST','headers':{'Content-Type':_0x53cedb(0x1ad)+_0x53cedb(0x19f)+_0x53cedb(0x1f7)+'n'},'body':JSON[_0x53cedb(0x1f5)+_0x53cedb(0x147)]({'tool':'devic'+_0x53cedb(0x1d5)+'n','params':{'deviceCode':_0x18ccc1}})}),_0x17e008=await _0x626b41['json']();if(_0x17e008[_0x53cedb(0x22d)+'ss'])return{'accessToken':_0x17e008[_0x53cedb(0x150)][_0x53cedb(0x1a8)+'sToke'+'n'],'refreshToken':_0x17e008[_0x53cedb(0x150)][_0x53cedb(0x24c)+_0x53cedb(0x216)+'en'],'expiresIn':_0x17e008[_0x53cedb(0x150)][_0x53cedb(0x20f)+_0x53cedb(0x1d1)],'tokenType':_0x17e008[_0x53cedb(0x150)][_0x53cedb(0x211)+_0x53cedb(0x1e0)],'expiresAt':Date['now']()+_0x17e008['data']['expir'+'esIn']*0x3e8};if(_0x2aa410['zeIOJ'](_0x17e008['error'],_0x2aa410[_0x53cedb(0x1e4)]))return null;if(_0x2aa410[_0x53cedb(0x17c)](_0x17e008['error'],_0x53cedb(0x20f)+_0x53cedb(0x18d)+_0x53cedb(0x1fc)))throw new Error(_0x2aa410[_0x53cedb(0x187)]);if(_0x2aa410[_0x53cedb(0x17c)](_0x17e008[_0x53cedb(0x249)],_0x2aa410[_0x53cedb(0x179)]))throw new Error('无效的设备'+'码');throw new Error(_0x53cedb(0x1ab)+_0x53cedb(0x246)+_0x53cedb(0x171)+_0x17e008[_0x53cedb(0x249)]);}catch(_0x4eff31){throw _0x4eff31;}}async[_0x1a5b97(0x23d)+'orTok'+'en'](_0x46abc9,_0x5e563f){const _0x5e0cc8=_0x1a5b97,_0x27b0cc={'EvznS':function(_0x213eb6,_0x4ce889){return _0x213eb6<_0x4ce889;}},_0x2be7e6=0x3c;let _0x38bb04=0x0;while(_0x27b0cc[_0x5e0cc8(0x149)](_0x38bb04,_0x2be7e6)){_0x38bb04++,await this['delay'](_0x5e563f);try{const _0x30a90e=await this[_0x5e0cc8(0x23d)+_0x5e0cc8(0x16d)+'enOnc'+'e'](_0x46abc9);if(_0x30a90e)return _0x30a90e;}catch(_0xf7b6da){if(_0xf7b6da[_0x5e0cc8(0x1c9)+'ge'][_0x5e0cc8(0x1b7)+_0x5e0cc8(0x21e)]('expir'+'ed')||_0xf7b6da['messa'+'ge']['inclu'+'des'](_0x5e0cc8(0x14a)+'id'))throw _0xf7b6da;}}throw new Error(_0x5e0cc8(0x166)+_0x5e0cc8(0x14d));}async[_0x1a5b97(0x24c)+'shTok'+'en'](){const _0xe1679b=_0x1a5b97,_0x42a973={'BGZan':_0xe1679b(0x1bc)+_0xe1679b(0x1c0)+_0xe1679b(0x21a)+'过期,需要'+'重新授权','nFQWI':function(_0x155953,_0x964993){return _0x155953+_0x964993;}},_0x58b6c9=await this[_0xe1679b(0x211)+_0xe1679b(0x1b1)+'ge'][_0xe1679b(0x247)]();if(!_0x58b6c9||!_0x58b6c9[_0xe1679b(0x24c)+_0xe1679b(0x216)+'en'])throw new Error(_0xe1679b(0x24a)+'\x20Refr'+'esh\x20T'+_0xe1679b(0x24d)+_0xe1679b(0x1e7)+'权');try{const _0x42a5e6=await fetch(this[_0xe1679b(0x191)+_0xe1679b(0x248)+'l'],{'method':_0xe1679b(0x192),'headers':{'Content-Type':_0xe1679b(0x1ad)+_0xe1679b(0x19f)+'n/jso'+'n'},'body':JSON['strin'+_0xe1679b(0x147)]({'tool':_0xe1679b(0x24c)+_0xe1679b(0x216)+'en','params':{'refreshToken':_0x58b6c9[_0xe1679b(0x24c)+_0xe1679b(0x216)+'en']}})}),_0x17db93=await _0x42a5e6[_0xe1679b(0x175)]();if(!_0x17db93['succe'+'ss']){if(_0x17db93['error']==='refre'+_0xe1679b(0x245)+_0xe1679b(0x1f4)+_0xe1679b(0x22c)+'d')throw new Error(_0x42a973[_0xe1679b(0x1b3)]);throw new Error(_0xe1679b(0x161)+_0xe1679b(0x246)+_0xe1679b(0x171)+_0x17db93[_0xe1679b(0x249)]);}const _0x36c1e3={'accessToken':_0x17db93['data'][_0xe1679b(0x1a8)+'sToke'+'n'],'refreshToken':_0x17db93['data'][_0xe1679b(0x24c)+_0xe1679b(0x216)+'en'],'expiresIn':_0x17db93[_0xe1679b(0x150)][_0xe1679b(0x20f)+'esIn'],'tokenType':_0x17db93[_0xe1679b(0x150)][_0xe1679b(0x211)+'Type'],'expiresAt':_0x42a973[_0xe1679b(0x1c1)](Date[_0xe1679b(0x16b)](),_0x17db93[_0xe1679b(0x150)]['expir'+'esIn']*0x3e8)};return await this[_0xe1679b(0x211)+_0xe1679b(0x1b1)+'ge'][_0xe1679b(0x1fb)](_0x36c1e3),_0x36c1e3;}catch(_0x25b121){throw _0x25b121;}}async[_0x1a5b97(0x232)+_0x1a5b97(0x16e)+'ken'](){const _0x4d1839=_0x1a5b97,_0x4c25c6={'WxMMc':function(_0x40b45,_0x596085){return _0x40b45*_0x596085;}},_0x1cd9b2=await this[_0x4d1839(0x211)+_0x4d1839(0x1b1)+'ge']['load']();if(!_0x1cd9b2)throw new Error(_0x4d1839(0x1df)+_0x4d1839(0x21f)+_0x4d1839(0x1f8)+'权');const _0x22a2dd=_0x4c25c6[_0x4d1839(0x23a)](0x5*0x3c,0x3e8);if(Date[_0x4d1839(0x16b)]()+_0x22a2dd>_0x1cd9b2[_0x4d1839(0x20f)+'esAt'])return await this[_0x4d1839(0x24c)+'shTok'+'en']();return _0x1cd9b2;}[_0x1a5b97(0x1a9)](_0x15abe4){return new Promise(_0x28442f=>setTimeout(_0x28442f,_0x15abe4));}async[_0x1a5b97(0x200)+_0x1a5b97(0x142)+'ate'](_0x3b4c06){const _0x2eaad8=_0x1a5b97;try{const _0x3eb379=require('fs')[_0x2eaad8(0x1e2)+'ses'],_0x3392a4=require(_0x2eaad8(0x17d)),_0x20cdde=require('os'),_0x3582c4=_0x3392a4[_0x2eaad8(0x15d)](_0x20cdde[_0x2eaad8(0x219)+'ir'](),_0x2eaad8(0x1bd)+'mi-ke'+'ep',_0x2eaad8(0x180)+_0x2eaad8(0x243)+_0x2eaad8(0x1ac)),_0x26a974=_0x3392a4[_0x2eaad8(0x144)+'me'](_0x3582c4);await _0x3eb379[_0x2eaad8(0x1cf)](_0x26a974,{'recursive':!![]}),await _0x3eb379[_0x2eaad8(0x152)](_0x26a974,0x1c0)[_0x2eaad8(0x22a)](()=>{}),await _0x3eb379[_0x2eaad8(0x205)+_0x2eaad8(0x1bf)](_0x3582c4,JSON[_0x2eaad8(0x1f5)+_0x2eaad8(0x147)](_0x3b4c06,null,0x2),{'mode':0x180});}catch(_0x5be424){}}async[_0x1a5b97(0x1d9)+_0x1a5b97(0x142)+_0x1a5b97(0x160)](){const _0x2786ab=_0x1a5b97,_0x38a374={'aRPpz':function(_0x50297a,_0x354aea){return _0x50297a(_0x354aea);},'LBhDS':_0x2786ab(0x17d),'KqzQv':function(_0x990011,_0x1c4d24){return _0x990011===_0x1c4d24;}};try{const _0x2edfe4=_0x38a374['aRPpz'](require,'fs')[_0x2786ab(0x1e2)+_0x2786ab(0x15e)],_0x4f4111=require(_0x38a374[_0x2786ab(0x224)]),_0x4d2f35=require('os'),_0x20f83b=_0x4f4111[_0x2786ab(0x15d)](_0x4d2f35[_0x2786ab(0x219)+'ir'](),_0x2786ab(0x1bd)+_0x2786ab(0x14c)+'ep','auth-'+_0x2786ab(0x243)+_0x2786ab(0x1ac)),_0x2d7922=await _0x2edfe4[_0x2786ab(0x15a)+_0x2786ab(0x244)](_0x20f83b,_0x2786ab(0x242));return JSON[_0x2786ab(0x182)](_0x2d7922);}catch(_0x5bb015){if(_0x38a374[_0x2786ab(0x16a)](_0x5bb015[_0x2786ab(0x1d4)],_0x2786ab(0x1ef)+'T'))return null;return null;}}async[_0x1a5b97(0x1bb)+_0x1a5b97(0x181)+_0x1a5b97(0x1c4)](){const _0x1b6c26=_0x1a5b97,_0x3308b4={'XKgfb':_0x1b6c26(0x17d),'rbRTv':_0x1b6c26(0x1bd)+_0x1b6c26(0x14c)+'ep'};try{const _0x87b888=require('fs')[_0x1b6c26(0x1e2)+_0x1b6c26(0x15e)],_0x2dc63d=require(_0x3308b4[_0x1b6c26(0x172)]),_0x52e14a=require('os'),_0x5e184b=_0x2dc63d[_0x1b6c26(0x15d)](_0x52e14a['homed'+'ir'](),_0x3308b4[_0x1b6c26(0x198)],'auth-'+_0x1b6c26(0x243)+_0x1b6c26(0x1ac));await _0x87b888['unlin'+'k'](_0x5e184b);}catch(_0x2fc49f){}}['isAut'+_0x1a5b97(0x194)+'eExpi'+_0x1a5b97(0x235)](_0x17778f,_0x1ca2c1=0x1e*0x3c*0x3e8){const _0x2d2422=_0x1a5b97,_0x2452de={'PqoTg':function(_0x278d84,_0x3ed6ab){return _0x278d84-_0x3ed6ab;}};if(_0x17778f&&_0x17778f[_0x2d2422(0x20f)+_0x2d2422(0x15b)])return Date['now']()>_0x17778f[_0x2d2422(0x20f)+_0x2d2422(0x15b)];if(!_0x17778f||!_0x17778f[_0x2d2422(0x204)+_0x2d2422(0x20e)])return!![];return _0x2452de[_0x2d2422(0x217)](Date[_0x2d2422(0x16b)](),_0x17778f[_0x2d2422(0x204)+_0x2d2422(0x20e)])>_0x1ca2c1;}}class TokenStorage{async[_0x1a5b97(0x1fb)](_0x31eabf){const _0x46f362=_0x1a5b97;throw new Error('Token'+'Stora'+_0x46f362(0x197)+_0x46f362(0x1ea)+_0x46f362(0x193));}async['load'](){const _0x4a8bcf=_0x1a5b97;throw new Error(_0x4a8bcf(0x1c8)+'Stora'+_0x4a8bcf(0x23c)+_0x4a8bcf(0x164)+_0x4a8bcf(0x193));}async[_0x1a5b97(0x1bb)](){const _0x2e7e55=_0x1a5b97;throw new Error(_0x2e7e55(0x1c8)+_0x2e7e55(0x1b1)+_0x2e7e55(0x1ba)+_0x2e7e55(0x177)+_0x2e7e55(0x24b)+'现');}}function _0x7ce8(_0x4cea7d,_0x308b91){_0x4cea7d=_0x4cea7d-0x13b;const _0x4018c4=_0x4018();let _0x7ce858=_0x4018c4[_0x4cea7d];if(_0x7ce8['MZzVRZ']===undefined){var _0x52a280=function(_0x52debc){const _0x3ecf85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x249f36='',_0x2d4ccb='';for(let _0x1a788e=0x0,_0x37b9b4,_0x199482,_0x3ec8ac=0x0;_0x199482=_0x52debc['charAt'](_0x3ec8ac++);~_0x199482&&(_0x37b9b4=_0x1a788e%0x4?_0x37b9b4*0x40+_0x199482:_0x199482,_0x1a788e++%0x4)?_0x249f36+=String['fromCharCode'](0xff&_0x37b9b4>>(-0x2*_0x1a788e&0x6)):0x0){_0x199482=_0x3ecf85['indexOf'](_0x199482);}for(let _0x4cffe3=0x0,_0x2993cf=_0x249f36['length'];_0x4cffe3<_0x2993cf;_0x4cffe3++){_0x2d4ccb+='%'+('00'+_0x249f36['charCodeAt'](_0x4cffe3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d4ccb);};_0x7ce8['oriYsC']=_0x52a280,_0x7ce8['cohrAh']={},_0x7ce8['MZzVRZ']=!![];}const _0x3727e6=_0x4018c4[0x0],_0x42cb51=_0x4cea7d+_0x3727e6,_0x184efd=_0x7ce8['cohrAh'][_0x42cb51];return!_0x184efd?(_0x7ce858=_0x7ce8['oriYsC'](_0x7ce858),_0x7ce8['cohrAh'][_0x42cb51]=_0x7ce858):_0x7ce858=_0x184efd,_0x7ce858;}function getMachineId(){const _0x2f54d4=_0x1a5b97,_0x55f0bb={'MWIPN':'00:00'+_0x2f54d4(0x145)+_0x2f54d4(0x18e)+'00','nxsys':_0x2f54d4(0x225)+'6'},_0x1bd4a2=require('os'),_0x29d33f=_0x1bd4a2[_0x2f54d4(0x1f0)+_0x2f54d4(0x158)+_0x2f54d4(0x1d2)+'es']();let _0x5e72bd='';for(const _0x995430 of Object['keys'](_0x29d33f)){for(const _0x44002a of _0x29d33f[_0x995430]){if(_0x44002a[_0x2f54d4(0x14e)]&&_0x44002a[_0x2f54d4(0x14e)]!==_0x55f0bb['MWIPN']){_0x5e72bd=_0x44002a['mac'];break;}}if(_0x5e72bd)break;}const _0x3699b1=_0x5e72bd+'-'+_0x1bd4a2['hostn'+_0x2f54d4(0x207)]()+'-'+_0x1bd4a2[_0x2f54d4(0x19d)+_0x2f54d4(0x151)]();return crypto['creat'+_0x2f54d4(0x14b)](_0x55f0bb['nxsys'])['updat'+'e'](_0x3699b1)[_0x2f54d4(0x202)+'t'](_0x2f54d4(0x1fa))[_0x2f54d4(0x1a2)+_0x2f54d4(0x201)](0x0,0x20);}function encryptToken(_0x130112,_0x11f6c4){const _0x148536=_0x1a5b97,_0x4f7b06={'Aqlag':function(_0xc01be,_0x4cf42e){return _0xc01be+_0x4cf42e;},'fUBrF':function(_0xbc08a4,_0x1b8623){return _0xbc08a4+_0x1b8623;}},_0x242843=crypto[_0x148536(0x15f)+_0x148536(0x1d8)+'s'](0x10),_0x5aae47=crypto[_0x148536(0x241)+'eCiph'+'eriv']('aes-2'+_0x148536(0x146)+'c',Buffer[_0x148536(0x1f1)](_0x11f6c4),_0x242843);let _0x14aa81=_0x5aae47[_0x148536(0x237)+'e'](JSON['strin'+'gify'](_0x130112),_0x148536(0x242),_0x148536(0x1fa));return _0x14aa81+=_0x5aae47[_0x148536(0x1e1)](_0x148536(0x1fa)),_0x4f7b06[_0x148536(0x190)](_0x4f7b06['fUBrF'](_0x242843[_0x148536(0x154)+'ing'](_0x148536(0x1fa)),':'),_0x14aa81);}function _0x4018(){const _0x380360=['C3rYAw4','zs1JB2q','BI9QC28','BU+8JoIVT+wfIoAoIa','B25rCKm','Agv4','C2f2zq','A2vU','mtfms1jlsva','5Pon5l2C77Yj','De1VyMK','C2f2zue','CMLUzW','zgLNzxm','q29Kzt0','DgLTzxm','D3jPDgu','BNqG5zcn56EW','yw1L','ywvZlti','B3bLBIa','icaG77Yi6k+3','AgfYq28','y2HPBgq','qxbWBgu','DgfTCa','zxHWAxi','x3bYB2m','Dg9Rzw4','DgvZDa','tMfTzq','CML6yxq','CgvUici','C2HuB2S','uhfVvgC','6k6+5Ash56cb5BEY6l+h','Ag9Tzwq','A2vUiow3SG','ndvoyvr4C20','u3rYAw4','zw5szwe','zgvZ','ifrVA2u','nJrnAwrlEKq','6i635y+w6k6+5Ash56cb','iciIici','CM9UBwu','tejOrfm','C2HHmJu','Bg93','y2HLBwu','q3LvEKm','C2LMEq','y2f0y2G','zw5JCNK','EhbPCMu','C3vJy2u','BgvfBNy','5OI35O6i5P2d77Ym6k+3','Ahr0Chm','uw5NyMy','z2v0vMe','y2Pct24','swLnDg8','CMvK','4O+ZioETIEw+HEEuQa','DxbKyxq','DxjSu2m','rNvSBa','v3Hntwm','Aw50zxi','z2uUBg8','Cg9SBey','BfnJAgu','B2rL','y29Tl2e','y3jLyxq','DxrMoa','C3rHDgu','AwXL','C2HFDg8','A2vUiowKSq','Bg9Hza','DxrOvxi','zxjYB3i','5RkH5PYj5y+V55sO55Qe','6Ag76kkR5A2q57g75A6E','CMvMCMu','B2TLBU+8Ja','zgfYD2K','qxv0Aey','mJy1nde4mhvUshfUrG','DxnLCKm','iowqJEENSowKSEI0Pq','CMvXDwu','mtGXntqWogDLEKPiCW','zMLSzva','mtm1mdCXm0zHCu1Kzq','uKr0Bhy','DxrOu3q','6iEQ5yQO5y2h57QNlG','zgLYBMe','oJaWoJa','ntyTy2i','z2LMEq','lw5HBwu','rxz6BLm','Aw52ywW','zuHHC2G','BwKTA2u','6k+36yEn5PAW5BcD6k+v','BwfJ','mZm2nZy0mhHcBejPqW','zgf0yq','B3jT','y2HTB2q','C3bSAxq','Dg9tDhi','qwPYDMi','Bg9Hzeq','ngrbB3b4AW','CMTjBNq','5P+057gZquNLIQK','CMvHzey','zxnbDa','mZm5nJm0mejKtg5fuq','AM9PBG','C2vZ','CMfUzg8','yxrL','5yI35PAWifrV','C3rezxy','5AsX6lsLoIa','ywqG5B+f6Ag7','CgHLCMK','5O6i5P2d6lAf5PE277Ym','CwLZBeu','Dg9ju08','z2HIru8','s3f6uxy','BM93','mtuYmJyXn2DRzgfjEq','B3juB2S','BgLKvg8','lwD1Aq','AxrOrgu','6lsLoIa','weTNzMi','y3j5Chq','5zYO5OMl5PY65B6U5l+H','ANnVBG','jNvZzxi','zwfYiow/Hq','v3Lgsuu','u0nTCfC','Cc1JBgK','zMv0y2G','AKPZCvO','Cgf0Aa','AwH1BY4','lI4U','yxv0Ac0','qxv0Afm','CgfYC2u','z2vUDe4','C3rHCNq','zunVzgu','BIdMOlZLVi/VViW','yK5it3C','4P2mios/NEwTMca','5lIT5A6m5OIq5O6i5P2d','CML6zvC','mtjxB2jkuK0','vM9YCMm','zwrFDg8','mdOWmdO','zxzPy2u','qxfSywC','BwnWt0e','ue9tva','6kkR5A2q57g75A6E546W','Afn0yxq','DMLJzv8','DevUDMK','z2uUC2e','CMjsvhy','zw50','zw5KAw4','5yU/5ywZ6zET56Qx5y+J','zxHWB3i','CgXHDgy','5BEY5l+D5A2yoG','y2f0Aw8','C2f2zuq','AxjVBM0','C3vIC3q','AxrOvxi','A2v5','qwDLBNq','nJuZnJm4nJH2sw1qtwi','AwnHDgK','ywnJzxm','zgvSyxK','zgv2Awm','6i635y+wifrV','lMPZB24','yxbWBgK','B25vCMK','Aw5HBa','DMvYAwy','u3rVCMe','CM93C2u','qKDAyw4','4PYfiefNzq','teLrwha','DMfS','Aw5JBhu','AwrFzgu','BwfJB3m','z2uUy2W','y2XLyxi','uMvMCMu','lMnOywK','AgvTzq','rMLSzq','C2GGvg8','BKzrv0K','r0DHEu8','CNrZqNi','Dgf0zq','y2HHAwG','EeLRqvC','AwnLq28','vg9Rzw4','BwvZC2e','Dw8TBwm','tgnZywW','EgrNlw8','Dw5SAw4','C1rVA2u','BwTKAxi','ms4W','zxnjBG','zxjMywm','ChjLzMu','y29Kzq','zvrVA2u','BgLUDxG','zw5pBMm','Buj5Dgu','Bg9Hzee','DMvYC2K','yxrO','ChrLza','C3jctfm','5lIn5PsV5OYb55Qe5BMZ','5RkH5PYj5A2y5ykO55Qe','vhLWzq','zMLUywW','ChjVBwK','DMLJzuy','zNr3twS','B25uB2S','q29Kzq','6zYa6kAb6yEn5PAW5O6i','yxv0Ag8','zgv0zwm','DMuG5B+f6Ag7','B3bLBKi','CLvYBfm','zNjVBum','5Qoa5Rwl5yIW5PEN54Mi','ru5pru4','BMv0D28','zNjVBq','D2LUmZi','mI4W','A2vUx2u'];_0x4018=function(){return _0x380360;};return _0x4018();}function decryptToken(_0x10fb28,_0x1330ca){const _0x332043=_0x1a5b97,_0xdbef29={'VKvXp':'hex'},_0xf16b52=_0x10fb28[_0x332043(0x153)](':'),_0x589bfb=Buffer[_0x332043(0x1f1)](_0xf16b52[0x0],_0xdbef29['VKvXp']),_0x569f2b=_0xf16b52[0x1],_0x2a32aa=crypto[_0x332043(0x241)+'eDeci'+_0x332043(0x165)+'v']('aes-2'+_0x332043(0x146)+'c',Buffer['from'](_0x1330ca),_0x589bfb);let _0x2cf81f=_0x2a32aa[_0x332043(0x237)+'e'](_0x569f2b,'hex',_0x332043(0x242));return _0x2cf81f+=_0x2a32aa[_0x332043(0x1e1)](_0x332043(0x242)),JSON[_0x332043(0x182)](_0x2cf81f);}class FileTokenStorage extends TokenStorage{constructor(_0x44ef41){const _0x292dbe=_0x1a5b97,_0x1b527f={'jjVYI':_0x292dbe(0x17d)};super(),this['fileP'+_0x292dbe(0x1db)]=_0x44ef41,this['fs']=require('fs')[_0x292dbe(0x1e2)+'ses'],this[_0x292dbe(0x17d)]=require(_0x1b527f['jjVYI']),this[_0x292dbe(0x1a4)]=getMachineId();}async[_0x1a5b97(0x1fb)](_0x4e7b66){const _0x25a08b=_0x1a5b97,_0x2df1da={'xIkAW':function(_0x22a8d5,_0x31b42e,_0x3e58eb){return _0x22a8d5(_0x31b42e,_0x3e58eb);}},_0x157886=this[_0x25a08b(0x17d)][_0x25a08b(0x144)+'me'](this[_0x25a08b(0x13f)+_0x25a08b(0x1db)]);await this['fs'][_0x25a08b(0x1cf)](_0x157886,{'recursive':!![]});const _0x5a6f0f=_0x2df1da[_0x25a08b(0x1c6)](encryptToken,_0x4e7b66,this[_0x25a08b(0x1a4)]),_0x2e364d={'version':_0x25a08b(0x1f3),'encrypted':_0x5a6f0f,'algorithm':_0x25a08b(0x208)+'56-cb'+'c','updatedAt':new Date()[_0x25a08b(0x168)+_0x25a08b(0x21c)+'g']()};await this['fs'][_0x25a08b(0x205)+_0x25a08b(0x1bf)](this[_0x25a08b(0x13f)+_0x25a08b(0x1db)],JSON[_0x25a08b(0x1f5)+'gify'](_0x2e364d,null,0x2),'utf8'),await this['fs'][_0x25a08b(0x152)](this[_0x25a08b(0x13f)+_0x25a08b(0x1db)],0x180);}async[_0x1a5b97(0x247)](){const _0x64b3de=_0x1a5b97,_0x3820b6={'RDtlv':_0x64b3de(0x1ee)+'\x20Toke'+_0x64b3de(0x186)+_0x64b3de(0x143)+'..','Qngbf':function(_0x22ca7e,_0x3f5471,_0xb2bf8d){return _0x22ca7e(_0x3f5471,_0xb2bf8d);}};try{const _0x368a44=await this['fs']['readF'+'ile'](this['fileP'+_0x64b3de(0x1db)],_0x64b3de(0x242)),_0x27216a=JSON['parse'](_0x368a44);if(!_0x27216a[_0x64b3de(0x1da)+'on']||_0x27216a[_0x64b3de(0x1da)+'on']===_0x64b3de(0x1d0))return console[_0x64b3de(0x249)](_0x3820b6[_0x64b3de(0x141)]),{'accessToken':_0x27216a[_0x64b3de(0x1a8)+_0x64b3de(0x1ce)+'n'],'refreshToken':_0x27216a[_0x64b3de(0x24c)+_0x64b3de(0x216)+'en'],'expiresAt':_0x27216a['expir'+_0x64b3de(0x15b)],'expiresIn':_0x27216a[_0x64b3de(0x20f)+'esIn'],'tokenType':_0x27216a['token'+_0x64b3de(0x1e0)]};return _0x3820b6[_0x64b3de(0x231)](decryptToken,_0x27216a[_0x64b3de(0x22b)+_0x64b3de(0x1dc)],this[_0x64b3de(0x1a4)]);}catch(_0x2fea76){if(_0x2fea76[_0x64b3de(0x1d4)]===_0x64b3de(0x1ef)+'T')return null;throw _0x2fea76;}}async['clear'](){const _0x1e7dd9=_0x1a5b97;try{await this['fs'][_0x1e7dd9(0x1cd)+'k'](this[_0x1e7dd9(0x13f)+_0x1e7dd9(0x1db)]);}catch(_0x1772a1){if(_0x1772a1[_0x1e7dd9(0x1d4)]!==_0x1e7dd9(0x1ef)+'T')throw _0x1772a1;}}async[_0x1a5b97(0x200)+_0x1a5b97(0x183)+_0x1a5b97(0x207)](_0x5645f2){const _0x291171=_0x1a5b97,_0x149957={'Ajrvb':'agent'+_0x291171(0x148)+_0x291171(0x1ac),'LIQXp':_0x291171(0x1b4)+_0x291171(0x206)+_0x291171(0x19e)};try{const _0x4b37f4=this[_0x291171(0x17d)][_0x291171(0x15d)](this[_0x291171(0x17d)]['dirna'+'me'](this[_0x291171(0x13f)+_0x291171(0x1db)]),_0x149957[_0x291171(0x155)]),_0x48373a={'agentName':_0x5645f2||_0x291171(0x159)+'手','updatedAt':new Date()['toISO'+'Strin'+'g']()},_0xfe6489=JSON[_0x291171(0x1f5)+_0x291171(0x147)](_0x48373a,null,0x2)['repla'+'ce'](/\\u[\dA-F]{4}/gi,_0x120f2d=>String[_0x291171(0x1ed)+_0x291171(0x20b)+'de'](parseInt(_0x120f2d['repla'+'ce'](/\\u/g,''),0x10)));await this['fs'][_0x291171(0x205)+_0x291171(0x1bf)](_0x4b37f4,_0xfe6489,_0x291171(0x242)),console[_0x291171(0x249)](_0x149957[_0x291171(0x1b5)],_0x4b37f4);}catch(_0x4cefcf){console[_0x291171(0x249)](_0x291171(0x188)+_0x291171(0x1a5)+_0x291171(0x13c)+':',_0x4cefcf[_0x291171(0x1c9)+'ge']);}}async[_0x1a5b97(0x1d9)+'gentN'+_0x1a5b97(0x207)](){const _0x50c06b=_0x1a5b97,_0x4b3ceb={'GGayO':'agent'+'-name'+_0x50c06b(0x1ac),'IiMto':_0x50c06b(0x159)+'手'};try{const _0x294a55=this[_0x50c06b(0x17d)][_0x50c06b(0x15d)](this['path'][_0x50c06b(0x144)+'me'](this[_0x50c06b(0x13f)+_0x50c06b(0x1db)]),_0x4b3ceb[_0x50c06b(0x1c2)]),_0x16710c=await this['fs'][_0x50c06b(0x15a)+'ile'](_0x294a55,_0x50c06b(0x242)),_0x20e4bd=JSON[_0x50c06b(0x182)](_0x16710c);return _0x20e4bd['agent'+_0x50c06b(0x213)]||_0x4b3ceb[_0x50c06b(0x234)];}catch(_0xecf195){return _0x50c06b(0x159)+'手';}}async[_0x1a5b97(0x1a0)+_0x1a5b97(0x18f)+'Code'](_0x309633){const _0x87906f=_0x1a5b97;try{const _0x44c60c=this[_0x87906f(0x17d)][_0x87906f(0x15d)](this['path'][_0x87906f(0x144)+'me'](this[_0x87906f(0x13f)+_0x87906f(0x1db)]),_0x87906f(0x1aa)+_0x87906f(0x1f6)+'e.jso'+'n'),_0x1304d6={'deviceCode':_0x309633,'updatedAt':new Date()['toISO'+'Strin'+'g']()};await this['fs'][_0x87906f(0x205)+'File'](_0x44c60c,JSON['strin'+'gify'](_0x1304d6,null,0x2),_0x87906f(0x242));}catch(_0xa58497){}}async[_0x1a5b97(0x156)+_0x1a5b97(0x18f)+_0x1a5b97(0x1e6)](){const _0x371ccb=_0x1a5b97;try{const _0x47278a=this[_0x371ccb(0x17d)]['join'](this[_0x371ccb(0x17d)][_0x371ccb(0x144)+'me'](this[_0x371ccb(0x13f)+_0x371ccb(0x1db)]),_0x371ccb(0x1aa)+_0x371ccb(0x1f6)+'e.jso'+'n'),_0x2b8a9f=await this['fs'][_0x371ccb(0x15a)+'ile'](_0x47278a,_0x371ccb(0x242)),_0x8757f9=JSON['parse'](_0x2b8a9f);return _0x8757f9[_0x371ccb(0x1aa)+'eCode'];}catch(_0x24db32){return null;}}}module[_0x1a5b97(0x19c)+'ts']={'OAuthManager':OAuthManager,'TokenStorage':TokenStorage,'FileTokenStorage':FileTokenStorage};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chaimi-keep-mcp",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.0-beta.1",
|
|
4
4
|
"description": "柴米AI记账 MCP Server - 支持 Claude、Cursor、OpenClaw、WorkBuddy 等 AI 工具直接记账",
|
|
5
5
|
"main": "server.js",
|
|
6
6
|
"bin": {
|
|
@@ -63,4 +63,4 @@
|
|
|
63
63
|
"url": "https://github.com/yourusername/chaimi-bookkeeping-mcp/issues"
|
|
64
64
|
},
|
|
65
65
|
"homepage": "https://github.com/yourusername/chaimi-bookkeeping-mcp#readme"
|
|
66
|
-
}
|
|
66
|
+
}
|