FastGPT 系统工具服务
- TypeScript
- Bun
- express
- ts-rest
- vitest
dev
调试工具时可以使用的 Web 工具runtime
工具的运行时scripts
脚本test
测试配置tools
系统工具目录
系统工具可以分为两种:
- 系统工具
tool
- 工具集,工具集内包括功能相似的多个工具
toolset
bun i
bun run build
编译后在 runtime/dist
目录下可以直接运行(默认为 node 运行时)
在 tools 目录下执行 docker build -t fastgpt-tools .
即可构建镜像
构建完成后,可以使用 docker run -p 3010:3000 fastgpt-tools
启动容器
使用 docker 部署后,使用 tools.json 配置文件动态挂载系统工具。
docker run -p 3010:3000 -v /path/to/tools.json:/app/tools.json fastgpt-tools
tools.json 格式见 tools.template.json
。
每次修改 json 后需要重启容器才能生效。
- 安装依赖:
bun i
- 创建新的工具/工具集
- 工具
bun run new <name>
- 工具集
bun run new --toolset <name>
cd tools/<name>
- 修改配置文件
config.ts
- 在
src
目录下实现工具逻辑 - 编写测试样例 (Vitest) 并通过测试
- 提交代码并发起 PR 到 labring/FastGPT
按照上述步骤开发完毕后,执行 bun run build
将构建执行工具构建。
- 将 bundle 好的 js 文件上传到对象存储。
- 在 tools.json 中配置工具的 url
- 参考 部署 中的步骤进行部署。需要注意的是每次文件变动都需要重启服务以刷新 flushId