workshub-mcp 1.0.1 → 1.0.3

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
@@ -15,7 +15,9 @@ WorksHub MCP 是一个基于 [Model Context Protocol](https://modelcontextprotoc
15
15
  - ✅ 接受申请并管理任务
16
16
  - 🛠️ 查询技能列表
17
17
 
18
- **已实现 14 个工具**,覆盖 4 大功能模块。
18
+ **已实现 17 个工具**,覆盖认证管理、技能查询、工作者管理、悬赏任务、对话管理 5 大功能模块。
19
+
20
+ **首次使用可通过手机号验证码获取 API Key,无需预先配置。**
19
21
 
20
22
  ---
21
23
 
@@ -68,8 +70,74 @@ $env:WORKSHUB_API_KEY = "your_api_key_here"
68
70
 
69
71
  ---
70
72
 
73
+ ## 🔐 获取 API Key
74
+
75
+ WorksHub MCP 支持两种方式获取 API Key:
76
+
77
+ ### 方式 1:通过 MCP 工具获取(首次使用推荐)
78
+
79
+ **无需预先配置**,直接使用本技能的认证工具获取:
80
+
81
+ #### 1. 发送验证码(无需 API Key)✅
82
+
83
+ ```json
84
+ {
85
+ "name": "send_code",
86
+ "arguments": {
87
+ "phone_number": "13800138000"
88
+ }
89
+ }
90
+ ```
91
+
92
+ #### 2. 登录获取 API Key(无需 API Key)✅
93
+
94
+ ```json
95
+ {
96
+ "name": "login",
97
+ "arguments": {
98
+ "phone_number": "13800138000",
99
+ "code": "123456"
100
+ }
101
+ }
102
+ ```
103
+
104
+ **返回**:
105
+ ```json
106
+ {
107
+ "success": true,
108
+ "data": {
109
+ "api_key": "wk_xxxxx",
110
+ "user": { ... }
111
+ }
112
+ }
113
+ ```
114
+
115
+ #### 3. 配置环境变量
116
+
117
+ 获取到 `api_key` 后,配置到环境变量:
118
+
119
+ ```bash
120
+ export WORKSHUB_API_KEY="获取到的api_key"
121
+ ```
122
+
123
+ ### 方式 2:从 WorksHub 平台获取
124
+
125
+ 访问 https://workshub.ai 登录后,在用户中心创建 API Key。
126
+
127
+ ### 注意事项
128
+
129
+ - `send_code` 和 `login` 工具**不需要** API Key 即可调用
130
+ - 验证码有效期为 5 分钟
131
+ - 每个手机号每分钟最多发送 1 次验证码
132
+
133
+ ---
134
+
71
135
  ## 在 AI IDE 中使用
72
136
 
137
+ ### 首次使用提示
138
+
139
+ 如果这是你第一次使用,可以**暂时不配置** `WORKSHUB_API_KEY`,直接使用 MCP 工具 `send_code` 和 `login` 获取 API Key,然后再配置到环境变量中。
140
+
73
141
  ### Cursor 配置
74
142
 
75
143
  编辑 `~/.cursor/mcp.json`:
@@ -142,17 +210,51 @@ $env:WORKSHUB_API_KEY = "your_api_key_here"
142
210
 
143
211
  ---
144
212
 
145
- ## 完整工具列表(14个)
213
+ ## 完整工具列表(17个)
146
214
 
147
215
  ### 📊 统计
148
216
 
149
217
  | 模块 | 工具数量 |
150
218
  |------|---------|
219
+ | 认证管理 | 2 |
151
220
  | 技能管理 | 1 |
152
221
  | 工作者管理 | 3 |
153
222
  | 悬赏任务管理 | 6 |
154
- | 对话管理 | 4 |
155
- | **总计** | **14** |
223
+ | 对话管理 | 5 |
224
+ | **总计** | **17** |
225
+
226
+ ---
227
+
228
+ ## 🔧 工具详细说明
229
+
230
+ ### 0. 认证管理(2个工具)
231
+
232
+ > ⚠️ 这两个工具**不需要** API Key 即可调用,用于首次获取 API Key
233
+
234
+ #### `send_code`
235
+
236
+ **功能**: 发送手机验证码
237
+
238
+ **参数**:
239
+ | 参数名 | 类型 | 必填 | 说明 |
240
+ |--------|------|------|------|
241
+ | `phone_number` | string | 是 | 手机号 |
242
+
243
+ **返回**: `{ success, data }`
244
+
245
+ #### `login`
246
+
247
+ **功能**: 使用手机号和验证码登录,返回 API Key
248
+
249
+ **参数**:
250
+ | 参数名 | 类型 | 必填 | 说明 |
251
+ |--------|------|------|------|
252
+ | `phone_number` | string | 是 | 手机号 |
253
+ | `code` | string | 是 | 验证码 |
254
+
255
+ **返回**: `{ success, data: { api_key, user } }`
256
+
257
+ ### 1. 技能管理(1个工具)
156
258
 
157
259
  ---
158
260
 
@@ -606,7 +708,16 @@ await send_message({
606
708
 
607
709
  ### 如何获取 API Key?
608
710
 
609
- 请联系 WorksHub 平台管理员获取 API Key。
711
+ **方式 1:通过 MCP 工具获取(推荐)**
712
+
713
+ 首次使用无需配置 API Key,直接调用:
714
+ 1. `send_code` - 发送验证码到手机
715
+ 2. `login` - 使用验证码登录,获取 `api_key`
716
+ 3. 将 `api_key` 配置到环境变量 `WORKSHUB_API_KEY`
717
+
718
+ **方式 2:从平台获取**
719
+
720
+ 访问 https://workshub.ai 登录后,在用户中心创建 API Key。
610
721
 
611
722
  ### 支持哪些 AI IDE?
612
723
 
@@ -634,39 +745,10 @@ MIT
634
745
 
635
746
  - [WorksHub 官网](https://workshub.ai)
636
747
  - [MCP 协议文档](https://modelcontextprotocol.io)
637
- - [API 接口文档](https://workshub.ai/mcp/doc.html)
638
- - [GitHub 仓库](https://github.com/workshub/mcp)
748
+ - [GitHub 仓库](https://www.npmjs.com/package/workshub-mcp?activeTab=code)
639
749
 
640
750
  ---
641
751
 
642
752
  ## 贡献
643
753
 
644
- 欢迎提交 Issue 和 Pull Request!
645
-
646
- ## 更新日志
647
-
648
- ### v1.0.1 (2026-02-26)
649
-
650
- - 🎯 添加`get_worker_qrcode` 获取工作者收款码工具
651
- - ✨ 优化所有 14 个工具的提示词和参数描述
652
- - ✅ 修复文档统计错误(统一为 14 个工具)
653
- - 📊 添加典型工作流程和工具依赖关系说明
654
- - 🎯 参数 examples 覆盖率达到 100%
655
- - 📝 平均描述长度从 10 字提升到 385 字
656
- - ✅ 构建验证通过,文档与代码 100% 一致
657
-
658
- ### v0.0.3 (2026-02-13)
659
-
660
- - 🔄 与底层 API 接口对齐,移除不支持的功能
661
- - ❌ 删除 `get_agent_identity` 工具(底层暂无对应接口)
662
- - ❌ 删除 `update_bounty` 工具(底层暂无对应接口)
663
- - ❌ 删除 `mark_conversation_read` 工具(底层暂无对应接口)
664
- - ✅ 保留 14 个核心工具,确保三层架构完全一致
665
-
666
- ### v0.0.1 (2024-02-12)
667
-
668
- - ✅ 实现全部 14 个工具
669
- - ✅ 支持技能管理(1个工具)
670
- - ✅ 支持工作者管理(3个工具)
671
- - ✅ 支持悬赏任务管理(6个工具)
672
- - ✅ 支持对话管理(4个工具)
754
+ 欢迎提交 Issue 和 Pull Request!
@@ -11,6 +11,148 @@ export declare const TOOLS_DEFINITION: ({
11
11
  inputSchema: {
12
12
  type: string;
13
13
  properties: {
14
+ token: {
15
+ type: string;
16
+ description: string;
17
+ examples: string[];
18
+ };
19
+ name: {
20
+ type: string;
21
+ description: string;
22
+ examples: string[];
23
+ };
24
+ phone?: undefined;
25
+ code?: undefined;
26
+ scene?: undefined;
27
+ skills?: undefined;
28
+ location?: undefined;
29
+ page?: undefined;
30
+ pageSize?: undefined;
31
+ workerId?: undefined;
32
+ status?: undefined;
33
+ title?: undefined;
34
+ description?: undefined;
35
+ budget?: undefined;
36
+ priceType?: undefined;
37
+ category?: undefined;
38
+ deadline?: undefined;
39
+ province?: undefined;
40
+ city?: undefined;
41
+ agentType?: undefined;
42
+ agentName?: undefined;
43
+ bountyId?: undefined;
44
+ applicationId?: undefined;
45
+ message?: undefined;
46
+ conversationId?: undefined;
47
+ content?: undefined;
48
+ messageType?: undefined;
49
+ };
50
+ required: string[];
51
+ };
52
+ } | {
53
+ name: string;
54
+ description: string;
55
+ inputSchema: {
56
+ type: string;
57
+ properties: {
58
+ phone: {
59
+ type: string;
60
+ description: string;
61
+ pattern: string;
62
+ examples: string[];
63
+ };
64
+ code: {
65
+ type: string;
66
+ description: string;
67
+ pattern: string;
68
+ examples: string[];
69
+ };
70
+ token?: undefined;
71
+ name?: undefined;
72
+ scene?: undefined;
73
+ skills?: undefined;
74
+ location?: undefined;
75
+ page?: undefined;
76
+ pageSize?: undefined;
77
+ workerId?: undefined;
78
+ status?: undefined;
79
+ title?: undefined;
80
+ description?: undefined;
81
+ budget?: undefined;
82
+ priceType?: undefined;
83
+ category?: undefined;
84
+ deadline?: undefined;
85
+ province?: undefined;
86
+ city?: undefined;
87
+ agentType?: undefined;
88
+ agentName?: undefined;
89
+ bountyId?: undefined;
90
+ applicationId?: undefined;
91
+ message?: undefined;
92
+ conversationId?: undefined;
93
+ content?: undefined;
94
+ messageType?: undefined;
95
+ };
96
+ required: string[];
97
+ };
98
+ } | {
99
+ name: string;
100
+ description: string;
101
+ inputSchema: {
102
+ type: string;
103
+ properties: {
104
+ phone: {
105
+ type: string;
106
+ description: string;
107
+ pattern: string;
108
+ examples: string[];
109
+ };
110
+ scene: {
111
+ type: string;
112
+ description: string;
113
+ enum: string[];
114
+ default: string;
115
+ examples: string[];
116
+ };
117
+ token?: undefined;
118
+ name?: undefined;
119
+ code?: undefined;
120
+ skills?: undefined;
121
+ location?: undefined;
122
+ page?: undefined;
123
+ pageSize?: undefined;
124
+ workerId?: undefined;
125
+ status?: undefined;
126
+ title?: undefined;
127
+ description?: undefined;
128
+ budget?: undefined;
129
+ priceType?: undefined;
130
+ category?: undefined;
131
+ deadline?: undefined;
132
+ province?: undefined;
133
+ city?: undefined;
134
+ agentType?: undefined;
135
+ agentName?: undefined;
136
+ bountyId?: undefined;
137
+ applicationId?: undefined;
138
+ message?: undefined;
139
+ conversationId?: undefined;
140
+ content?: undefined;
141
+ messageType?: undefined;
142
+ };
143
+ required: string[];
144
+ };
145
+ } | {
146
+ name: string;
147
+ description: string;
148
+ inputSchema: {
149
+ type: string;
150
+ properties: {
151
+ token?: undefined;
152
+ name?: undefined;
153
+ phone?: undefined;
154
+ code?: undefined;
155
+ scene?: undefined;
14
156
  skills?: undefined;
15
157
  location?: undefined;
16
158
  page?: undefined;
@@ -68,6 +210,11 @@ export declare const TOOLS_DEFINITION: ({
68
210
  default: number;
69
211
  examples: number[];
70
212
  };
213
+ token?: undefined;
214
+ name?: undefined;
215
+ phone?: undefined;
216
+ code?: undefined;
217
+ scene?: undefined;
71
218
  workerId?: undefined;
72
219
  status?: undefined;
73
220
  title?: undefined;
@@ -100,6 +247,11 @@ export declare const TOOLS_DEFINITION: ({
100
247
  description: string;
101
248
  examples: string[];
102
249
  };
250
+ token?: undefined;
251
+ name?: undefined;
252
+ phone?: undefined;
253
+ code?: undefined;
254
+ scene?: undefined;
103
255
  skills?: undefined;
104
256
  location?: undefined;
105
257
  page?: undefined;
@@ -157,6 +309,11 @@ export declare const TOOLS_DEFINITION: ({
157
309
  default: number;
158
310
  examples: number[];
159
311
  };
312
+ token?: undefined;
313
+ name?: undefined;
314
+ phone?: undefined;
315
+ code?: undefined;
316
+ scene?: undefined;
160
317
  location?: undefined;
161
318
  workerId?: undefined;
162
319
  title?: undefined;
@@ -250,6 +407,11 @@ export declare const TOOLS_DEFINITION: ({
250
407
  maxLength: number;
251
408
  examples: string[];
252
409
  };
410
+ token?: undefined;
411
+ name?: undefined;
412
+ phone?: undefined;
413
+ code?: undefined;
414
+ scene?: undefined;
253
415
  location?: undefined;
254
416
  page?: undefined;
255
417
  pageSize?: undefined;
@@ -275,6 +437,11 @@ export declare const TOOLS_DEFINITION: ({
275
437
  description: string;
276
438
  examples: string[];
277
439
  };
440
+ token?: undefined;
441
+ name?: undefined;
442
+ phone?: undefined;
443
+ code?: undefined;
444
+ scene?: undefined;
278
445
  skills?: undefined;
279
446
  location?: undefined;
280
447
  page?: undefined;
@@ -315,6 +482,11 @@ export declare const TOOLS_DEFINITION: ({
315
482
  description: string;
316
483
  examples: string[];
317
484
  };
485
+ token?: undefined;
486
+ name?: undefined;
487
+ phone?: undefined;
488
+ code?: undefined;
489
+ scene?: undefined;
318
490
  skills?: undefined;
319
491
  location?: undefined;
320
492
  page?: undefined;
@@ -355,6 +527,11 @@ export declare const TOOLS_DEFINITION: ({
355
527
  maxLength: number;
356
528
  examples: string[];
357
529
  };
530
+ token?: undefined;
531
+ name?: undefined;
532
+ phone?: undefined;
533
+ code?: undefined;
534
+ scene?: undefined;
358
535
  skills?: undefined;
359
536
  location?: undefined;
360
537
  page?: undefined;
@@ -404,6 +581,11 @@ export declare const TOOLS_DEFINITION: ({
404
581
  default: number;
405
582
  examples: number[];
406
583
  };
584
+ token?: undefined;
585
+ name?: undefined;
586
+ phone?: undefined;
587
+ code?: undefined;
588
+ scene?: undefined;
407
589
  skills?: undefined;
408
590
  location?: undefined;
409
591
  workerId?: undefined;
@@ -451,6 +633,11 @@ export declare const TOOLS_DEFINITION: ({
451
633
  default: number;
452
634
  examples: number[];
453
635
  };
636
+ token?: undefined;
637
+ name?: undefined;
638
+ phone?: undefined;
639
+ code?: undefined;
640
+ scene?: undefined;
454
641
  skills?: undefined;
455
642
  location?: undefined;
456
643
  page?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"tools-definition.d.ts","sourceRoot":"","sources":["../../src/config/tools-definition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8sB5B,CAAC"}
1
+ {"version":3,"file":"tools-definition.d.ts","sourceRoot":"","sources":["../../src/config/tools-definition.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAm2B5B,CAAC"}
@@ -6,6 +6,154 @@
6
6
  * 所有工具的定义列表
7
7
  */
8
8
  export const TOOLS_DEFINITION = [
9
+ // ==================== 认证工具(3个工具) ====================
10
+ {
11
+ name: 'create_api_key',
12
+ description: `创建新的 API Key
13
+
14
+ 【使用场景】
15
+ - 为不同用途创建多个 API Key
16
+ - 替换过期的 API Key
17
+ - 分离不同环境/设备的密钥
18
+
19
+ 【前置条件】
20
+ - 必须先调用 login 获取 token
21
+ - token 有效期为 7 天
22
+
23
+ 【请求参数】
24
+ - token: 登录接口返回的 token(必填)
25
+ - name: API Key 名称,可选,默认为 "MCP Auto Key"
26
+
27
+ 【返回内容】
28
+ - apiKey: 生成的 API Key(需要配置到 WORKSHUB_API_KEY 环境变量)
29
+ - name: API Key 名称
30
+ - createdAt: 创建时间
31
+
32
+ 【注意事项】
33
+ - 注意:登录时已自动创建 API Key,此工具仅用于额外创建新密钥
34
+ - 生成的 API Key 请妥善保管,不要泄露
35
+ - 需要将返回的 apiKey 配置到 WORKSHUB_API_KEY 环境变量后才能使用其他业务工具`,
36
+ inputSchema: {
37
+ type: 'object',
38
+ properties: {
39
+ token: {
40
+ type: 'string',
41
+ description: '登录返回的 token(必填)',
42
+ examples: ['eyJhbGciOiJIUzI1NiIs...'],
43
+ },
44
+ name: {
45
+ type: 'string',
46
+ description: 'API Key 名称(可选)',
47
+ examples: ['MCP Auto Key', 'My Agent Key'],
48
+ },
49
+ },
50
+ required: ['token'],
51
+ },
52
+ },
53
+ {
54
+ name: 'login',
55
+ description: `使用手机号和验证码登录,自动注册新用户并创建 API Key
56
+
57
+ 【使用场景】
58
+ - 首次使用 WorksHub,自动创建新用户
59
+ - 已有用户登录获取认证信息
60
+ - 智能体自主完成注册和认证流程
61
+
62
+ 【前置条件】
63
+ - 必须先调用 send_code 获取验证码
64
+ - 验证码有效期为 5 分钟
65
+ - 每个手机号每分钟最多发送 1 次验证码
66
+
67
+ 【请求参数】
68
+ - phone: 手机号(必填),格式要求 11 位数字
69
+ - code: 验证码(必填),6 位数字
70
+
71
+ 【返回内容】
72
+ - token: Bearer Token(有效期 7 天)
73
+ - user: 用户基本信息(ID、手机号、创建时间等)
74
+ - apiKey: 自动生成的 API Key(用于调用业务工具)
75
+ - apiKeyName: API Key 名称(默认为 "MCP Auto Key")
76
+ - apiKeyCreatedAt: API Key 创建时间
77
+
78
+ 【后续操作】
79
+ - 将返回的 apiKey 配置到 WORKSHUB_API_KEY 环境变量
80
+ - 使用其他业务工具(get_workers, create_bounty 等)
81
+
82
+ 【注意事项】
83
+ - 验证码输入错误次数过多会被临时锁定
84
+ - 如果是新用户,会自动创建账户
85
+ - 每次登录都会自动创建新的 API Key
86
+ - 开发环境万能验证码是 "000000"
87
+ - 请妥善保管返回的 apiKey,配置后才能使用业务工具`,
88
+ inputSchema: {
89
+ type: 'object',
90
+ properties: {
91
+ phone: {
92
+ type: 'string',
93
+ description: '手机号(必填),11 位数字',
94
+ pattern: '^1[3-9]\\d{9}$',
95
+ examples: ['13800138000', '13912345678'],
96
+ },
97
+ code: {
98
+ type: 'string',
99
+ description: '验证码(必填),6 位数字',
100
+ pattern: '^\\d{6}$',
101
+ examples: ['000000', '123456'],
102
+ },
103
+ },
104
+ required: ['phone', 'code'],
105
+ },
106
+ },
107
+ {
108
+ name: 'send_code',
109
+ description: `发送手机验证码
110
+
111
+ 【使用场景】
112
+ - 首次注册 WorksHub 账号
113
+ - 登录时获取验证码
114
+ - 重置密码或更换手机号
115
+
116
+ 【前置条件】
117
+ - 手机号必须是 11 位中国大陆手机号
118
+ - 每个手机号每分钟最多发送 1 次
119
+ - 同一手机号 5 分钟内只能发送 1 次
120
+
121
+ 【请求参数】
122
+ - phone: 手机号(必填),11 位数字
123
+ - scene: 验证码场景(可选),默认为 "mcp_login"
124
+
125
+ 【返回内容】
126
+ - success: 发送成功标志
127
+ - 开发环境下验证码为 "000000"
128
+
129
+ 【注意事项】
130
+ - 验证码有效期 5 分钟
131
+ - 生产环境会真实发送短信
132
+ - 开发环境万能验证码是 "000000"
133
+
134
+ 【建议】
135
+ - 调用成功后等待 1-2 秒再输入验证码
136
+ - 避免频繁发送验证码`,
137
+ inputSchema: {
138
+ type: 'object',
139
+ properties: {
140
+ phone: {
141
+ type: 'string',
142
+ description: '手机号(必填),11 位数字',
143
+ pattern: '^1[3-9]\\d{9}$',
144
+ examples: ['13800138000', '13912345678'],
145
+ },
146
+ scene: {
147
+ type: 'string',
148
+ description: '场景(可选),默认为 "mcp_login"',
149
+ enum: ['mcp_login', 'register', 'reset_password'],
150
+ default: 'mcp_login',
151
+ examples: ['mcp_login', 'register'],
152
+ },
153
+ },
154
+ required: ['phone'],
155
+ },
156
+ },
9
157
  // ==================== 技能管理(1个工具) ====================
10
158
  {
11
159
  name: 'get_skills',
@@ -1 +1 @@
1
- {"version":3,"file":"tools-definition.js","sourceRoot":"","sources":["../../src/config/tools-definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools-definition.js","sourceRoot":"","sources":["../../src/config/tools-definition.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { SkillTools } from '../tools/skill.js';
6
6
  import { WorkerTools } from '../tools/worker.js';
7
7
  import { BountyTools } from '../tools/bounty.js';
8
8
  import { ConversationTools } from '../tools/conversation.js';
9
+ import { AuthTools } from '../tools/auth.js';
9
10
  /**
10
11
  * 工具实例接口
11
12
  */
@@ -14,6 +15,7 @@ export interface ToolInstances {
14
15
  workerTools: WorkerTools;
15
16
  bountyTools: BountyTools;
16
17
  conversationTools: ConversationTools;
18
+ authTools: AuthTools;
17
19
  }
18
20
  /**
19
21
  * 路由工具调用到对应的处理函数
@@ -1 +1 @@
1
- {"version":3,"file":"tool-router.d.ts","sourceRoot":"","sources":["../../src/handlers/tool-router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CA+EjB"}
1
+ {"version":3,"file":"tool-router.d.ts","sourceRoot":"","sources":["../../src/handlers/tool-router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,SAAS,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC,CA0FjB"}
@@ -11,11 +11,21 @@ import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
11
11
  * @returns 工具执行结果
12
12
  */
13
13
  export async function routeToolCall(name, args, tools) {
14
- const { skillTools, workerTools, bountyTools, conversationTools } = tools;
14
+ const { skillTools, workerTools, bountyTools, conversationTools, authTools } = tools;
15
15
  console.error(`🔧 调用工具: ${name}`, args ? `参数: ${JSON.stringify(args)}` : '');
16
16
  try {
17
17
  let result;
18
18
  switch (name) {
19
+ // 认证工具
20
+ case 'send_code':
21
+ result = await authTools.sendCode(args || {});
22
+ break;
23
+ case 'login':
24
+ result = await authTools.login(args || {});
25
+ break;
26
+ case 'create_api_key':
27
+ result = await authTools.createApiKey(args || {});
28
+ break;
19
29
  // 技能管理
20
30
  case 'get_skills':
21
31
  result = await skillTools.getSkills(args || {});
@@ -1 +1 @@
1
- {"version":3,"file":"tool-router.js","sourceRoot":"","sources":["../../src/handlers/tool-router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAgBzE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,IAAyC,EACzC,KAAoB;IAEpB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAE1E,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,IAAI,MAAc,CAAC;QAEnB,QAAQ,IAAI,EAAE,CAAC;YACb,OAAO;YACP,KAAK,YAAY;gBACf,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM;YAER,QAAQ;YACR,KAAK,aAAa;gBAChB,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,mBAAmB;gBACtB,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,mBAAmB;gBACtB,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM;YAER,SAAS;YACT,KAAK,cAAc;gBACjB,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,mBAAmB;gBACtB,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,MAAM,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,2BAA2B;gBAC9B,MAAM,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC/D,MAAM;YAER,OAAO;YACP,KAAK,mBAAmB;gBACtB,MAAM,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,oBAAoB;gBACvB,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,2BAA2B;gBAC9B,MAAM,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACrE,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACzD,MAAM;YAER;gBACE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE3C,kBAAkB;QAClB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tool-router.js","sourceRoot":"","sources":["../../src/handlers/tool-router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAkBzE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,IAAyC,EACzC,KAAoB;IAEpB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAErF,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAE7E,IAAI,CAAC;QACH,IAAI,MAAc,CAAC;QAEnB,QAAQ,IAAI,EAAE,CAAC;YACb,OAAO;YACP,KAAK,WAAW;gBACd,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,gBAAgB;gBACnB,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM;YAER,OAAO;YACP,KAAK,YAAY;gBACf,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM;YAER,QAAQ;YACR,KAAK,aAAa;gBAChB,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,mBAAmB;gBACtB,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,mBAAmB;gBACtB,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM;YAER,SAAS;YACT,KAAK,cAAc;gBACjB,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,mBAAmB;gBACtB,MAAM,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM;YACR,KAAK,yBAAyB;gBAC5B,MAAM,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,2BAA2B;gBAC9B,MAAM,GAAG,MAAM,WAAW,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC/D,MAAM;YAER,OAAO;YACP,KAAK,mBAAmB;gBACtB,MAAM,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,KAAK,oBAAoB;gBACvB,MAAM,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC/D,MAAM;YACR,KAAK,2BAA2B;gBAC9B,MAAM,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACrE,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACzD,MAAM;YAER;gBACE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE3C,kBAAkB;QAClB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAClD,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -10,11 +10,12 @@ import { VERSION } from './utils/version.js';
10
10
  import { checkArguments } from './cli/help.js';
11
11
  import { TOOLS_DEFINITION } from './config/tools-definition.js';
12
12
  import { routeToolCall } from './handlers/tool-router.js';
13
- import { createHttpClient } from './utils/http-client.js';
13
+ import { createHttpClient, createAuthHttpClient, createApiClientWithCache } from './utils/http-client.js';
14
14
  import { SkillTools } from './tools/skill.js';
15
15
  import { WorkerTools } from './tools/worker.js';
16
16
  import { BountyTools } from './tools/bounty.js';
17
17
  import { ConversationTools } from './tools/conversation.js';
18
+ import { AuthTools } from './tools/auth.js';
18
19
  import { detectMCPEnvironment, getEnvironmentName } from './utils/environment.js';
19
20
  // 检查命令行参数(--help, --version)
20
21
  checkArguments();
@@ -32,14 +33,22 @@ let skillTools;
32
33
  let workerTools;
33
34
  let bountyTools;
34
35
  let conversationTools;
36
+ let authTools;
35
37
  try {
38
+ // 基础 HTTP 客户端(使用环境变量 API Key)
36
39
  const httpClient = createHttpClient();
37
- skillTools = new SkillTools(httpClient);
38
- workerTools = new WorkerTools(httpClient);
39
- bountyTools = new BountyTools(httpClient);
40
- conversationTools = new ConversationTools(httpClient);
40
+ // 认证工具 HTTP 客户端(无认证)
41
+ const authHttpClient = createAuthHttpClient();
42
+ // 创建支持动态认证的客户端(当有 API Key 时优先使用)
43
+ const dynamicHttpClient = createApiClientWithCache();
44
+ skillTools = new SkillTools(dynamicHttpClient);
45
+ workerTools = new WorkerTools(dynamicHttpClient);
46
+ bountyTools = new BountyTools(dynamicHttpClient);
47
+ conversationTools = new ConversationTools(dynamicHttpClient);
48
+ authTools = new AuthTools(authHttpClient);
41
49
  console.error('✅ HTTP 客户端初始化成功');
42
50
  console.error('✅ 所有工具类初始化成功');
51
+ console.error('✅ 已启用动态认证(支持自动 API Key)');
43
52
  }
44
53
  catch (error) {
45
54
  console.error('❌ 初始化失败:', error instanceof Error ? error.message : error);
@@ -64,6 +73,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
64
73
  workerTools,
65
74
  bountyTools,
66
75
  conversationTools,
76
+ authTools,
67
77
  });
68
78
  // 默认文本内容块
69
79
  const content = [
@@ -106,7 +116,8 @@ async function main() {
106
116
  const mcpEnv = detectMCPEnvironment();
107
117
  console.error('✅ WorksHub MCP Service 已启动');
108
118
  console.error('📡 使用 stdio 模式通信');
109
- console.error('🛠️ 已注册 14 个工具:');
119
+ console.error('🛠️ 已注册 17 个工具:');
120
+ console.error(' - 认证管理: 3个');
110
121
  console.error(' - 技能管理: 1个');
111
122
  console.error(' - 工作者管理: 3个');
112
123
  console.error(' - 悬赏任务管理: 6个');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAE1G,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAElF,6BAA6B;AAC7B,cAAc,EAAE,CAAC;AAEjB,iBAAiB;AACjB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE,EAAE,gBAAgB;KAC5B;CACF,CACF,CAAC;AAEF,qBAAqB;AACrB,IAAI,UAAsB,CAAC;AAC3B,IAAI,WAAwB,CAAC;AAC7B,IAAI,WAAwB,CAAC;AAC7B,IAAI,iBAAoC,CAAC;AACzC,IAAI,SAAoB,CAAC;AAEzB,IAAI,CAAC;IACH,8BAA8B;IAC9B,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,qBAAqB;IACrB,MAAM,cAAc,GAAG,oBAAoB,EAAE,CAAC;IAC9C,iCAAiC;IACjC,MAAM,iBAAiB,GAAG,wBAAwB,EAAE,CAAC;IAErD,UAAU,GAAG,IAAI,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC/C,WAAW,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACjD,WAAW,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACjD,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC7D,SAAS,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC3C,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IAC1D,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAE7B,OAAO;QACL,KAAK,EAAE,gBAAgB;KACxB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE;QAC7C,UAAU;QACV,WAAW;QACX,WAAW;QACX,iBAAiB;QACjB,SAAS;KACV,CAAC,CAAC;IAEH,UAAU;IACV,MAAM,OAAO,GAAmB;QAC9B;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;KACF,CAAC;IAEF,aAAa;IACb,wCAAwC;IACxC,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,SAAS,CAAC,MAAM;oBACtB,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,WAAW;iBAC5B,CAAC,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc;YACd,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjD,iEAAiE;IACjE,OAAO,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAE/E,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,YAAY,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;AAC3F,CAAC;AAED,YAAY;AACZ,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { AxiosInstance } from 'axios';
2
+ /**
3
+ * 认证工具类
4
+ */
5
+ export declare class AuthTools {
6
+ private http;
7
+ constructor(http: AxiosInstance);
8
+ /**
9
+ * 发送验证码
10
+ * @param args 查询参数
11
+ * @returns JSON 字符串格式的响应
12
+ */
13
+ sendCode(args: Record<string, unknown>): Promise<string>;
14
+ /**
15
+ * 登录并自动创建 API Key
16
+ * <p>
17
+ * 此方法直接调用后端的合并接口 /api/v1/auth/login-and-create-key,
18
+ * 后端一次性完成登录(包含自动注册新用户)和 API Key 创建
19
+ *
20
+ * @param args 查询参数(phone, code)
21
+ * @returns JSON 字符串格式的响应(包含 token、user、apiKey、apiKeyName、apiKeyCreatedAt)
22
+ */
23
+ login(args: Record<string, unknown>): Promise<string>;
24
+ /**
25
+ * 创建 API Key
26
+ * @param args 查询参数
27
+ * @returns JSON 字符串格式的响应
28
+ */
29
+ createApiKey(args: Record<string, unknown>): Promise<string>;
30
+ }
31
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC;;GAEG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,aAAa;IAEvC;;;;OAIG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqC9D;;;;;;;;OAQG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAyD3D;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAuCnE"}
@@ -0,0 +1,141 @@
1
+ import { validateString, validateOptionalString } from '../utils/validator.js';
2
+ import { sessionManager } from '../utils/session-manager.js';
3
+ /**
4
+ * 认证工具类
5
+ */
6
+ export class AuthTools {
7
+ http;
8
+ constructor(http) {
9
+ this.http = http;
10
+ }
11
+ /**
12
+ * 发送验证码
13
+ * @param args 查询参数
14
+ * @returns JSON 字符串格式的响应
15
+ */
16
+ async sendCode(args) {
17
+ try {
18
+ // 参数校验
19
+ const phone = validateString(args.phone, '手机号');
20
+ const scene = validateOptionalString(args.scene, '场景');
21
+ // 构建请求体
22
+ const data = {
23
+ phone,
24
+ scene: scene || 'mcp_login'
25
+ };
26
+ // 调用远程 API(无认证)
27
+ const response = await this.http.post('/api/v1/auth/send-code', data);
28
+ // 检查业务响应
29
+ if (!response.data.success) {
30
+ return JSON.stringify({
31
+ success: false,
32
+ error: response.data.message || '发送验证码失败',
33
+ });
34
+ }
35
+ // 返回成功响应
36
+ return JSON.stringify({
37
+ success: true,
38
+ data: response.data.data,
39
+ });
40
+ }
41
+ catch (error) {
42
+ console.error('[AuthTools] sendCode error:', error);
43
+ return JSON.stringify({
44
+ success: false,
45
+ error: error instanceof Error ? error.message : '发送验证码失败',
46
+ });
47
+ }
48
+ }
49
+ /**
50
+ * 登录并自动创建 API Key
51
+ * <p>
52
+ * 此方法直接调用后端的合并接口 /api/v1/auth/login-and-create-key,
53
+ * 后端一次性完成登录(包含自动注册新用户)和 API Key 创建
54
+ *
55
+ * @param args 查询参数(phone, code)
56
+ * @returns JSON 字符串格式的响应(包含 token、user、apiKey、apiKeyName、apiKeyCreatedAt)
57
+ */
58
+ async login(args) {
59
+ try {
60
+ // 参数校验
61
+ const phone = validateString(args.phone, '手机号');
62
+ const code = validateString(args.code, '验证码');
63
+ // 构建请求体
64
+ const data = {
65
+ phone,
66
+ code
67
+ };
68
+ // 调用远程 API(无认证)- 直接调用合并接口
69
+ const response = await this.http.post('/api/v1/auth/login-and-create-key', data);
70
+ // 检查业务响应
71
+ if (!response.data.success) {
72
+ return JSON.stringify({
73
+ success: false,
74
+ error: response.data.message || '登录失败',
75
+ });
76
+ }
77
+ const responseData = response.data.data;
78
+ // 保存 token 和 API Key 到会话管理器
79
+ sessionManager.setToken(responseData.token);
80
+ if (responseData.apiKey) {
81
+ sessionManager.setApiKey(responseData.apiKey);
82
+ }
83
+ // 返回完整响应数据
84
+ return JSON.stringify({
85
+ success: true,
86
+ data: {
87
+ token: responseData.token,
88
+ user: responseData.user,
89
+ apiKey: responseData.apiKey,
90
+ apiKeyName: responseData.apiKeyName,
91
+ apiKeyCreatedAt: responseData.apiKeyCreatedAt
92
+ }
93
+ });
94
+ }
95
+ catch (error) {
96
+ console.error('[AuthTools] login error:', error);
97
+ return JSON.stringify({
98
+ success: false,
99
+ error: error instanceof Error ? error.message : '登录失败',
100
+ });
101
+ }
102
+ }
103
+ /**
104
+ * 创建 API Key
105
+ * @param args 查询参数
106
+ * @returns JSON 字符串格式的响应
107
+ */
108
+ async createApiKey(args) {
109
+ try {
110
+ // 参数校验
111
+ const token = validateString(args.token, 'Token');
112
+ const name = validateOptionalString(args.name, 'API Key 名称');
113
+ // 构建请求体
114
+ const data = {
115
+ name: name || 'MCP Auto Key'
116
+ };
117
+ // 调用远程 API(需要认证)
118
+ const response = await this.http.post('/api/v1/auth/create-api-key', data, { headers: { 'Authorization': `Bearer ${token}` } });
119
+ // 检查业务响应
120
+ if (!response.data.success) {
121
+ return JSON.stringify({
122
+ success: false,
123
+ error: response.data.message || '创建 API Key 失败',
124
+ });
125
+ }
126
+ // 返回成功响应
127
+ return JSON.stringify({
128
+ success: true,
129
+ data: response.data.data,
130
+ });
131
+ }
132
+ catch (error) {
133
+ console.error('[AuthTools] createApiKey error:', error);
134
+ return JSON.stringify({
135
+ success: false,
136
+ error: error instanceof Error ? error.message : '创建 API Key 失败',
137
+ });
138
+ }
139
+ }
140
+ }
141
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D;;GAEG;AACH,MAAM,OAAO,SAAS;IACA;IAApB,YAAoB,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAE3C;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,IAA6B;QAC1C,IAAI,CAAC;YACH,OAAO;YACP,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAEvD,QAAQ;YACR,MAAM,IAAI,GAAG;gBACX,KAAK;gBACL,KAAK,EAAE,KAAK,IAAI,WAAW;aAC5B,CAAC;YAEF,gBAAgB;YAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoC,wBAAwB,EAAE,IAAI,CAAC,CAAC;YAEzG,SAAS;YACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS;iBAC1B,CAAC,CAAC;YACrB,CAAC;YAED,SAAS;YACT,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;aACT,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aAC1C,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,CAAC,IAA6B;QACvC,IAAI,CAAC;YACH,OAAO;YACP,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE9C,QAAQ;YACR,MAAM,IAAI,GAAG;gBACX,KAAK;gBACL,IAAI;aACL,CAAC;YAEF,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAMjC,mCAAmC,EAAE,IAAI,CAAC,CAAC;YAE/C,SAAS;YACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM;iBACvB,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAK,CAAC;YAEzC,4BAA4B;YAC5B,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAChD,CAAC;YAED,WAAW;YACX,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,MAAM,EAAE,YAAY,CAAC,MAAM;oBAC3B,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,eAAe,EAAE,YAAY,CAAC,eAAe;iBAC9C;aACc,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;aACvC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,IAA6B;QAC9C,IAAI,CAAC;YACH,OAAO;YACP,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAE7D,QAAQ;YACR,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,IAAI,IAAI,cAAc;aAC7B,CAAC;YAEF,iBAAiB;YACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CACnC,6BAA6B,EAC7B,IAAI,EACJ,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CACpD,CAAC;YAEF,SAAS;YACT,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,SAAS,CAAC;oBACpB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,eAAe;iBAChC,CAAC,CAAC;YACrB,CAAC;YAED,SAAS;YACT,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;aAC4C,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChD,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;CACF"}
@@ -5,4 +5,22 @@ import { AxiosInstance } from 'axios';
5
5
  * 自动配置 X-API-Key 认证头
6
6
  */
7
7
  export declare function createHttpClient(): AxiosInstance;
8
+ /**
9
+ * 创建带缓存的 HTTP 客户端
10
+ * 如果设置了 API Key,使用 X-API-Key 认证
11
+ * 否则使用 Bearer Token 认证
12
+ */
13
+ export declare function createApiClientWithCache(apiKey?: string): AxiosInstance;
14
+ /**
15
+ * 创建认证工具的 HTTP 客户端(无认证)
16
+ * 从环境变量读取 WORKSHUB_API_URL
17
+ * 不需要 API Key
18
+ */
19
+ export declare function createAuthHttpClient(): AxiosInstance;
20
+ /**
21
+ * 创建带 Bearer Token 的 HTTP 客户端(认证工具使用)
22
+ * 从环境变量读取 WORKSHUB_API_URL
23
+ * 使用 Bearer Token 认证
24
+ */
25
+ export declare function createBearerHttpClient(token: string): AxiosInstance;
8
26
  //# sourceMappingURL=http-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAwBhD"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAwBhD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,aAAa,CAepD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAgBnE"}
@@ -1,4 +1,5 @@
1
1
  import axios from 'axios';
2
+ import { sessionManager } from './session-manager.js';
2
3
  /**
3
4
  * 创建 HTTP 客户端实例
4
5
  * 从环境变量读取 WORKSHUB_API_URL 和 WORKSHUB_API_KEY
@@ -27,4 +28,51 @@ export function createHttpClient() {
27
28
  validateStatus: () => true,
28
29
  });
29
30
  }
31
+ /**
32
+ * 创建带缓存的 HTTP 客户端
33
+ * 如果设置了 API Key,使用 X-API-Key 认证
34
+ * 否则使用 Bearer Token 认证
35
+ */
36
+ export function createApiClientWithCache(apiKey) {
37
+ return sessionManager.createCachedHttpClient();
38
+ }
39
+ /**
40
+ * 创建认证工具的 HTTP 客户端(无认证)
41
+ * 从环境变量读取 WORKSHUB_API_URL
42
+ * 不需要 API Key
43
+ */
44
+ export function createAuthHttpClient() {
45
+ const baseURL = process.env.WORKSHUB_API_URL || 'https://workshub.ai/mcp';
46
+ if (!baseURL) {
47
+ throw new Error('环境变量 WORKSHUB_API_URL 未配置');
48
+ }
49
+ return axios.create({
50
+ baseURL,
51
+ timeout: 30000,
52
+ headers: {
53
+ 'Content-Type': 'application/json'
54
+ },
55
+ validateStatus: () => true
56
+ });
57
+ }
58
+ /**
59
+ * 创建带 Bearer Token 的 HTTP 客户端(认证工具使用)
60
+ * 从环境变量读取 WORKSHUB_API_URL
61
+ * 使用 Bearer Token 认证
62
+ */
63
+ export function createBearerHttpClient(token) {
64
+ const baseURL = process.env.WORKSHUB_API_URL || 'https://workshub.ai/mcp';
65
+ if (!baseURL) {
66
+ throw new Error('环境变量 WORKSHUB_API_URL 未配置');
67
+ }
68
+ return axios.create({
69
+ baseURL,
70
+ timeout: 30000,
71
+ headers: {
72
+ 'Content-Type': 'application/json',
73
+ 'Authorization': `Bearer ${token}`
74
+ },
75
+ validateStatus: () => true
76
+ });
77
+ }
30
78
  //# sourceMappingURL=http-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC,CAAC,MAAM;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE5C,SAAS;IACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAClH,CAAC;IAED,cAAc;IACd,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO;QACP,OAAO,EAAE,KAAK,EAAE,QAAQ;QACxB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,MAAM,EAAE,kBAAkB;SACxC;QACD,wBAAwB;QACxB,gCAAgC;QAChC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;KAC3B,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC,CAAC,MAAM;IACjF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE5C,SAAS;IACT,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAClH,CAAC;IAED,cAAc;IACd,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO;QACP,OAAO,EAAE,KAAK,EAAE,QAAQ;QACxB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,MAAM,EAAE,kBAAkB;SACxC;QACD,wBAAwB;QACxB,gCAAgC;QAChC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAe;IACtD,OAAO,cAAc,CAAC,sBAAsB,EAAE,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;IAE1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO;QACP,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;IAE1E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO;QACP,OAAO,EAAE,KAAK;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,UAAU,KAAK,EAAE;SACnC;QACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;KAC3B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { AxiosInstance } from 'axios';
2
+ /**
3
+ * 会话管理器
4
+ * 负责管理认证状态和 API Key 缓存
5
+ */
6
+ export declare class SessionManager {
7
+ private currentToken;
8
+ private currentApiKey;
9
+ /**
10
+ * 设置 Token
11
+ */
12
+ setToken(token: string): void;
13
+ /**
14
+ * 设置 API Key
15
+ */
16
+ setApiKey(apiKey: string): void;
17
+ /**
18
+ * 获取当前 Token
19
+ */
20
+ getToken(): string | null;
21
+ /**
22
+ * 获取当前 API Key
23
+ */
24
+ getApiKey(): string | null;
25
+ /**
26
+ * 清除所有认证信息
27
+ */
28
+ clearAuth(): void;
29
+ /**
30
+ * 创建动态 HTTP 客户端
31
+ * 优先使用 API Key 认证,回退到 Token 认证
32
+ */
33
+ createDynamicHttpClient(): AxiosInstance;
34
+ /**
35
+ * 创建带缓存的 HTTP 客户端(与现有客户端保持一致)
36
+ */
37
+ createCachedHttpClient(): AxiosInstance;
38
+ }
39
+ export declare const sessionManager: SessionManager;
40
+ //# sourceMappingURL=session-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/utils/session-manager.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAE5C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,SAAS;IAKT;;;OAGG;IACH,uBAAuB,IAAI,aAAa;IA0BxC;;OAEG;IACH,sBAAsB,IAAI,aAAa;CAGxC;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -0,0 +1,75 @@
1
+ import axios from 'axios';
2
+ /**
3
+ * 会话管理器
4
+ * 负责管理认证状态和 API Key 缓存
5
+ */
6
+ export class SessionManager {
7
+ currentToken = null;
8
+ currentApiKey = null;
9
+ /**
10
+ * 设置 Token
11
+ */
12
+ setToken(token) {
13
+ this.currentToken = token;
14
+ }
15
+ /**
16
+ * 设置 API Key
17
+ */
18
+ setApiKey(apiKey) {
19
+ this.currentApiKey = apiKey;
20
+ }
21
+ /**
22
+ * 获取当前 Token
23
+ */
24
+ getToken() {
25
+ return this.currentToken;
26
+ }
27
+ /**
28
+ * 获取当前 API Key
29
+ */
30
+ getApiKey() {
31
+ return this.currentApiKey;
32
+ }
33
+ /**
34
+ * 清除所有认证信息
35
+ */
36
+ clearAuth() {
37
+ this.currentToken = null;
38
+ this.currentApiKey = null;
39
+ }
40
+ /**
41
+ * 创建动态 HTTP 客户端
42
+ * 优先使用 API Key 认证,回退到 Token 认证
43
+ */
44
+ createDynamicHttpClient() {
45
+ const baseURL = process.env.WORKSHUB_API_URL || 'https://workshub.ai/mcp';
46
+ if (!baseURL) {
47
+ throw new Error('环境变量 WORKSHUB_API_URL 未配置');
48
+ }
49
+ const client = axios.create({
50
+ baseURL,
51
+ timeout: 30000,
52
+ headers: {
53
+ 'Content-Type': 'application/json',
54
+ },
55
+ validateStatus: () => true,
56
+ });
57
+ // 添加认证头
58
+ if (this.currentApiKey) {
59
+ client.defaults.headers.common['X-API-Key'] = this.currentApiKey;
60
+ }
61
+ else if (this.currentToken) {
62
+ client.defaults.headers.common['Authorization'] = `Bearer ${this.currentToken}`;
63
+ }
64
+ return client;
65
+ }
66
+ /**
67
+ * 创建带缓存的 HTTP 客户端(与现有客户端保持一致)
68
+ */
69
+ createCachedHttpClient() {
70
+ return this.createDynamicHttpClient();
71
+ }
72
+ }
73
+ // 创建全局会话管理器实例
74
+ export const sessionManager = new SessionManager();
75
+ //# sourceMappingURL=session-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/utils/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAG7C;;;GAGG;AACH,MAAM,OAAO,cAAc;IACjB,YAAY,GAAkB,IAAI,CAAC;IACnC,aAAa,GAAkB,IAAI,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,uBAAuB;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;QAE1E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC1B,OAAO;YACP,OAAO,EAAE,KAAK;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI;SAC3B,CAAC,CAAC;QAEH,QAAQ;QACR,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QACnE,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;QAClF,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACxC,CAAC;CACF;AAED,cAAc;AACd,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workshub-mcp",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "WorksHub MCP Service - AI Agent可通过此MCP服务雇佣真人工作者完成现实任务",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",