@kweaver-ai/chatkit 0.1.7 → 0.1.8

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
@@ -488,46 +488,85 @@ interface ChatKitInterface {
488
488
 
489
489
  对除了内置工具以外的工具支持自定义扩展
490
490
 
491
+ #### 类型定义
492
+
493
+ ```typescript
494
+ type ToolBlockRegistration {
495
+ /** 工具名称(唯一标识),对应 ToolCallData.name */
496
+ name: string;
497
+ /** 工具图标,React 元素 */
498
+ Icon?: React.ReactNode;
499
+ /** 工具点击事件
500
+ * @param block 工具块数据,类型为 Record<string, any>
501
+ */
502
+ onClick?: (block: Record<string, any>) => void;
503
+ }
504
+ ```
505
+
506
+ #### API 方法
507
+
508
+ ```typescript
509
+ // 注册单个工具(如果工具已注册,将直接覆盖原有注册信息)
510
+ registerTool(registration: ToolBlockRegistration): void
511
+
512
+ // 批量注册工具(如果工具已注册,将直接覆盖原有注册信息)
513
+ registerTools(registrations: Array<ToolBlockRegistration>): void
514
+
515
+ // 取消注册方法
516
+ unregisterTool(toolName: string): void
517
+
518
+ // 获取注册信息
519
+ getTool(toolName: string): ToolBlockRegistration | undefined
520
+
521
+ // 查询工具是否已经注册
522
+ hasTool(toolName: string): boolean
523
+
524
+ // 清空所有注册工具
525
+ clearAll(): void
526
+
527
+ // 获取所有已注册工具名称
528
+ getAllToolNames(): string[]
529
+ ```
530
+
531
+ #### 使用示例
532
+
533
+ **注册单个工具**:
534
+ ```typescript
535
+ BlockRegistry.registerTool({
536
+ name: 'your_tool_name',
537
+ Icon: <YourIcon />,
538
+ onClick: (block) => {
539
+ // 自定义处理逻辑
540
+ },
541
+ });
542
+ ```
543
+
544
+ **批量注册工具**:
545
+ ```typescript
546
+ BlockRegistry.registerTools([
547
+ {
548
+ name: 'tool1',
549
+ Icon: <Icon1 />,
550
+ onClick: (block) => { /* 处理逻辑 */ },
551
+ },
552
+ {
553
+ name: 'tool2',
554
+ Icon: <Icon2 />,
555
+ },
556
+ ]);
557
+ ```
558
+
559
+ **重新注册工具(覆盖)**:
491
560
  ```typescript
492
- type ToolBlockRegistration {
493
- /** 工具名称(唯一标识),对应 ToolCallData.name */
494
- name: string;
495
- /** 工具图标,React 元素 */
496
- Icon?: React.ReactNode;
497
- /** 工具点击事件
498
- * @param block 工具块数据,类型为 Record<string, any>
499
- */
500
- onClick?: (block: Record<string, any>) => void;
501
- }
502
-
503
- // 接口注册方法
504
- registerTool(registration: ToolBlockRegistration)
505
-
506
- // 取消注册方法
507
- unregisterTool(toolName: string)
508
-
509
- // 获取注册信息
510
- getTool(toolName: string) => ToolBlockRegistration | undefined
511
-
512
- // 查询工具是否已经注册
513
- hasTool(toolName: string) => boolean
514
- // 所欲注册工具
515
- clearAll()
516
-
517
- // 获取所有已注册功德名称
518
- getAllToolNames() => string[]
561
+ // 如果工具已注册,直接调用 registerTool 即可覆盖
562
+ BlockRegistry.registerTool({
563
+ name: 'your_tool_name',
564
+ Icon: <NewIcon />, // 更新图标
565
+ onClick: (block) => {
566
+ // 更新点击行为
567
+ },
568
+ });
519
569
  ```
520
- 示例
521
-
522
- ```typescript
523
- BlockRegistry.registerTool({
524
- name: 'your_tool_name',
525
- Icon: <YourIcon />,
526
- onClick: (block) => {
527
- // 自定义处理逻辑
528
- },
529
- });
530
- ```
531
570
 
532
571
 
533
572
  ## 架构设计