Hi, 大家好
我在做另一个产品Swiflow的,时候一直犹豫要不要做一个会员系统。我把 App 发给周围的朋友时,好多都问 Api Key 怎么获取,有时无奈只好把自己的 Key 直接发给对方。
犹豫再三,便决定接入一个会员系统,刚开始有去了解 one-api\newapi 这些,但这些更多的是 api 管理,而我期望的是像 Trae\Cursor 这样的封闭型系统,
在这个基础上于是就有了现在的《基于订阅和套餐的 LLM 会员管理系统》(llm-member),话不多说,上链接
演示地址: https://llm-member.fly.dev/
后台地址: https://llm-member.fly.dev/admin
账号密码:admin/admin123
Github: https://github.com/OptLTD/llm-member
附上 Readme, 欢迎大家吐槽拍砖
一个专为开发者和企业打造的 LLM 代理服务平台,提供完整的会员管理体系和灵活的模型接入管理。
面向用户:
面向管理:
解决什么问题?
您的用户只需要:
用户无需知道:
只要是适配 OpenAI 的接口,直接接入即可使用,无需任何修改:
// 标准 OpenAI 接口调用方式 fetch('/v1/chat/completions', { method: 'POST', headers: { 'Authorization': 'Bearer user_token', 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-3.5-turbo', messages: [{ role: 'user', content: '帮我写一份产品介绍' }] }) })
docker run -d \ --name llm-member-app \ -p 8080:8080 \ -v llm_storage:/app/storage \ -e APP_PORT=8080 \ -e APP_MODE=test \ -e ADMIN_USERNAME=admin \ -e ADMIN_PASSWORD=admin123 \ -e DEEPSEEK_API_KEY=sk-you-api-key \ optltd/llm-member:latest
完整配置参考.env.example
2.1. 在您的产品中集成 LLM Member 认证服务:
增加登录注册功能,用户可以通过 LLM Member 认证服务进行注册和登录。 Authorization Url: https://your-domain.com/authorization
2.2. 在您的产品中存储用户认证信息:
在 LLM Member 认证成功后,如果设置了Callback Url
,认证服务会将用户信息返回给您的产品。您需要在您的产品中存储这些信息,以便后续的 API 调用。
payload:
{ "token": "sk-xxxxxxxxxxxxxxxx", // 临时 token "sign": "sn-xxxxxxxxxxxxxxxxx", // 签名信息 "time": "2023-12-31T23:59:59Z" // current time }
2.2.1 Web Callback 设置: Web App Callback Url: https://your-web-app.com/auth-callback
实际回调请求为: https://your-web-app.com/auth-callback?token=sk-...&sign=...&time=...
2.2.2 Mobile App Callback 设置: Mobile App Callback Url: x-you-app://auth-callback
实际回调请求为: x-you-app://auth-callback?token=sk-...&sign=...&time=...
2.2.3 Desktop App Callback 设置: Mobile App Callback Url: x-you-app://auth-callback
实际回调请求为: x-you-app://auth-callback?token=sk-...&sign=...&time=...
2.2.4 通过token
获取用户信息: 获取用户信息接口:https://your-domain.com/v1/verify-token
const resp = fetch(`https://your-domain.com/v1/verify-token`, { method: 'GET', headers: { 'Authorization': 'Bearer ${token}', 'Content-Type': 'application/json' }, })
响应体:
{ "email": "[email protected]", "username": "User Name", "user_plan": "basic", "api_token": "sk-xxxxxxxxxxxxxxxx", "expire_at": "2023-12-31T23:59:59Z" }
2.3. 在您的产品中集成 LLM Member 服务:
2.3.1 请求大模型: Base Url:https://your-domain.com/v1
实例请求:
// 标准 OpenAI 接口调用方式 fetch(`${baseURL}/chat/completions`, { method: 'POST', headers: { 'Authorization': `Bearer ${api_token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'gpt-3.5-turbo', messages: [{ role: 'user', content: '帮我写一份产品介绍' }] }) })
2.3.2 获取用户信息: 获取用户信息接口:https://your-domain.com/v1/user-profile
const resp = fetch(`https://your-domain.com/v1/user-profile`, { method: 'GET', headers: { 'Authorization': `Bearer ${api_token}`, 'Content-Type': 'application/json' }, })
响应体:
{ "email": "[email protected]", "username": "User Name", "user_plan": "basic", "expire_at": "2023-12-31T23:59:59Z" }
2.3.3 获取使用统计信息: 获取用户信息接口:https://your-domain.com/api/usage
cosnt resp = fetch(`https://your-domain.com/api/usage`, { method: 'GET', headers: { 'Authorization': 'Bearer user_token', 'Content-Type': 'application/json' }, })
响应体:
{ "email": "[email protected]", "username": "User Name", "user_plan": "basic", "expire_at": "2023-12-31T23:59:59Z" }
用户访问您的产品时:
让 AI 能力触手可及,让您专注于核心业务价值创造。
![]() | 1 chnwine OP 这个好像更完善: https://v2ex.com/t/1021608 |
2 tangxiangpi325 51 天前 via Android 支持 stripe 支付么 |
![]() | 3 chnwine OP @tangxiangpi325 我可以给你加上,抖抖手的事儿 |
4 tangxiangpi325 51 天前 @chnwine 刚才试用了下,支付按钮是灰色的,现在集成的是啥支付? |
![]() | 5 chnwine OP @tangxiangpi325 支付宝、微信相关的代码是加进去了,但我还在申请相关的账号,约等于验证过的都还没有。非 release 模式,有一个 mock 支付可验证下流程是否符合自己的业务 |
![]() | 6 flavoury 50 天前 楼主,这玩意你写了多久啊 |