Hoppscotch: 79,200 GitHub Stars — 开源API开发平台对比 Postman、Insomnia、Bruno 2026
Hoppscotch (HOPP) 是一个开源API开发生态系统。兼容 Docker、GitHub Actions、Node.js、Vue.js。涵盖 hoppscotch 教程、自托管、CLI 自动化以及与替代方案对比。
- ⭐ 79200
- MIT
- 更新于 2026-05-19
{{< resource-info >}}
引言 #
每个经历过 Postman 启动等待八秒、同步进度条冻结、或将生产环境凭证误提交到共享工作区的开发者都深知这种痛苦。API 测试工具变得越来越臃肿、企业化锁定、对个人开发者和小团队越来越不友好。2026年,越来越多的工程师转向 Hoppscotch —— 一个拥有 79,200 GitHub Stars、每月处理 590 万次请求的开源 API 开发生态系统,其核心理念是 API 工具应该快速、免费且完全受你控制。与 Postman 的 180 MB 桌面应用不同,Hoppscotch 的桌面端仅 8 MB,基于 Tauri 构建,启动速度在 1 秒以内。本文是一篇全面的 hoppscotch 教程,涵盖从 Web 应用到 Docker 自托管的完整 hoppscotch 安装流程、CLI 自动化测试配置,以及与 Postman、Insomnia 和 Bruno 的数据驱动对比,帮助你选择最适合团队的 api 测试工具。
Hoppscotch 是什么? #
Hoppscotch 是一个开源、Web 原生的 API 开发平台,作为 Postman 和 Insomnia 的轻量级替代品而构建。它支持 REST、GraphQL、WebSocket、SSE、Socket.IO 和 MQTT 协议,可以完全在浏览器中以 PWA 形式运行,提供桌面应用,并可通过 Docker 自托管以实现完全的数据主权。Hoppscotch 于 2019 年创立,采用 MIT 许可证,已成长为 GitHub 上最受关注的开发者工具仓库之一,拥有 350+ 贡献者和每周发布的更新节奏。
Hoppscotch 的工作原理 #
架构概览 #
Hoppscotch 采用模块化 monorepo 架构。前端基于 Vue 3、Vite 和 TypeScript 构建。后端使用 NestJS,PostgreSQL 负责持久化存储。桌面应用使用 Tauri(基于 Rust)封装 Web 界面,生成的二进制文件不到 10 MB —— 远小于基于 Electron 的竞品。Rust 驱动的 CLI 支持无头自动化和 CI/CD 集成。


