amcjt-mcp-server 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,14 +1,13 @@
1
1
  # amcjt-mcp-server
2
2
 
3
3
  一个基于 Model Context Protocol (MCP) 的服务器项目,使用 TypeScript 开发,通过标准输入输出(stdio)
4
- 进行通信。该项目提供了多个实用的工具功能,包括计算器、Moonshot AI 余额查询、企业微信消息发送和彩票服务。
4
+ 进行通信。该项目提供了多个实用的工具功能,包括 Moonshot AI 余额查询、企业微信消息发送和彩票服务。
5
5
 
6
6
  ## 主要特性
7
7
 
8
- - **🔧 计算器工具**: 执行基本的算术运算(加法、减法、乘法、除法)
9
8
  - **🤖 Moonshot AI 余额查询**: 查询 Moonshot AI 账户余额信息
10
9
  - **📨 企业微信消息发送**: 通过企业微信机器人发送消息
11
- - **🎱 彩票服务**: 双色球开奖查询、OCR识别、中奖核对、开奖提醒
10
+ - **🎱 彩票服务**: 双色球开奖查询、OCR识别、中奖核对、开奖提醒、图片扫描核对
12
11
  - **📦 stdio 传输**: 通过标准输入输出进行通信
13
12
  - **🔒 TypeScript**: 使用 TypeScript 开发,提供更好的类型安全性
14
13
 
@@ -17,6 +16,7 @@
17
16
  - **TypeScript**: 强类型 JavaScript,提供更好的开发体验和代码质量
18
17
  - **MCP SDK**: Model Context Protocol 官方 SDK,用于构建 MCP 服务器
19
18
  - **Zod**: 类型安全的模式验证库,用于参数验证
19
+ - **dotenv**: 环境变量管理
20
20
  - **Node.js**: 运行时环境(要求 >= 18.0.0)
21
21
 
22
22
  ## 快速开始
@@ -73,27 +73,7 @@ npx amcjt-mcp-server
73
73
 
74
74
  ## 可用工具
75
75
 
76
- ### 1. calculator - 计算器工具
77
-
78
- 执行基本的算术运算(加法、减法、乘法、除法)
79
-
80
- **参数:**
81
-
82
- - `operation` (string, 必需): 运算类型 - "add", "subtract", "multiply", "divide"
83
- - `a` (number, 必需): 第一个操作数
84
- - `b` (number, 必需): 第二个操作数
85
-
86
- **示例:**
87
-
88
- ```json
89
- {
90
- "operation": "add",
91
- "a": 5,
92
- "b": 3
93
- }
94
- ```
95
-
96
- ### 2. query_moonshot_balance - Moonshot 余额查询
76
+ ### 1. query_moonshot_balance - Moonshot 余额查询
97
77
 
98
78
  查询 Moonshot AI 账户余额信息
99
79
 
@@ -103,7 +83,7 @@ npx amcjt-mcp-server
103
83
 
104
84
  - `MOONSHOT_API_KEY`: Moonshot AI API 密钥(必需)
105
85
 
106
- ### 3. send_wechat_work_message - 企业微信消息发送
86
+ ### 2. send_wechat_work_message - 企业微信消息发送
107
87
 
108
88
  通过企业微信机器人发送消息
109
89
 
@@ -117,9 +97,9 @@ npx amcjt-mcp-server
117
97
 
118
98
  - `WECHAT_WEBHOOK_KEY`: 企业微信机器人 webhook key
119
99
 
120
- ### 4. 彩票服务工具组
100
+ ### 3. 彩票服务工具组
121
101
 
122
- #### 4.1 get_lottery_result - 获取彩票开奖结果
102
+ #### 3.1 get_lottery_result - 获取彩票开奖结果
123
103
 
124
104
  获取双色球等彩票的开奖结果信息,包括中奖号码、奖池金额、中奖详情等
125
105
 
@@ -137,29 +117,50 @@ npx amcjt-mcp-server
137
117
  }
138
118
  ```
139
119
 
140
- #### 4.2 ocr_lottery_ticket - 彩票图片OCR识别
120
+ #### 3.2 ocr_lottery_ticket - 彩票图片OCR识别
141
121
 
142
- 识别彩票图片中的号码信息,支持双色球等彩票类型。使用 Moonshot API (Kimi k2.5) 进行图像识别
122
+ 识别彩票图片中的号码信息,支持双色球等彩票类型。支持多种图片输入方式:本地文件路径、图片URL或Base64编码数据。使用 Moonshot API (Kimi k2.5) 进行图像识别
143
123
 
144
124
  **参数:**
145
125
 
146
- - `imageBase64` (string, 必需): Base64编码的彩票图片数据
126
+ - `image` (string, 必需): 图片输入,支持三种格式:
127
+ 1. 本地文件路径(如:`C:/Users/xxx/lottery.jpg`)
128
+ 2. 图片URL(以 `http://` 或 `https://` 开头)
129
+ 3. Base64编码(以 `data:image` 开头)
147
130
  - `lottoType` (string, 可选): 彩票类型代码,101表示双色球(默认)
