webman/ai 3.0发布,主要提供变现能力
现在购买赠送1个5刀的ApiKey
将支持以下功能
微信支付在需要webman/ai>=3.0.1
) 安装
管理后台和支付功能需要安装webman/admin,请在webman/admin中插件管理页面安装或升级。
会员功能需要在安装用户模块
支付功能需要安装 composer require yansongda/pay:~3.1.0
并重启
支付配置新建 plugin/ai/config/payment.php,参考payment.example.php
套餐设置在 plugin/ai/config/app.php
如果不需要管理后台、会员和支付功能,可以直接下载webman/ai压缩包,覆盖plugin/ai目录升级。
体验地址
https://bla.cn
购买地址
https://www.workerman.net/app/view/ai
样式预览
只有按月的吗,可以按提问次数来计费吗
可以包月,也可以购买次数的
先出按月的,按次数看需求,如果有很多人需要后面就加上去。
赞
外网服务器求推荐
webman/ai不需要外网服务器,本地就可部署
期待
问一下老大,官网AI的限流是用redis做的吗,限制IP,能不能简单说说
限流是用临时文件做的,为了要保持 webman/ai 无需安装解压即可使用,不会强制依赖redis存储
老大你居然限流了,赶紧把 平台的 ai也改成 按照次数付费吧,我觉得比较公平,用你就花钱。
已经加了付费功能,当天额度用完会提示
这个不错
希望能支持窗口模式,电脑屏幕大一点全屏左右列表看着很累
+1
好的
大佬,我购买了299,支付成功,回调,提示订单不存在。不知道咋联系
刷新试下
可以了。回调提示订单不存在。但是购买页,是可以下载的。
老大,有个需求,前台自己设置key的地方可以加个代理地址选填吗
同求
这个版本会加上
有新增反爬机制吗。
这个版本会加上
什么时候可以升级啊
过两天
大佬 什么时候支持 midjourney?
预计下一两个版本
老大,我这购买了怎么提示订单不存在?
直接到下载页下载
我的ai付费功能安装不成功,前端不出现v付费字样(后端已安装好用户模块,设置需要登录,免费限制系数为10)。
按上面要求输入支付安装命令 composer require yansongda/pay:~3.1.0 -vvv ,显示结果如下,请大佬看看问题在哪里?
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Reading ./composer.json (/root/webman/composer.json)
Loading config file ./composer.json (/root/webman/composer.json)
Checked CA file /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem: valid
Executing command (/root/webman): 'git' 'branch' '-a' '--no-color' '--no-abbrev' '-v'
Executing command (/root/webman): git describe --exact-match --tags
Executing command (CWD): git --version
Executing command (/root/webman): git log --pretty="%H" -n1 HEAD
Executing command (/root/webman): hg branch
Executing command (/root/webman): fossil branch list
Executing command (/root/webman): fossil tag list
Executing command (/root/webman): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json
Reading ./composer.lock (/root/webman/composer.lock)
Reading /root/webman/vendor/composer/installed.json
./composer.json has been updated
Reading ./composer.json (/root/webman/composer.json)
Loading config file ./composer.json (/root/webman/composer.json)
Executing command (/root/webman): 'git' 'branch' '-a' '--no-color' '--no-abbrev' '-v'
Executing command (/root/webman): git describe --exact-match --tags
Executing command (/root/webman): git log --pretty="%H" -n1 HEAD
Executing command (/root/webman): hg branch
Executing command (/root/webman): fossil branch list
Executing command (/root/webman): fossil tag list
Executing command (/root/webman): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /root/.config/composer/composer.json
Reading ./composer.lock (/root/webman/composer.lock)
Reading /root/webman/vendor/composer/installed.json
Running composer update yansongda/pay
Loading composer repositories with package information
Reading /root/.cache/composer/repo/https---repo.packagist.org/packages.json from cache
Downloading https://repo.packagist.org/packages.json if modified
[304] https://repo.packagist.org/packages.json
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-yansongda~pay.json from cache
Downloading https://repo.packagist.org/p2/yansongda/pay.json if modified
[304] https://repo.packagist.org/p2/yansongda/pay.json
Built pool.
Running pool optimizer.
Pool optimizer completed in 0.005 seconds
Found 96 package versions referenced in your dependency graph. 12 (13%) were optimized away.
Updating dependencies
Generating rules
Resolving dependencies through SAT
Looking at all rules.
Dependency resolution completed in 0.000 seconds
Analyzed 84 packages to resolve dependencies
Analyzed 97 rules to resolve dependencies
Nothing to modify in lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-psr~container.json from cache
Downloading https://repo.packagist.org/p2/psr/container.json if modified
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-psr~event-dispatcher.json from cache
Downloading https://repo.packagist.org/p2/psr/event-dispatcher.json if modified
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-psr~http-client.json from cache
Downloading https://repo.packagist.org/p2/psr/http-client.json if modified
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-psr~http-message.json from cache
Downloading https://repo.packagist.org/p2/psr/http-message.json if modified
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-psr~log.json from cache
Downloading https://repo.packagist.org/p2/psr/log.json if modified
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-yansongda~pay.json from cache
Reading /root/.cache/composer/repo/https---repo.packagist.org/provider-yansongda~supports.json from cache
Downloading https://repo.packagist.org/p2/yansongda/supports.json if modified
[304] https://repo.packagist.org/p2/psr/container.json
[304] https://repo.packagist.org/p2/psr/log.json
[304] https://repo.packagist.org/p2/psr/event-dispatcher.json
[304] https://repo.packagist.org/p2/yansongda/supports.json
[304] https://repo.packagist.org/p2/psr/http-client.json
[304] https://repo.packagist.org/p2/psr/http-message.json
No security vulnerability advisories found
看起来已经安装成功了,需要配置下plugin/ai/config/payment.php
左侧助手那些怎么去掉呢 默认不要通讯录可以么 默认通用的就可以了
手动改下代码吧,plugin/ai/app/view/index/index.html
改好了,那个开启登陆模式后,直接跳转到登录界面了,能不能改成可以发送消息 然后在消息框里面提示登录呢 大佬 指一条明路呗
那就不开启登录,然后在send接口里判断下是否登录
session('user') 为空就是未登录
你写的那个请登录 在哪里写的 看下格式呗
大佬 登录写出来了 是新界面打开的 怎么实现跟左侧列表点那个用户一样的跳转呢
你先不弄,等我改成你说的这种,到时候升级下就好了。大概这两天发一个小版本
好的大佬,admin后台安装的短信插件设置没法用是为啥呢
没看到有用户反馈不可用,如果你那不能用需要自己定位下
@walkor 是不是不需要国外服务器部署也可以用啦?
不需要国外服务器,本机或者国内服务器都能部署
是不是可以把自己的国外服务器ip直接填写在api_host里?
源码里带一个国内用的api_host地址
为啥我的user和ai页面上没有会员的相关信息与按钮啊?
会员要配置支付
老大提个建议哈,购买配置可以放到后台去做配置,这样不用改一次就重启一次
好的
感谢大佬,非常好用
有个小小建议,希望加入重新生成或导出聊天记录等这些功能,会更加锦上添花
后面会加
这个回调地址要填什么,必填-支付宝根证书 路径这个要填哪个
回调地址不填写,根证书参考上图
开发设置点接口加签方式 查看
嗯, 有了。 填的是路径,不是证书里面的内容吗,路径需要可以访问吗, 放public下,还是说可以放跟目录自建一个目录
路径,不放在public
base_path('/payment/alipayRootCert.crt'); 这样?
Yansongda\Pay\Exception\InvalidConfigException: Missing Alipay Config -- [app_public_cert_path] in D:\phpstudyPro\WWW\webman\webman\vendor\yansongda\pay\src\Plugin\Alipay\PreparePlugin.php:106
这个地址是这样填的,一直报这个路径错
'app_public_cert_path' => base_path().'/payment/appCertPublicKey.crt',
'app_public_cert_path' => base_path('/payment/appCertPublicKey.crt'),两种都一样,文件名是对的
改完配置reload下
good
代码有点看不清楚~~
UML图无法解析
用的markdonw-it,它本身好像不带UML解析
老大这俩证书长啥样啊
参考 https://www.workerman.net/app/view/ai 开启支付部分
是不是微信支付还有问题,都填写了 但是一直报错,也没有具体原因
/app/ai/order/wechat-qr?orderId='+orderId 这个请求
微信支付webman/ai 3.0.1才支持
看能不能兼容一下手机端 微信内打开和非微信内打开支付这种
后面会兼容
老大 我这做内部修改了 手动修改关于微信支付的部分 应该修改哪些文件 我要一升级全部给我覆盖了都
plugin/ai/app/controller/OrderController.php
plugin/ai/app/view/user/vip.html
支付成功 没反应 状态也没变
支付微信或者支付宝会调用你服务器,要保证服务器能被调用,所以不能在本地测试。
支付宝ip白名要把服务器ip写进去。
问题找到了 那个支付时间 你不能使用$paidAt = $ciphertext['success_time']; 格式不对 返回的时间是2023-08-23T17:08:53+08:00 这样的
测试可以啊
你的mysql版本高吧 InnoDB AUTO_INCREMENT=142 DEFAULT CHARSET=utf8mb4 COMMENT='ai订单';
paid_at
datetime DEFAULT NULL COMMENT '支付时间',我是的mysql版本5.7 之前看帖子那个sql是导入不进去的 我是转换之后才好的 我觉得data("Y-m-d H:i:s")最稳妥一些吧,毕竟我这里遇到这个问题了
好的,感谢反馈
我用的是mysql5.7,时间显示正常,但是没有显示支付方式,点编辑里也没有
你可以改一下代码 给他显示出来就行了 简单
@walkor 我难道没找到正确的app_secret_cert?它在哪里?
这个文件不是要放到服务器里么?
// 必填-应用私钥 字符串或路径
'app_secret_cert' => ''这个地方是要填写这个文件的内容么?
另外,老大,送我的两个key,第一个key没用500次就失效了,第二个key添加进去就直接提示「已作废」
:((((((((
稍等给你写个教程
太感谢了
https://www.workerman.net/a/1564
已支付和未支付的状态貌似倒过来了,上面查询已支付,显示的是未支付的, 编辑该状态未支付,显示却是已支付
嗯,状态弄反了,下个小版本修复下
老大 这里的图标是用的什么图标库 在哪里找
https://www.iconfont.cn/
老大 这种打算怎么用 选择哪个就是哪个对话吗
应用市场,比如有1000个角色,不可能都放在左边对话栏,那么就放市场里,需要的就安装
能不能做成点击某个直接进入聊天
这个什么时候发布
下周
对对, 加个收藏按钮,收藏的显示到对话栏,直接点进去的就不显示在左边
这么多功能,哪里下?:)
@walkor
我服务器是centos 8.4,安装支付扩展要求php7.4
我这服务器装不上php7.4呀,帮指导指导呗
workerman官方有提供静态php。
解压后就一个php可执行文件,启动时运行
./php start.php start -d
就行,绿色环保,不用搭建php环境是不是直接把它放到webman下就行?影响我这破服务器其它基于php的应用么?
放webman下就行,不影响其它php的应用
老大同步出个二进制打包版吧,很多人只是想部署一下,看你在评论教他们装 PHP ,太浪费时间精力了😂
二进制版本就只能聊天,没办法做支付会员这些了
也是
时间就是用来浪费的,就把折腾当作晒太阳咯。
大佬你好,我新手问个很蠢的问题,AI返回的数据
我想把其中的 "id":"chatcmpl-7sjUyJQP48s5Z3QKWfFgtU5GeKdAd" 改成我自己的固定字符串,然后发送给客户端,其他不变,这个需要怎么改
改这个没什么用吧。替换流程比较复杂,需要你熟悉http chunked
老大 升级的数据空能搞一份吗
还有如何改成点击某个分类直接进入聊天呢 ,如果是手机端的话 一出来是个列表 觉得不太方便,我把左侧列表隐藏了,想通过应用点击进行切换到聊天如何修改呢 老大
双击头像试下
好,双击可以的,就是这效果
你咋搞得花里胡哨了?咋搞的:)
都有啊 升级就有了啊
刚看到,可以升级了:)
角色创建有没有特别的要求?随便写吗
没有要求
问一下,有遇到升级之后偶尔可以回答,偶尔不能回答的吗?
api_host用的内置的,也用了自己搭建的,都试了,都是偶尔可以
webman重启后,可以正常回复2轮,然后就不能回复了,请求全是到60秒时返回失败,画图不受影响,作者解答一下?
没有人反馈过类似问题。有没有动过源码?发下测试地址
没动源码,就改了html代码,删除重装很多次了,都不行,我用手机测试也是只能前两次能回复,第三次就回复不了。地址:https://ai.jide.ink/
目前是用的https://proxy.jey.cn代理地址
安全组把8787端口打开,不经过nginx直接访问8787端口看下是否有问题
也不行,回答了几条后,返回了这个信息:connect proxy.jey.cn:443 fail after 132.312 seconds
感觉是你的服务器网络有点问题,连接代理服务器超时
应该是网络问题了
ping proxy.jey.cn
PING proxy.jey.cn (43.159.128.208) 56(84) bytes of data.
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=1 ttl=45 time=193 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=3 ttl=45 time=211 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=5 ttl=45 time=221 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=6 ttl=45 time=195 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=7 ttl=45 time=216 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=8 ttl=45 time=205 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=9 ttl=45 time=216 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=10 ttl=45 time=202 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=11 ttl=45 time=225 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=12 ttl=45 time=216 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=13 ttl=45 time=209 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=14 ttl=45 time=206 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=16 ttl=45 time=226 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=17 ttl=45 time=225 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=18 ttl=45 time=220 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=19 ttl=45 time=230 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=20 ttl=45 time=207 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=21 ttl=45 time=206 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=23 ttl=45 time=206 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=24 ttl=45 time=223 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=25 ttl=45 time=213 ms
64 bytes from 43.159.128.208 (43.159.128.208): icmp_seq=26 ttl=45 time=230 ms
^C
--- proxy.jey.cn ping statistics ---
26 packets transmitted, 22 received, 15.3846% packet loss, time 25179ms
rtt min/avg/max/mdev = 192.678/213.681/230.046/10.360 ms
问下这个效果,我要怎么修改这个js,能实现跟添加和删除角色一样的效果,页面图标直接变化
这是html
我用v-if="role.isfav===1"判断页面要手动刷新才会更新,但是用下面这个isFavourite是可以,但是会跟installed冲突, 我觉得是 !role.deleted这个的问题,要怎么重新再定义一个呢,重新定义的会直接没反应
installed(roleId) {
return this.installedRoles.find((role) => !role.deleted && role.roleId === roleId);
},
isFavourite(roleId) {
return this.installedRoles.find((role) => !role.deleted && role.roleId === roleId);
},
你参考你截图里上半部分代码的实现就好了啊,我没有你的代码,没办法给你调试。
installed(roleId) {
return this.installedRoles.find((role) => !role.deleted && role.roleId === roleId);
}, 按上面的修改,然后这个不知道要怎么写,role.deleted 原文件里没找到定义的,我想者加个role.isfav,但是按钮就不能用了
role.deleted 可以删掉,不用管
<div v-if="isFavourite(role.roleId)" title="已收藏" @click="unFavourite(role.roleId)" class="favourited">
isFavourite(roleId) {
return this.installedRoles.find((role) => role.roleId === roleId);
},
不加那个role.deleted,按钮点击图片没变化,但是数据库是更新了,刷新图标也不会变
Yansongda\Pay\Exception\InvalidConfigException: Parse [mch_public_cert_path] 对接支付微信一直提示路径错误但是路径我打开是可以获取到文件的,还有支付宝对接的是当面付功能吗?
微信的没遇到过。这有 https://www.workerman.net/a/1564 支付宝配置教程。
支付宝的我用电脑支付的 这个没开,我还以为是当面付
微信的我再看看
后台能直接更新吗
老哥我使用apt安装的php8.1-cli正常,但是使用官网提供的静态php8.1的时候,就ai就无法正常响应,提示:
stream_socket_client(): php_network_getaddresses: getaddrinfo for ai.fakeopen.com failed: Name does not resolve 的错误
静态版本:php-8.1.22-static-bin-x86_64.tar.gz
请问这是配置的问题么?