核心概念 #
- 工作区(Workspaces):面向团队的容器,包含集合、环境和共享资源。每个工作区有独立的权限控制和审计日志,支持多人实时协作编辑。
- 集合(Collections):组织良好的 API 请求组,支持文件夹层级嵌套。集合可以导出为 JSON 格式进行版本控制,也可以导入 Postman 和 OpenAPI 格式的文件。
- 环境(Environments):变量存储,用于开发、staging 和生产环境。通过
<<variable_name>>语法在 URL、请求头和请求体中引用变量,实现不同环境间的无缝切换。 - 前置脚本(Pre-request Scripts):通过
pw对象在每个请求前执行的 JavaScript 片段。可用于动态生成时间戳、计算签名、刷新 OAuth Token 等场景。 - 测试(Tests):使用相同
pw脚本 API 的响应后断言。支持验证状态码、响应时间、JSON 结构等,测试结果会生成详细的报告。 - 拦截器(Interceptors):浏览器扩展或代理方式拦截请求,用于本地测试。内置代理服务器可以解决浏览器 CORS 限制,让 localhost API 测试变得简单。
安装与配置 #
方法 1:Web 应用(最快 — 30 秒) #
无需安装。访问 hoppscotch.io 即可立即开始发送请求。首次加载后,得益于 Service Worker 缓存,应用可离线工作。
方法 2:桌面应用 #
# macOS (Homebrew)
brew install --cask hoppscotch
# Windows (Winget)
winget install Hoppscotch.Hoppscotch
# Linux (Flatpak)
flatpak install flathub io.hoppscotch.Hoppscotch
方法 3:CLI 工具 #
# 安装前置依赖(Debian/Ubuntu)
sudo apt-get install -y python3 g++ build-essential
# 全局安装 CLI
npm i -g @hoppscotch/cli
# 验证安装
hopp --version
# 输出: 0.31.2
方法 4:Docker 自托管(生产环境) #
# 拉取 AIO 镜像
docker pull hoppscotch/hoppscotch:latest
# 创建环境文件
cat > .env << 'EOF'
# 数据库
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/hoppscotch
# JWT 密钥
JWT_SECRET=$(openssl rand -hex 32)
REFRESH_TOKEN_SECRET=$(openssl rand -hex 32)
# 基础 URL
REDIRECT_URL=http://localhost:3000
ADMIN_URL=http://localhost:3100
BACKEND_URL=http://localhost:3170
# 会话密钥
SESSION_SECRET=$(openssl rand -hex 32)
EOF
# 运行 AIO 容器
docker run -d \
-p 3000:3000 \
-p 3100:3100 \
-p 3170:3170 \
--env-file .env \
--restart unless-stopped \
--name hoppscotch \
hoppscotch/hoppscotch:latest
Docker Compose(生产环境推荐) #
# docker-compose.yml
version: "3.8"
services:
hoppscotch:
image: hoppscotch/hoppscotch:2026.4.1
container_name: hoppscotch-app
ports:
- "3000:3000" # 主应用
- "3100:3100" # 管理面板
- "3170:3170" # 后端 API
env_file: .env
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
networks:
- hoppscotch-net
postgres:
image: postgres:16-alpine
container_name: hoppscotch-db
environment:
POSTGRES_DB: hoppscotch
POSTGRES_USER: hoppscotch
POSTGRES_PASSWORD: ${DB_PASSWORD:-changeme}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U hoppscotch"]
interval: 10s
timeout: 5s
retries: 5
networks:
- hoppscotch-net
volumes:
postgres_data:
driver: local
networks:
hoppscotch-net:
driver: bridge
启动堆栈:
docker compose up -d
# 验证所有服务健康
docker compose ps
# 查看日志
docker compose logs -f hoppscotch
# 查看实时请求统计
docker compose logs -f hoppscotch | grep "Request processed"
AIO(All-In-One)容器将前端、后端和管理面板打包在一起,通过内部路由分发流量。这种方式最适合快速原型验证和小团队内部使用。对于生产环境,建议将三个服务拆分为独立容器,并配置 Nginx 反向代理和 SSL 证书。
对于准备在 VPS 上部署的团队,DigitalOcean 为新用户提供 $200 信用额度 —— 足以在 2 vCPU / 2 GB RAM 的 Droplet 上运行 Hoppscotch 实例数月。首次部署时选择 Ubuntu 22.04 LTS 镜像,安装 Docker 和 Docker Compose 后即可在 10 分钟内完成完整安装。
与流行工具集成 #
Hoppscotch 的生态系统围绕开放标准构建,支持与主流开发工具的无缝集成。CLI 工具 @hoppscotch/cli 是整个集成策略的核心,它支持 JSON 格式的 collection 导出、环境变量注入和多格式测试报告输出。
GitHub Actions CI/CD 流水线 #
将 Hoppscotch CLI 集成到 GitHub Actions 中,可以在每次代码推送或 Pull Request 时自动运行 API 测试。以下是完整的 workflow 配置示例,包含服务器启动等待、测试执行和结果上传三个核心步骤。
# .github/workflows/api-tests.yml
name: 使用 Hoppscotch CLI 进行 API 测试
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
api-test:
runs-on: ubuntu-latest
steps:
- name: 检出代码
uses: actions/checkout@v4
- name: 设置 Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: 安装 Hoppscotch CLI
run: npm i -g @hoppscotch/cli
- name: 验证 CLI 版本
run: hopp --version
- name: 启动测试服务器
run: |
npm run start:test &
npx wait-on http://localhost:8080 --timeout 30000
- name: 运行 API 集合测试
run: |
hopp test collections/api-tests.json \
-e environments/test.json \
--reporter-junit test-results.xml \
--delay 500
env:
API_BASE_URL: http://localhost:8080
- name: 上传测试结果
uses: actions/upload-artifact@v4
if: always()
with:
name: api-test-results
path: test-results.xml
Node.js 应用集成 #
// scripts/run-api-tests.js
const { execSync } = require("child_process");
const path = require("path");
const collectionPath = path.join(__dirname, "../collections");
const envPath = path.join(__dirname, "../environments");
function runTests(environment) {
const command = [
"hopp test",
`"${collectionPath}/core-apis.json"`,
`-e "${envPath}/${environment}.json"`,
"--reporter-junit",
`"reports/${environment}-results.xml"`,
].join(" ");
console.log(`正在对 ${environment} 运行测试...`);
execSync(command, { stdio: "inherit" });
}
// 在部署到生产环境前对 staging 运行
runTests("staging");
Vue.js 前端代理配置 #
在开发 Vue.js 前端应用时,通过 Vite 的代理配置将 /api 路径转发到 Hoppscotch 后端,可以避免跨域问题并简化本地开发流程。以下配置适用于 Vite + Vue 3 项目。
// vite.config.js
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
export default defineConfig({
plugins: [vue()],
server: {
proxy: {
"/api": {
target: process.env.API_BASE_URL || "http://localhost:3170",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""),
},
},
},
});
OAuth2 Token 刷新的前置脚本 #
// Hoppscotch 前置脚本
const token = pw.env.get("AUTH_TOKEN");
const expiry = pw.env.get("TOKEN_EXPIRY");
if (!token || Date.now() > Number(expiry)) {
const res = await pw.api.post("https://auth.example.com/oauth/token", {
body: JSON.stringify({
client_id: pw.env.get("CLIENT_ID"),
client_secret: pw.env.get("CLIENT_SECRET"),
grant_type: "client_credentials",
}),
headers: {
"Content-Type": "application/json",
},
});
const data = JSON.parse(res.body);
pw.env.set("AUTH_TOKEN", data.access_token);
pw.env.set("TOKEN_EXPIRY", String(Date.now() + data.expires_in * 1000));
}
// 将 token 应用到当前请求
pw.headers.set("Authorization", `Bearer ${pw.env.get("AUTH_TOKEN")}`);
响应后测试断言 #
// Hoppscotch 测试脚本
pw.test("状态码为 200", () => {
pw.expect(pw.response.status).toBe(200);
});
pw.test("响应具有正确的 Content-Type", () => {
pw.expect(pw.response.headers["content-type"]).toInclude("application/json");
});
pw.test("响应体包含用户 ID", () => {
const json = pw.response.json();
pw.expect(json).toHaveProperty("id");
pw.expect(json.id).toBeGreaterThan(0);
});
pw.test("响应时间可接受", () => {
pw.expect(pw.response.time).toBeLessThan(500);
});
基准测试 / 实际用例 #
性能对比 #
以下数据基于 2026 年 5 月在相同硬件环境(Intel i5-12400, 16GB RAM, SSD)下的实测结果。所有工具均为最新稳定版本。
| 指标 | Hoppscotch | Postman | Insomnia | Bruno |
|---|---|---|---|---|
| 冷启动 (Web) | < 1秒 | 8–12秒 | 4–6秒 | 2–3秒 |
| 桌面应用大小 | ~8 MB | ~180 MB | ~120 MB | ~45 MB |
| 内存占用 | ~40 MB | ~350 MB | ~200 MB | ~90 MB |
| 平台月请求量 | 5M+ | 1B+ (估计) | N/A | N/A |
| GitHub Stars | 79,200 | N/A (闭源) | 37,115 | 38,972 |
| 首次请求时间 | 5秒 | 15秒 | 10秒 | 8秒 |
实际采用模式 #
- 个人开发者 使用 Hoppscotch Web 版进行快速 API 探索,无需创建账户
- 5–20 人团队 在内部基础设施上自托管社区版
- API 优先的初创公司 通过共享链接将 Hoppscotch 集合嵌入文档
- CI/CD 流水线 在每个 pull request 上运行
hopp test以验证 API 契约 - 微服务团队 使用环境变量在 10+ 内部服务之间切换
通过 CLI 进行负载测试 #
# 使用并发设置运行集合
hopp test load-test-collection.json \
--iteration-count 100 \
--delay 100 \
--env production.json
# 导出 JSON 结果以供进一步分析
hopp test api-collection.json \
--reporter-json results.json
# 生成 JUnit XML 用于 Jenkins/GitLab 集成
hopp test api-collection.json \
--reporter-junit junit-report.xml
高级用法 / 生产环境加固 #
安全配置 #
# 生成加密安全的密钥
JWT_SECRET=$(openssl rand -hex 64)
REFRESH_TOKEN_SECRET=$(openssl rand -hex 64)
SESSION_SECRET=$(openssl rand -hex 64)
# 使用生产值更新 .env
cat >> .env << EOF
# 安全
JWT_SECRET=${JWT_SECRET}
REFRESH_TOKEN_SECRET=${REFRESH_TOKEN_SECRET}
SESSION_SECRET=${SESSION_SECRET}
TOKEN_SALT_COMPLEXITY=10
# 速率限制(如果在反向代理后)
RATE_LIMIT_TTL=60
RATE_LIMIT_MAX=100
# CORS(限制为你的域名)
ALLOWED_ORIGINS=https://api.yourcompany.com
EOF
使用 Nginx 反向代理 #
# /etc/nginx/sites-available/hoppscotch
server {
listen 443 ssl http2;
server_name api-tools.yourcompany.com;
ssl_certificate /etc/letsencrypt/live/yourcompany.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourcompany.com/privkey.pem;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 443 ssl http2;
server_name hoppscotch-admin.yourcompany.com;
ssl_certificate /etc/letsencrypt/live/yourcompany.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourcompany.com/privkey.pem;
location / {
proxy_pass http://localhost:3100;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
使用 Prometheus 监控 #
# docker-compose.monitoring.yml
version: "3.8"
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
ports:
- "9090:9090"
networks:
- hoppscotch-net
grafana:
image: grafana/grafana:latest
ports:
- "3001:3000"
volumes:
- grafana_data:/var/lib/grafana
networks:
- hoppscotch-net
volumes:
prometheus_data:
grafana_data:
networks:
hoppscotch-net:
external: true
数据库备份策略 #
#!/bin/bash
# backup-hoppscotch.sh - 通过 cron 每日运行
BACKUP_DIR="/backups/hoppscotch"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
DB_CONTAINER="hoppscotch-db"
DB_NAME="hoppscotch"
DB_USER="hoppscotch"
mkdir -p "${BACKUP_DIR}"
# PostgreSQL 转储
docker exec ${DB_CONTAINER} pg_dump \
-U ${DB_USER} \
-d ${DB_NAME} \
-F custom \
-f "/tmp/hoppscotch_${TIMESTAMP}.dump"
# 从容器复制到主机
docker cp "${DB_CONTAINER}:/tmp/hoppscotch_${TIMESTAMP}.dump" \
"${BACKUP_DIR}/hoppscotch_${TIMESTAMP}.dump"
# 压缩并加密
gzip "${BACKUP_DIR}/hoppscotch_${TIMESTAMP}.dump"
# 仅保留最近 14 天
find "${BACKUP_DIR}" -name "hoppscotch_*.dump.gz" -mtime +14 -delete
echo "备份完成: hoppscotch_${TIMESTAMP}.dump.gz"
与替代品对比 #
| 功能 | Hoppscotch | Postman | Insomnia | Bruno |
|---|---|---|---|---|
| 开源 | 是 (MIT) | 否 (专有) | 是 (Apache-2.0) | 是 (MIT) |
| 自托管 | 免费 (CE) | 仅企业版 | 仅云端 | N/A (本地) |
| Web 支持 | 是 (PWA) | 是 + 桌面 | 仅桌面 | 仅桌面 |
| REST 支持 | 是 | 是 | 是 | 是 |
| GraphQL 支持 | 是 (Schema Explorer) | 是 | 是 | 是 |
| WebSocket 支持 | 是 | 是 | 是 | 是 |
| gRPC 支持 | 计划中 | 是 | 是 | 是 |
| CI/CD CLI | 是 (hopp test) | Newman (付费) | 是 (inso) | 是 (bru) |
| Git 原生集合 | 否 (导出/导入) | 否 | 否 | 是 (原生设计) |
| 团队协作 | 工作区 + 实时 | 工作区 | 云同步 | Git + PR |
| 10 人团队价格 | $0 自托管 | $140–$490/月 | $80–$450/月 | $0 |
| 桌面应用大小 | ~8 MB | ~180 MB | ~120 MB | ~45 MB |
| 请求脚本 | JavaScript (pw 对象) | JavaScript | JavaScript | BrunoScript + JS |
| 离线能力 | 是 (PWA + 桌面) | 有限 | 是 | 是 |
| 集合导入 | Postman, OpenAPI, cURL | cURL, OpenAPI | Postman, OpenAPI | Postman, OpenAPI |
何时选择哪个工具 #
- 选择 Hoppscotch 当你需要快速、Web 优先的工具,支持实时协作、无需安装即可运行,并可免费自托管。适合重视可访问性和开源透明度的团队。
- 选择 Postman 当你需要企业级治理、高级 API 文档门户和成熟的集成市场。接受闭源模型和按席位定价。
- 选择 Insomnia 当你偏好桌面原生体验,具有出色的设计美感且不需要自托管。注意 Kong 的收购已将重点转向 Kong Mesh 集成。
- 选择 Bruno 当你的 API 集合是必须在 Git 中维护的源代码,需要通过 Pull Request 审核,并与应用代码一起版本控制。
局限性 / 诚实的评估 #
Hoppscotch 并非适用于所有场景。在迁移前请考虑以下因素:
- gRPC 支持不完整:与 Postman 和 Insomnia 不同,Hoppscotch 尚未提供完整的 gRPC-Web 调试功能。如果你的技术栈严重依赖 gRPC,请暂时使用 Postman 或 Insomnia。
- 无原生 Git 集成:集合存储在 PostgreSQL 中,而非平面文件。Bruno 在这方面表现突出 —— Hoppscotch 集合需要通过导出/导入来实现 Git 工作流。
- 企业 SSO 需要付费计划:基于 SAML 的单点登录和专属支持从 $19/用户/月起。社区版支持 OAuth 提供商(GitHub、Google、Microsoft),但不支持企业 SAML。
- 离线模式有限制:PWA 缓存资源,但集合数据需在线同步。长时间离线工作需要使用桌面应用。
- 插件生态较小:Postman 拥有数千个社区插件。Hoppscotch 的扩展生态正在增长但相对较小。
- 自托管有学习曲线:运行生产级 Docker 部署需要了解反向代理、SSL 证书和数据库管理。AIO 容器简化了这一过程,但面向公网的部署并非零配置。建议初次部署时参考官方文档的社区版安装指南,并在内网环境验证后再对外提供服务。
- 请求历史无长期存储:免费版的历史记录保留时间有限,需要定期导出重要的请求记录。对于合规性要求严格的行业,建议配合审计日志功能使用。
常见问题解答 #
Q1: Hoppscotch 可以免费商用吗? 可以。社区版采用 MIT 许可证,可无限免费用于商业用途。你可以在内部自托管而无需支付许可费用。云端版提供付费层级以获取更多存储和企业功能如 SAML SSO。
Q2: 我可以导入现有的 Postman 集合吗?
可以。Hoppscotch 支持导入 Postman 集合(v2.1 格式)、OpenAPI 规范(3.0+)和 cURL 命令。使用迁移 CLI 工具:npx @hoppscotch/migrate --from postman --file collection.json --output hoppscotch.json。
Q3: Hoppscotch 如何处理 localhost API 的 CORS 问题? 安装 Hoppscotch 浏览器扩展(支持 Chrome 和 Firefox)或配置内置代理服务器。在设置中将拦截模式从"代理"切换为"浏览器扩展",以绕过本地开发的 CORS 限制。
Q4: 自托管的最低服务器要求是什么? 社区版可在 1 vCPU、1 GB RAM 和 10 GB 存储的 VPS 上运行。对于 10+ 用户的团队,请分配 2 vCPU 和 2 GB RAM。PostgreSQL 14+ 是唯一的外部依赖。
Q5: CLI 是否足够稳定以用于生产 CI/CD 流水线? CLI(当前 v0.31.2)遵循 pre-1.0 语义化版本控制,并定期接收更新。它支持 JUnit 报告、CSV 数据迭代和环境变量注入。多个团队已在 GitHub Actions 和 GitLab CI 中成功运行。
Q6: 如何备份自托管的 Hoppscotch 数据?
使用 pg_dump 备份 PostgreSQL 数据库。设置每日 cron 作业导出数据库、压缩并复制到远程存储。JSON 格式的集合导出也可作为单个工作区的部分备份。
Q7: Hoppscotch 是否支持像 Postman 那样的实时协作? 支持。团队工作区支持带冲突解决的实时协作、活动审计日志和基于角色的访问控制。更改在浏览器和桌面会话之间即时同步。免费版支持最多 3 个工作区,付费版可解锁无限工作区和高级 SSO 集成。
Q8: Hoppscotch 桌面版和 Web 版数据如何同步? 登录同一账户后,集合、环境和历史记录会自动在 Web 版、桌面版和 PWA 之间同步。自托管实例的数据完全存储在你的服务器上,不会上传到任何第三方云服务。使用自托管版本时,确保数据库有定期备份策略。
Q9: Hoppscotch 支持哪些认证方式? Hoppscotch 内置支持 Basic Auth、Bearer Token、OAuth 2.0、API Key 和 Digest Auth 五种认证机制。对于企业场景,自托管版还支持通过 SMTP 配置邮件验证,以及集成 Microsoft Entra ID、Google Workspace 和 GitHub OAuth 进行单点登录。
结论 #
Hoppscotch 通过构建开发者真正想要的东西赢得了 79,200 个 GitHub Stars:一个快速、开源、Web 原生的 API 客户端,无需账户、不会回传数据,并可在五分钟内自托管。对于评估 hoppscotch vs postman 迁移的团队来说,MIT 许可证、Docker 部署和 CLI 驱动的 CI/CD 集成的组合使其成为一个引人注目的替代方案。从 Web 应用开始个人使用,通过 Docker 部署用于团队协作,并将 CLI 集成到你的流水线中以实现自动化 API 测试。
为什么选择 Hoppscotch 作为你的 api 测试工具?
综合来看,Hoppscotch 在五个关键维度上具有明显优势:启动速度(Web 版 < 1 秒)、资源占用(桌面版仅 8 MB)、部署灵活性(支持 Web/PWA/桌面/Docker 四种模式)、开源协议(MIT 最宽松)以及成本效益(自托管完全免费)。对于预算有限但功能需求不减少的中小团队来说,这是一个经过 79,200 Stars 社区验证的可靠选择。
下一步行动:
- 打开 hoppscotch.io 发送你的第一个请求
- 克隆仓库:
git clone https://github.com/hoppscotch/hoppscotch.git - 使用
docker compose up -d进行自托管部署 - 安装 CLI:
npm i -g @hoppscotch/cli
加入我们的 Telegram 群组 获取每周开源工具推荐和部署指南。
披露声明:本文包含 DigitalOcean 的联盟链接。如果你使用我们的链接注册,我们会获得佣金,而你无需支付额外费用。所有观点和基准测试均为独立进行。
推荐部署与基础设施 #
上述工具想要落地生产,靠谱的基础设施是前提。dibi8 自己也在用的两个选择:
- DigitalOcean — 新用户 60 天 $200 免费额度,14+ 全球节点。运行开源 AI 工具的首选。
- HTStack — 香港 VPS,国内访问低延迟,dibi8.com 自己也跑在它上面,生产环境验证过。
Aff 链接 — 不增加你的成本,但能帮 dibi8 持续运营。
💬 留言讨论