22 lines
614 B
TypeScript
22 lines
614 B
TypeScript
import { Tool } from '../types/index.js';
|
|
|
|
export const calculatorTool: Tool = {
|
|
name: 'calculate',
|
|
description: '执行数学计算,支持加减乘除和括号',
|
|
parameters: {
|
|
type: 'object',
|
|
properties: {
|
|
expression: { type: 'string', description: '数学表达式,如"2+3*4"' },
|
|
},
|
|
required: ['expression'],
|
|
},
|
|
execute: async (args) => {
|
|
try {
|
|
// 安全警告:生产环境绝不可以用 eval
|
|
const result = eval(args.expression);
|
|
return `${args.expression} = ${result}`;
|
|
} catch (e: any) {
|
|
return `计算错误: ${e.message}`;
|
|
}
|
|
},
|
|
}; |