内容
服务 TypeScript
一个使用 **TypeScript** 编写的后端服务器,通过 **REST API** 提供一组工具,基于 **Node.jsExpress** 构建。
该项目包括一个交互界面,用于使用这些工具为通过 **Docker** 轻松部署。
---
## 🛠️ 工具列表
目前,服务器提供以下工具:
1. **字数统计** → 分析文本并返回每个单词的频率。
2UUID 生成器** → 生成通用唯一标识符(UUID v4)。
3. **AI 工具(Gemini)** → 与 Gemini集成以响应文本提示。
---
## 🚀 安装与使用
###
- Node.js(版本 **18更高)
- npm
### 安装
克隆仓库并安装依赖:
```bash
git clone <您的仓库 URL>
cd <仓库名称>
npm install
````
编译 TypeScript 代码并启动生产服务器:
> `postinstall` 命令已经自动在 `npm install` 后执行构建
```bash
npm start
将在 [http://localhost:3000](http://localhost:3000) 运行。
在开发模式下运行服务器,并启用加载(使用 `tsx````bash
npm run dev
```
---
## 🐳 使用 部署
该项目已** 部署。`easypanel.yml` 文件好。
1. 将您的代码推送到仓库(GitGitLab 等. 在 Easy板中,创建一个新服务并指向。
3. EasyPanel 将检测到 ` 并自动构建镜像. 配置必要的环境---
## ⚙️ 环境变量
要运行项目,需要变量:
| 变量 | 描述 | |
| ----------------- | -------------------------------------------------------------- |
PORT` 的端口 | `3000` |
NODE_ENV` 应用程序环境(`production`development`) | - |
| `CLAUDE_API_KEY` | Anthropic 的 密钥 | - |
| `CLAUDE_API_URL` | Claude API 地址 | `https://api.anthropic.com/v1/messages` |
---
## 📡 API 端点
* /** → 提供主要网页界面。
* **GET /health** → 检查服务健康状况。
* **GET/status** → 返回每个工具的在线状态。
* **POST /api/word-count** → 接收文本并计算单词频率。
* **POST /api/generate-uuid** → 生成一个或多个 UUID。
* **POST /api/ai-tool** → 向 Claude AI 发送提示。
---
## 📦 项目结构
```
.
├── Dockerfile # Docker 容器配置
├── easypanel.yml # EasyPanel 部署配置
├── package.json # 项目依赖和脚本
├── tsconfig.json # TypeScript 编译器配置
├── public/ # 网页界面文件
│ ├── index # 页面结构
│ ├── style.css # 视觉样式
│ .js # 客户端逻辑
└── src/ # 服务器源代码
├── controllers/ # 请求逻辑控制器
│ └── toolcontroller.ts
├── routes/ # API 路由定义
│ └── apiRoutes.ts
├── tools/ # 每个工具的业务逻辑
│ ├── uuidGenerator.ts
│ └── wordCounter.ts
├── config.ts # 环境变量配置
└── index.ts # Express 服务器主文件
```
---
## 🤝 贡献
欢迎提出问题和提交拉取请求。
所有贡献都是欢迎的! 🚀
---
## 许可证
该项目在 **MIT 许可证**下许可。
查看 [LICENSE](LICENSE) 文件以获取更多详细信息。