one-api是一款OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用。new-api或者chat-api前端美化版都是基于one-api二开优化,开源代码下载后二开修改后如何编译,很多会员说出一期编译教程,这些系统都是基于GO语言开发的,开源代码修改后如何编译说实话我也一直没细细研究,总觉得docker安装更新也方便,一般没必要折腾,但问题来了想修改些细节之类的就难倒一层人,今天把整个系统编译了体验了下与大家一起分享。

目前有很多利用现在很多开源系统都需要在go环境,本地安装依赖总有各种各样问题,在服务器上安装go语言环境直接编译前后端调试更方便,原来安装过环境总是有问题,今天哈与大家分享下全新安装go环境过程,主要针对在宝塔下环境变量配置 在编译使用前先在服务器上安装GO语言环境 https://www.ttbobo.com/7633.html

所需要环境:go1.22.0 以上+mysql +redis

这里以安装go1.24.0后为例

一、# 构建前端(管理端)在子目录web-admin进入终端执行

20250609013922567
cd web-admin
npm install

这时候如果提示安装依赖有错误可以把npm install 换成执行下面换源命令会正常

npm install --registry=https://registry.npmmirror.com

执行完后打包

npm run build

打包稍等会会执行完成 /web-admin/build目录下文件即是刚才编译后的用户前端

二、# 构建前端(C端)在子目录web-user进入终端执行

20250609013958315
npm install

这时候如果提示安装依赖有错误可以把npm install 换成执行下面换源命令会正常

npm install --registry=https://registry.npmmirror.com

执行完后打包

npm run build

打包稍等会会执行完成 /web-user/build目录下文件即是刚才编译后的用户前端

方法与上面一致,区别在于不同目录下执行

三、# 构建后端(前提GO语言环境配置好)

go version 可查看下版本,如果提示打不到对应上方文章配置好环境

20250609014035420

回到根目录进入终端执行

go mod download
go build -ldflags "-s -w" -o chat-api

整个项目编译完成把build目录下文件弄出来相当于一个完整的编译版

20250609014135775

 

项目运行启动

chmod u+x chat-api
.env //设置环境变量 放在同一目录下
./chat-api --port 3006 --log-dir ./logs

如果是修改或者二开文件后对照上述步聚重编译

重启 Go 服务器  go run main.go

 

修改.env文件,添加下面的三个

有密码

REDIS_CONN_STRING="redis://default:pw@localhost:6379"

密码为空时
REDIS_CONN_STRING="redis://default@localhost:6379"
#配置mysql数据将会写到mysql中
SQL_DSN="chatapi:bBtfrLHARiPjbPHb@tcp(localhost:3306)/chatapi"

SYNC_FREQUENCY=60

线上启动方法:

编译后相当一个PM2项目,可以使用 pm2 启动

在项目目录生成启动文件 pm2 init simple,之后会生成 ecosystem.config.js 配置文件,修改为以下内容

module.exports = {
apps : [{
name : "chatapi",
script : "./chat-api --port 3006 --log-dir ./logs",
watch: true
}]
}

启动:pm2 start ecosystem.config.js

停止:pm2 stop ecosystem.config.js

这样整项目就正常跑起来了,哪里不顺眼可对照改哪里再重编译

20250609014852393

 

20250609015001905

服务声明: 本网站除正版商用版块可商用外,其他所有发布的源码、软件和资料均为作者提供或网友推荐收集各大资源网站整理而来,仅供功能验证和学习研究使用,您必须在下载后24小时内删除。不得使用于非法商业用途,不得违反国家法律,否则后果自负!一切关于该资源商业行为与本站无关。如果您喜欢该程序,请支持购买正版源码,得到更好的正版服务。如有侵犯你的版权合法权益,请邮件或QQ:3089659733与我们联系处理删除(邮箱:ynzsy@qq.com),本站将立即更正。