148
131
 
149
132
  **环境变量:**
150
133
 
151
134
  - `MOONSHOT_API_KEY`: Moonshot AI API 密钥(必需)
152
135
 
153
- **示例:**
136
+ **示例(本地文件路径 - 推荐):**
154
137
 
155
138
  ```json
156
139
  {
157
- "imageBase64": "data:image/jpeg;base64,/9j/4AAQ...",
140
+ "image": "C:/Users/xxx/Desktop/lottery.jpg",
158
141
  "lottoType": "101"
159
142
  }
160
143
  ```
161
144
 
162
- #### 4.3 check_lottery_win - 彩票中奖核对
145
+ **示例(图片URL):**
146
+
147
+ ```json
148
+ {
149
+ "image": "https://example.com/lottery.jpg",
150
+ "lottoType": "101"
151
+ }
152
+ ```
153
+
154
+ **示例(Base64编码):**
155
+
156
+ ```json
157
+ {
158
+ "image": "data:image/jpeg;base64,/9j/4AAQ...",
159
+ "lottoType": "101"
160
+ }
161
+ ```
162
+
163
+ #### 3.3 check_lottery_win - 彩票中奖核对
163
164
 
164
165
  核对彩票号码与开奖结果,计算是否中奖及中奖金额。支持批量核验多注
165
166
 
@@ -201,13 +202,46 @@ npx amcjt-mcp-server
201
202
  }
202
203
  ```
203
204
 
204
- #### 4.4 get_lottery_countdown - 获取开奖倒计时
205
+ #### 3.4 scan_lottery_ticket - 扫描彩票图片核对中奖
206
+
207
+ 一站式彩票扫描核对工具,传入彩票图片自动识别号码、查询开奖结果并核对中奖情况,返回完整的开奖信息和中奖结果
208
+
209
+ **参数:**
210
+
211
+ - `image` (string, 必需): 图片输入,支持三种格式:
212
+ 1. 本地文件路径(如:`C:/Users/xxx/lottery.jpg`)
213
+ 2. 图片URL(以 `http://` 或 `https://` 开头)
214
+ 3. Base64编码(以 `data:image` 开头)
215
+ - `lottoType` (string, 可选): 彩票类型代码,101表示双色球(默认)
216
+
217
+ **环境变量:**
218
+
219
+ - `MOONSHOT_API_KEY`: Moonshot AI API 密钥(必需)
220
+
221
+ **示例:**
222
+
223
+ ```json
224
+ {
225
+ "image": "C:/Users/xxx/Desktop/lottery.jpg",
226
+ "lottoType": "101"
227
+ }
228
+ ```
229
+
230
+ **返回内容:**
231
+
232
+ - 彩票基本信息(期号、倍数、金额、注数)
233
+ - 开奖结果(号码、开奖时间、奖池金额)
234
+ - 每注号码的中奖核对结果
235
+ - 中奖汇总(中奖注数、总奖金)
236
+ - 本期销售数据及各奖项中奖情况
237
+
238
+ #### 3.5 get_lottery_countdown - 获取开奖倒计时
205
239
 
206
240
  获取距离下次双色球开奖的倒计时信息
207
241
 
208
242
  **参数:** 无
209
243
 
210
- #### 4.5 get_lottery_calendar - 获取开奖日历
244
+ #### 3.6 get_lottery_calendar - 获取开奖日历
211
245
 
212
246
  获取未来7天的双色球开奖日历
213
247
 
@@ -225,6 +259,13 @@ export MOONSHOT_API_KEY="your-moonshot-api-key"
225
259
  export WECHAT_WEBHOOK_KEY="your-wechat-webhook-key"
