# intelink-智通 **Repository Path**: aifedcloud/intelink ## Basic Information - **Project Name**: intelink-智通 - **Description**: intelink-智通 - **Primary Language**: Rust - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-15 - **Last Updated**: 2026-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Intelink Intelink 是 Rust 编写的 AI API 网关,支持 OpenAI 兼容的 Chat Completions、无状态 Responses 和 Embeddings,包括流式响应、有限重试、模型路由、用户与密钥限额、内部积分计费及调用记录。 网关采用单实例 MySQL/MariaDB 存储,表结构在首次启动时由迁移自动创建。用户通过统一身份 JWT 管理自己的密钥,管理员通过独立的中文管理界面管理用户组、积分、用量与配置。只有启用的“管理员”组成员可以进入后台;默认同时提供“普通用户”组。示例模型价格为零,不涉及支付。 ## 本地运行 NixOS 可使用仓库提供的 direnv/devenv 配置,在仓库根目录运行: ```sh direnv allow devenv up ``` devenv 提供全部开发工具,启动 MariaDB、Prometheus(9091)和 Grafana(3001),并自动初始化数据库及业务账号 `intelink/intelink`,无需手动运行数据库初始化脚本或使用 sudo。数据库服务就绪后,在其他终端按下方命令构建、安装前端依赖、创建管理员,并手动启动 mock、网关和管理前端。数据库保存在 `.devenv/state/mysql`;`devenv down` 停止这些基础服务并保留数据。进入目录本身不会启动服务。 开发需要 Rust 1.98+、Node.js 24、pnpm 10、MariaDB 10.11+(或 MySQL 9+)、curl 和 jq,devenv 已提供这些工具。在仓库根目录运行: ```sh cargo build --locked --bins pnpm --dir ui/admin install --frozen-lockfile ``` 使用自行安装的系统数据库时,需要初始化数据库(建库、建业务账号 `intelink/intelink`,与配置默认值一致,脚本幂等可重复执行): ```sh # Windows(PowerShell,本机 MySQL root 有密码时) powershell -File scripts/init-mariadb-windows.ps1 -RootPassword # Linux(root 走 unix_socket 免密) sudo mysql -e "CREATE DATABASE IF NOT EXISTS intelink CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER IF NOT EXISTS 'intelink'@'localhost' IDENTIFIED BY 'intelink'; GRANT ALL PRIVILEGES ON intelink.* TO 'intelink'@'localhost';" ``` 提示:MySQL 9 默认开启 binlog,需先以 root 执行 `SET GLOBAL log_bin_trust_function_creators = 1;` 允许迁移创建触发器;MariaDB 无需此步。 创建管理员,密码通过标准输入传入: ```sh IFS= read -rs -p '管理员密码(至少 12 字节):' INTELINK_ADMIN_PASSWORD printf '%s' "$INTELINK_ADMIN_PASSWORD" | cargo run --bin intelink -- bootstrap-admin --username admin unset INTELINK_ADMIN_PASSWORD ``` 分别在三个终端启动: ```sh cargo run --bin intelink-mock cargo run --bin intelink pnpm --dir ui/admin dev ``` 访问 **http://localhost:3000**。API 位于 8080,测试身份与上游服务位于 9001,指标接口位于 **19090**。项目不使用 9090。 [开发指南](docs/development.md)包含创建密钥、调用模型、监控和检查命令。 ## 容器运行 ```sh export INTELINK_GIT_COMMIT=$(git rev-parse HEAD) docker compose up --build -d --wait IFS= read -rs -p '管理员密码(至少 12 字节):' INTELINK_ADMIN_PASSWORD printf '%s' "$INTELINK_ADMIN_PASSWORD" | docker compose exec -T gateway intelink --config /app/assets/config/compose.toml bootstrap-admin --username admin unset INTELINK_ADMIN_PASSWORD ``` Compose 是使用公开测试身份密钥与数据库口令(`intelink/intelink`)的演示环境,内含 MariaDB 10.11 服务。实际部署前请按[部署说明](docs/deployment.md)替换身份、上游与数据库配置,并配置 HTTPS。 ## 文档 - [架构](docs/architecture.md) - [配置与资源归属](docs/configuration.md)及[完整配置示例](assets/config/all-options.toml) - [API](docs/api.md)、[身份认证与用户组](docs/authentication.md) - [积分与用量结算](docs/accounting.md) - [开发与版本规则](docs/development.md)、[验证记录](docs/verification.md) - [部署与可观测性](docs/deployment.md) - [后续改进](docs/improvements.md)、[参考项目](docs/references.md) - [管理界面设计规范](DESIGN.md) `references/` 下是固定版本的参考子模块,按需执行 `git submodule update --init`。构建 Intelink 不需要构建参考项目。