226
260
  ```
227
261
 
262
+ 或在项目根目录创建 `.env` 文件:
263
+
264
+ ```bash
265
+ MOONSHOT_API_KEY=your-moonshot-api-key
266
+ WECHAT_WEBHOOK_KEY=your-wechat-webhook-key
267
+ ```
268
+
228
269
  ## 开发指南
229
270
 
230
271
  ### 安装依赖
@@ -287,7 +328,6 @@ src/
287
328
  ├── index.ts # 主入口文件,创建和启动 MCP 服务器
288
329
  └── tools/ # 工具模块目录
289
330
  ├── index.ts # 工具导出模块
290
- ├── calculator.ts # 计算器工具
291
331
  ├── moonshot-balance.ts # Moonshot AI 余额查询工具
292
332
  ├── wechat-work.ts # 企业微信消息发送工具
293
333
  └── lottery/ # 彩票服务模块
@@ -306,6 +346,7 @@ src/
306
346
  3. **错误处理**: 所有工具都有完善的错误处理,但实际使用中仍需注意异常情况
307
347
  4. **国际化**: 目前主要支持中文界面和错误信息
308
348
  5. **彩票数据**: 彩票开奖数据来源于第三方API,可能存在延迟或不准确的情况
349
+ 6. **OCR图片输入**: 推荐使用本地文件路径方式,避免命令行长度限制问题
309
350
 
310
351
  ## 许可证
311
352
 
@@ -317,4 +358,4 @@ jint
317
358
 
318
359
  ## 关键词
319
360
 
320
- mcp, server, stdio, tools, calculator, moonshot, wechat, lottery, typescript
361
+ mcp, server, stdio, tools, moonshot, wechat, lottery, typescript
package/dist/index.js CHANGED
@@ -11,7 +11,6 @@ const server = new mcp_js_1.McpServer({
11
11
  version: '1.0.0',
12
12
  });
13
13
  // 注册所有工具
14
- (0, tools_1.registerCalculatorTool)(server);
15
14
  (0, tools_1.registerMoonshotBalanceTool)(server);
16
15
  (0, tools_1.registerWeChatWorkTool)(server);
17
16
  (0, tools_1.registerLotteryTools)(server);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,mBAAmB;AACnB,yBAAuB;AAEvB,oEAAoE;AACpE,wEAAiF;AACjF,mCAKiB;AAEjB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;IAC3B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,SAAS;AACT,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;AAC/B,IAAA,mCAA2B,EAAC,MAAM,CAAC,CAAC;AACpC,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,MAAM,CAAC,CAAC;AAE7B,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAE7C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC9C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACrD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,mBAAmB;AACnB,yBAAuB;AAEvB,oEAAoE;AACpE,wEAAiF;AACjF,mCAIiB;AAEjB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;IAC3B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,SAAS;AACT,IAAA,mCAA2B,EAAC,MAAM,CAAC,CAAC;AACpC,IAAA,8BAAsB,EAAC,MAAM,CAAC,CAAC;AAC/B,IAAA,4BAAoB,EAAC,MAAM,CAAC,CAAC;AAE7B,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAE7C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC9C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;AACrD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,4 +1,3 @@
1
- export { registerCalculatorTool } from './calculator';
2
1
  export { registerMoonshotBalanceTool } from './moonshot-balance';
3
2
  export { registerWeChatWorkTool } from './wechat-work';
4
3
  export { registerLotteryTools } from './lottery';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerLotteryTools = exports.registerWeChatWorkTool = exports.registerMoonshotBalanceTool = exports.registerCalculatorTool = void 0;
4
- var calculator_1 = require("./calculator");
5
- Object.defineProperty(exports, "registerCalculatorTool", { enumerable: true, get: function () { return calculator_1.registerCalculatorTool; } });
3
+ exports.registerLotteryTools = exports.registerWeChatWorkTool = exports.registerMoonshotBalanceTool = void 0;
6
4
  var moonshot_balance_1 = require("./moonshot-balance");
7
5
  Object.defineProperty(exports, "registerMoonshotBalanceTool", { enumerable: true, get: function () { return moonshot_balance_1.registerMoonshotBalanceTool; } });
8
6
  var wechat_work_1 = require("./wechat-work");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AAA7C,oHAAA,sBAAsB,OAAA;AAC/B,uDAAiE;AAAxD,+HAAA,2BAA2B,OAAA;AACpC,6CAAuD;AAA9C,qHAAA,sBAAsB,OAAA;AAC/B,qCAAiD;AAAxC,+GAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiE;AAAxD,+HAAA,2BAA2B,OAAA;AACpC,6CAAuD;AAA9C,qHAAA,sBAAsB,OAAA;AAC/B,qCAAiD;AAAxC,+GAAA,oBAAoB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/lottery/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAoUrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/lottery/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QA6drD"}
@@ -64,27 +64,27 @@ function registerLotteryTools(server) {
64
64
  // ==================== 2. 彩票图片 OCR 识别工具 ====================
65
65
  server.registerTool('ocr_lottery_ticket', {
66
66
  title: '彩票图片OCR识别',
67
- description: '识别彩票图片中的号码信息,支持双色球等彩票类型。注意:此工具需要配合OCR服务使用',
67
+ description: '识别彩票图片中的号码信息,支持双色球等彩票类型。支持本地文件路径、URL 或 Base64 编码的图片数据',
68
68
  inputSchema: zod_1.z.object({
69
- imageBase64: zod_1.z.base64().describe('Base64编码的彩票图片数据'),
69
+ image: zod_1.z.string().describe('图片输入,支持三种格式:1) 本地文件路径(如:C:/Users/xxx/lottery.jpg)2) 图片URL(以 http:// 或 https:// 开头)3) Base64编码(以 data:image 开头)'),
70
70
  lottoType: zod_1.z.string().optional().default('101').describe('彩票类型代码,101表示双色球')
71
71
  })
72
72
  }, async (args) => {
73
73
  try {
74
- const { imageBase64, lottoType = '101' } = args;
75
- if (!imageBase64) {
74
+ const { image, lottoType = '101' } = args;
75
+ if (!image) {
76
76
  return {
77
77
  content: [
78
78
  {
79
79
  type: 'text',
80
- text: '错误:请提供图片数据'
80
+ text: '错误:请提供图片数据(本地路径、URL 或 Base64)'
81
81
  }
82
82
  ],
83
83
  isError: true
84
84
  };
85
85
  }
86
86
  // 执行OCR识别
87
- const ticket = await (0, ocr_1.recognizeLotteryTicket)(imageBase64);
87
+ const ticket = await (0, ocr_1.recognizeLotteryTicket)(image);
88
88
  // 验证号码格式
89
89
  const validation = (0, ocr_1.validateLotteryNumbers)(ticket.redNumbers, ticket.blueNumbers);
90
90
  if (!validation.valid) {
@@ -286,5 +286,135 @@ function registerLotteryTools(server) {
286
286
  };
287
287
  }
288
288
  });
289
+ // ==================== 5. 彩票图片扫描核对工具(一站式)====================
290
+ server.registerTool('scan_lottery_ticket', {
291
+ title: '扫描彩票图片核对中奖',
292
+ description: '传入彩票图片,自动识别号码、查询开奖结果并核对中奖情况,返回完整的开奖信息和中奖结果',
293
+ inputSchema: zod_1.z.object({
294
+ image: zod_1.z.string().describe('图片输入,支持三种格式:1) 本地文件路径(如:C:/Users/xxx/lottery.jpg)2) 图片URL(以 http:// 或 https:// 开头)3) Base64编码(以 data:image 开头)'),
295
+ lottoType: zod_1.z.string().optional().default('101').describe('彩票类型代码,101表示双色球')
296
+ })
297
+ }, async (args) => {
298
+ try {
299
+ const { image, lottoType = '101' } = args;
300
+ if (!image) {
301
+ return {
302
+ content: [{ type: 'text', text: '错误:请提供图片数据(本地路径、URL 或 Base64)' }],
303
+ isError: true
304
+ };
305
+ }
306
+ // 步骤1: OCR识别彩票图片
307
+ const ticket = await (0, ocr_1.recognizeLotteryTicket)(image);
308
+ // 验证号码格式
309
+ if (!ticket.bets || ticket.bets.length === 0) {
310
+ return {
311
+ content: [{
312
+ type: 'text',
313
+ text: `未能从图片中识别到有效的彩票号码,请检查图片质量或手动输入号码。\n\n原始识别文本:\n${ticket.rawText}`
314
+ }],
315
+ isError: true
316
+ };
317
+ }
318
+ // 步骤2: 确定期号
319
+ let issueNo = ticket.issueNo;
320
+ if (!issueNo) {
321
+ return {
322
+ content: [{
323
+ type: 'text',
324
+ text: `未能从图片中识别到期号,请使用 ocr_lottery_ticket 工具查看识别结果,或使用 check_lottery_win 工具手动核对。\n\n识别的号码:\n${ticket.bets.map((b, i) => `第${i + 1}注: 红球 ${b.redNumbers.join(' ')} 蓝球 ${b.blueNumbers.join(' ')}`).join('\n')}`
325
+ }],
326
+ isError: true
327
+ };
328
+ }
329
+ // 步骤3: 获取开奖结果
330
+ const lotteryResult = await (0, api_1.fetchLotteryResult)(issueNo);
331
+ // 步骤4: 批量核对中奖
332
+ const normalizedBets = ticket.bets.map((bet) => ({
333
+ redNumbers: bet.redNumbers.map((n) => n.padStart(2, '0')),
334
+ blueNumbers: bet.blueNumbers.map((n) => n.padStart(2, '0'))
335
+ }));
336
+ const multiple = ticket.multiple || 1;
337
+ const checkResults = normalizedBets.map((bet) => (0, checker_1.checkWin)({
338
+ redNumbers: bet.redNumbers,
339
+ blueNumbers: bet.blueNumbers,
340
+ bets: [{ ...bet, betNumber: 1 }],
341
+ multiple,
342
+ rawText: ''
343
+ }, lotteryResult));
344
+ // 步骤5: 格式化输出完整结果
345
+ let resultText = `🎫 彩票扫描核对结果\n`;
346
+ resultText += `━━━━━━━━━━━━━━━━━━━━\n\n`;
347
+ // 彩票信息
348
+ resultText += `📋 彩票信息\n`;
349
+ resultText += `期号: 第${issueNo}期\n`;
350
+ resultText += `玩法: 双色球\n`;
351
+ if (ticket.multiple) {
352
+ resultText += `倍数: ${ticket.multiple}倍\n`;
353
+ }
354
+ if (ticket.betAmount) {
355
+ resultText += `金额: ${ticket.betAmount}元\n`;
356
+ }
357
+ resultText += `投注注数: ${normalizedBets.length}注\n\n`;
358
+ // 开奖结果
359
+ resultText += `━━━━━━━━━━━━━━━━━━━━\n`;
360
+ resultText += `🎲 开奖结果\n`;
361
+ resultText += `开奖号码: 🔴 ${lotteryResult.redResults.join(' ')} 🔵 ${lotteryResult.blueResults.join(' ')}\n`;
362
+ resultText += `开奖时间: ${lotteryResult.openTime}\n`;
363
+ resultText += `奖池金额: ${lotteryResult.poolMoney}元\n\n`;
364
+ // 中奖详情
365
+ resultText += `━━━━━━━━━━━━━━━━━━━━\n`;
366
+ resultText += `🎯 中奖核对\n`;
367
+ let totalWinAmount = 0;
368
+ let winCount = 0;
369
+ checkResults.forEach((result, index) => {
370
+ const bet = normalizedBets[index];
371
+ resultText += `\n【第${index + 1}注】\n`;
372
+ resultText += ` 号码: 🔴 ${bet.redNumbers.join(' ')} 🔵 ${bet.blueNumbers.join(' ')}\n`;
373
+ resultText += ` 匹配: ${result.matchedRedCount}红 + ${result.matchedBlueCount}蓝\n`;
374
+ resultText += ` 结果: `;
375
+ if (result.isWin) {
376
+ resultText += `🎉 ${result.winLevel} ${result.winAmount.toLocaleString('zh-CN')}元\n`;
377
+ totalWinAmount += result.winAmount;
378
+ winCount++;
379
+ }
380
+ else {
381
+ resultText += `💔 未中奖\n`;
382
+ }
383
+ });
384
+ // 汇总
385
+ resultText += `\n━━━━━━━━━━━━━━━━━━━━\n`;
386
+ resultText += `💰 中奖汇总\n`;
387
+ if (winCount > 0) {
388
+ resultText += `中奖注数: ${winCount}/${checkResults.length}注\n`;
389
+ resultText += `总奖金: ${totalWinAmount.toLocaleString('zh-CN')}元\n`;
390
+ if (multiple > 1) {
391
+ resultText += `(已计算${multiple}倍倍数)\n`;
392
+ }
393
+ }
394
+ else {
395
+ resultText += `${checkResults.length}注均未中奖\n`;
396
+ }
397
+ // 销售额和中奖详情
398
+ resultText += `\n━━━━━━━━━━━━━━━━━━━━\n`;
399
+ resultText += `📊 本期销售数据\n`;
400
+ resultText += `销售额: ${lotteryResult.saleMoney}元\n\n`;
401
+ if (lotteryResult.prizeList && lotteryResult.prizeList.length > 0) {
402
+ resultText += `各奖项中奖情况:\n`;
403
+ lotteryResult.prizeList.forEach((prize) => {
404
+ resultText += ` ${prize.prizeDesc}: ${prize.prizeCount}注 ${parseInt(prize.prizeMoney).toLocaleString('zh-CN')}元\n`;
405
+ });
406
+ }
407
+ return {
408
+ content: [{ type: 'text', text: resultText }]
409
+ };
410
+ }
411
+ catch (error) {
412
+ const errorMessage = error instanceof Error ? error.message : '扫描核对失败';
413
+ return {
414
+ content: [{ type: 'text', text: `错误: ${errorMessage}` }],
415
+ isError: true
416
+ };
417
+ }
418
+ });
289
419
  }
290
420
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/lottery/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/lottery/index.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,41 @@
3
3
  * 使用 Moonshot API (Kimi) 进行彩票图片识别
4
4
  */
5
5
  import type { OcrLotteryTicket } from './types';
6
+ /**
7
+ * 图片输入类型
8
+ */
9
+ export type ImageInputType = 'base64' | 'url' | 'file';
10
+ /**
11
+ * 检测图片输入类型
12
+ * @param imageInput - 图片输入(Base64、URL 或文件路径)
13
+ * @returns 输入类型
14
+ */
15
+ export declare function detectImageInputType(imageInput: string): ImageInputType;
16
+ /**
17
+ * 从 URL 加载图片并转换为 Base64
18
+ * @param imageUrl - 图片 URL
19
+ * @returns Base64 编码的图片数据
20
+ */
21
+ export declare function loadImageFromUrl(imageUrl: string): Promise<string>;
22
+ /**
23
+ * 从本地文件加载图片并转换为 Base64
24
+ * @param filePath - 本地文件路径
25
+ * @returns Base64 编码的图片数据
26
+ */
27
+ export declare function loadImageFromFile(filePath: string): string;
28
+ /**
29
+ * 将各种格式的图片输入转换为 Base64
30
+ * @param imageInput - 图片输入(Base64、URL 或文件路径)
31
+ * @returns Base64 编码的图片数据
32
+ */
33
+ export declare function convertImageToBase64(imageInput: string): Promise<string>;
6
34
  /**
7
35
  * 从图片数据中提取彩票信息
8
36
  * 使用 Moonshot API (Kimi k2.5) 进行 OCR 识别
9
- * @param imageBase64 - Base64编码的图片数据
37
+ * @param imageInput - 图片输入(Base64、URL 或本地文件路径)
10
38
  * @returns 识别的彩票信息
11
39
  */
12
- export declare function recognizeLotteryTicket(imageBase64: string): Promise<OcrLotteryTicket>;
40
+ export declare function recognizeLotteryTicket(imageInput: string): Promise<OcrLotteryTicket>;
13
41
  /**
14
42
  * 验证彩票号码格式
15
43
  * @param redNumbers - 红球号码
@@ -1 +1 @@
1
- {"version":3,"file":"ocr.d.ts","sourceRoot":"","sources":["../../../src/tools/lottery/ocr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK5D;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAe3F;AAsMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,MAAM,EAAE,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA6BtC"}
1
+ {"version":3,"file":"ocr.d.ts","sourceRoot":"","sources":["../../../src/tools/lottery/ocr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAK5D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAWvE;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsB1D;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB9E;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkB1F;AAsMD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,EAAE,MAAM,EAAE,GACtB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA6BtC"}
@@ -3,21 +3,148 @@
3
3
  * 彩票图片 OCR 识别
4
4
  * 使用 Moonshot API (Kimi) 进行彩票图片识别
5
5
  */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
6
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.detectImageInputType = detectImageInputType;
41
+ exports.loadImageFromUrl = loadImageFromUrl;
42
+ exports.loadImageFromFile = loadImageFromFile;
43
+ exports.convertImageToBase64 = convertImageToBase64;
7
44
  exports.recognizeLotteryTicket = recognizeLotteryTicket;
8
45
  exports.validateLotteryNumbers = validateLotteryNumbers;
46
+ const fs = __importStar(require("fs"));
9
47
  const MOONSHOT_API_URL = 'https://api.moonshot.cn/v1/chat/completions';
10
48
  const MOONSHOT_API_KEY = process.env.MOONSHOT_API_KEY || '';
49
+ /**
50
+ * 检测图片输入类型
51
+ * @param imageInput - 图片输入(Base64、URL 或文件路径)
52
+ * @returns 输入类型
53
+ */
54
+ function detectImageInputType(imageInput) {
55
+ // 如果以 data:image 开头,认为是 Base64
56
+ if (imageInput.startsWith('data:image')) {
57
+ return 'base64';
58
+ }
59
+ // 如果以 http:// 或 https:// 开头,认为是 URL
60
+ if (imageInput.startsWith('http://') || imageInput.startsWith('https://')) {
61
+ return 'url';
62
+ }
63
+ // 否则认为是本地文件路径
64
+ return 'file';
65
+ }
66
+ /**
67
+ * 从 URL 加载图片并转换为 Base64
68
+ * @param imageUrl - 图片 URL
69
+ * @returns Base64 编码的图片数据
70
+ */
71
+ async function loadImageFromUrl(imageUrl) {
72
+ try {
73
+ const response = await fetch(imageUrl);
74
+ if (!response.ok) {
75
+ throw new Error(`下载图片失败: ${response.status} - ${response.statusText}`);
76
+ }
77
+ const contentType = response.headers.get('content-type') || 'image/jpeg';
78
+ const arrayBuffer = await response.arrayBuffer();
79
+ const base64 = Buffer.from(arrayBuffer).toString('base64');
80
+ return `data:${contentType};base64,${base64}`;
81
+ }
82
+ catch (error) {
83
+ throw new Error(`加载图片 URL 失败: ${error instanceof Error ? error.message : '未知错误'}`);
84
+ }
85
+ }
86
+ /**
87
+ * 从本地文件加载图片并转换为 Base64
88
+ * @param filePath - 本地文件路径
89
+ * @returns Base64 编码的图片数据
90
+ */
91
+ function loadImageFromFile(filePath) {
92
+ try {
93
+ if (!fs.existsSync(filePath)) {
94
+ throw new Error(`文件不存在: ${filePath}`);
95
+ }
96
+ const fileBuffer = fs.readFileSync(filePath);
97
+ const base64 = fileBuffer.toString('base64');
98
+ // 根据文件扩展名推断 MIME 类型
99
+ const ext = filePath.split('.').pop()?.toLowerCase() || 'jpg';
100
+ const mimeTypeMap = {
101
+ 'jpg': 'image/jpeg',
102
+ 'jpeg': 'image/jpeg',
103
+ 'png': 'image/png',
104
+ 'gif': 'image/gif',
105
+ 'webp': 'image/webp',
106
+ 'bmp': 'image/bmp'
107
+ };
108
+ const mimeType = mimeTypeMap[ext] || 'image/jpeg';
109
+ return `data:${mimeType};base64,${base64}`;
110
+ }
111
+ catch (error) {
112
+ throw new Error(`读取本地图片失败: ${error instanceof Error ? error.message : '未知错误'}`);
113
+ }
114
+ }
115
+ /**
116
+ * 将各种格式的图片输入转换为 Base64
117
+ * @param imageInput - 图片输入(Base64、URL 或文件路径)
118
+ * @returns Base64 编码的图片数据
119
+ */
120
+ async function convertImageToBase64(imageInput) {
121
+ const inputType = detectImageInputType(imageInput);
122
+ switch (inputType) {
123
+ case 'base64':
124
+ // 已经是 Base64,直接返回
125
+ return imageInput;
126
+ case 'url':
127
+ // 从 URL 下载并转换
128
+ return await loadImageFromUrl(imageInput);
129
+ case 'file':
130
+ // 从本地文件读取并转换
131
+ return loadImageFromFile(imageInput);
132
+ default:
133
+ throw new Error('不支持的图片输入类型');
134
+ }
135
+ }
11
136
  /**
12
137
  * 从图片数据中提取彩票信息
13
138
  * 使用 Moonshot API (Kimi k2.5) 进行 OCR 识别
14
- * @param imageBase64 - Base64编码的图片数据
139
+ * @param imageInput - 图片输入(Base64、URL 或本地文件路径)
15
140
  * @returns 识别的彩票信息
16
141
  */
17
- async function recognizeLotteryTicket(imageBase64) {
142
+ async function recognizeLotteryTicket(imageInput) {
18
143
  if (!MOONSHOT_API_KEY) {
19
144
  throw new Error('未设置 MOONSHOT_API_KEY 环境变量');
20
145
  }
146
+ // 将图片输入转换为 Base64
147
+ const imageBase64 = await convertImageToBase64(imageInput);
21
148
  // 调用 Moonshot API 进行 OCR 识别
22
149
  const recognizedText = await callMoonshotOcr(imageBase64);
23
150
  // 从识别的文本中提取彩票号码
@@ -1 +1 @@
1
- {"version":3,"file":"ocr.js","sourceRoot":"","sources":["../../../src/tools/lottery/ocr.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAaH,wDAeC;AA4MD,wDAgCC;AApQD,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AACvE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;AAE5D;;;;;GAKG;AACI,KAAK,UAAU,sBAAsB,CAAC,WAAmB;IAC5D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,4BAA4B;IAC5B,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IAE1D,gBAAgB;IAChB,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAEzD,OAAO;QACH,GAAG,YAAY;QACf,OAAO,EAAE,cAAc;KAC1B,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,WAAmB;IAC9C,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA+BV,CAAC;IAEZ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE;QAC3C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,UAAU,gBAAgB,EAAE;SAChD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE;gBACN;oBACI,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,YAAY;iBACxB;gBACD;oBACI,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE;gCACP,GAAG,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,0BAA0B,WAAW,EAAE;6BAC/F;yBACJ;qBACJ;iBACJ;aACJ;YACD,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE;gBACN,IAAI,EAAE,UAAU;aACnB;SACJ,CAAC;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAqC,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,MAAM,MAAM,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6D,CAAC;IAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IAEpD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,IAAY;IACrC,MAAM,MAAM,GAAG;QACX,UAAU,EAAE,EAAc;QAC1B,WAAW,EAAE,EAAc;QAC3B,IAAI,EAAE,EAAkB;QACxB,OAAO,EAAE,SAA+B;QACxC,QAAQ,EAAE,SAA+B;QACzC,SAAS,EAAE,SAA+B;KAC7C,CAAC;IAEF,OAAO;IACP,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACpD,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,SAAS;IACT,uCAAuC;IACvC,kCAAkC;IAClC,MAAM,IAAI,GAA2D,EAAE,CAAC;IAExE,qBAAqB;IACrB,MAAM,UAAU,GAAG,gFAAgF,CAAC;IACpG,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;aACtB,KAAK,CAAC,SAAS,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/E,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;aACvB,KAAK,CAAC,SAAS,CAAC;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,wCAAwC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;iBACf,KAAK,CAAC,SAAS,CAAC;iBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;QAED,OAAO;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;iBACf,KAAK,CAAC,SAAS,CAAC;iBAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QAED,UAAU;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QAClE,CAAC;IACL,CAAC;IAED,SAAS;IACT,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,GAAG,GAAG;QACN,SAAS,EAAE,KAAK,GAAG,CAAC;KACvB,CAAC,CAAC,CAAC;IAEJ,sBAAsB;IACtB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACvC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,OAAO;IACP,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACnD,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,aAAa;IACb,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC3D,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,sBAAsB,CAClC,UAAoB,EACpB,WAAqB;IAErB,OAAO;IACP,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,UAAU,CAAC,MAAM,GAAG,EAAC,CAAC;IAC3E,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACpC,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC;IAC9C,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9B,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAG,eAAe,EAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,OAAO;IACP,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,WAAW,CAAC,MAAM,GAAG,EAAC,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,EAAE,CAAC;QAChD,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,WAAW,CAAC,CAAC,CAAC,eAAe,EAAC,CAAC;IAC1E,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"ocr.js","sourceRoot":"","sources":["../../../src/tools/lottery/ocr.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amcjt-mcp-server",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "amcjt MCP server with stdio transport",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1,7 +0,0 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- /**
3
- * 注册一个计算器工具到MCP服务器
4
- * @param server - MCP服务器实例,用于注册工具
5
- */
6
- export declare function registerCalculatorTool(server: McpServer): void;
7
- //# sourceMappingURL=calculator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../src/tools/calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QAqHvD"}
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerCalculatorTool = registerCalculatorTool;
4
- const zod_1 = require("zod");
5
- /**
6
- * 注册一个计算器工具到MCP服务器
7
- * @param server - MCP服务器实例,用于注册工具
8
- */
9
- function registerCalculatorTool(server) {
10
- // 注册名为calculator的工具
11
- server.registerTool('calculator', {
12
- // 工具标题
13
- title: '计算器',
14
- // 工具描述,说明其功能
15
- description: '执行基本的算术运算(加法、减法、乘法、除法)',
16
- // 输入参数的Schema定义
17
- inputSchema: zod_1.z.object({
18
- // 运算类型,只能是四种基本运算之一
19
- operation: zod_1.z.enum(['add', 'subtract', 'multiply', 'divide']),
20
- // 第一个操作数
21
- a: zod_1.z.number().describe('第一个操作数'),
22
- // 第二个操作数
23
- b: zod_1.z.number().describe('第二个操作数')
24
- })
25
- },
26
- // 异步处理函数,接收输入参数并返回计算结果
27
- async (args) => {
28
- try {
29
- // 从参数中解构出运算类型和两个操作数
30
- const { operation, a, b } = args;
31
- // 参数验证
32
- if (!operation || !['add', 'subtract', 'multiply', 'divide'].includes(operation)) {
33
- return {
34
- content: [
35
- {
36
- type: 'text',
37
- text: '错误:无效的运算类型。必须是以下之一:add(加法)、subtract(减法)、multiply(乘法)、divide(除法)',
38
- },
39
- ],
40
- isError: true,
41
- };
42
- }
43
- if (typeof a !== 'number' || typeof b !== 'number') {
44
- return {
45
- content: [
46
- {
47
- type: 'text',
48
- text: '错误:参数 a 和 b 必须是数字',
49
- },
50
- ],
51
- isError: true,
52
- };
53
- }
54
- let result;
55
- let operationSymbol;
56
- switch (operation) {
57
- case 'add':
58
- result = a + b;
59
- operationSymbol = '+';
60
- break;
61
- case 'subtract':
62
- result = a - b;
63
- operationSymbol = '-';
64
- break;
65
- case 'multiply':
66
- result = a * b;
67
- operationSymbol = '*';
68
- break;
69
- case 'divide':
70
- if (b === 0) {
71
- return {
72
- content: [
73
- {
74
- type: 'text',
75
- text: '错误:不允许除以零',
76
- },
77
- ],
78
- isError: true,
79
- };
80
- }
81
- result = a / b;
82
- operationSymbol = '/';
83
- break;
84
- default:
85
- return {
86
- content: [
87
- {
88
- type: 'text',
89
- text: `错误:未知的运算类型 '${operation}'`,
90
- },
91
- ],
92
- isError: true,
93
- };
94
- }
95
- const calculation = `${a} ${operationSymbol} ${b} = ${result}`;
96
- return {
97
- content: [
98
- {
99
- type: 'text',
100
- text: calculation,
101
- },
102
- ],
103
- };
104
- }
105
- catch (error) {
106
- const errorMessage = error instanceof Error ? error.message : '发生未知错误';
107
- return {
108
- content: [
109
- {
110
- type: 'text',
111
- text: `错误: ${errorMessage}`,
112
- },
113
- ],
114
- isError: true,
115
- };
116
- }
117
- });
118
- }
119
- //# sourceMappingURL=calculator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../src/tools/calculator.ts"],"names":[],"mappings":"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"}