作者: crawlpw

  • 苹果开发者账户被封原因汇总及应对方案

    苹果开发者账户被封原因汇总及应对方案

    苹果个人开发者账号现在需求很大,但由于企业签的掉签频率越来越高,超级签系统也越来越普及,超级签系统从原理上来说,是不存在掉签问题的。只会出现超级签上的个人开发者账号被封禁,从而导致账号上的 APP 下架。 

    2020年以来,苹果审核严格的问题依旧没有缓解,而近期很多iOS开发者账号提交ipa上架审核时,会遇到直接被苹果返回账号被调查的信息,且没有具体APP原因。

    以下为帐户被调查的邮件译文:

    你好
    我们无法继续此应用的审核,因为您的Apple开发者计划帐户目前正在接受调查,因为其未遵循App Store审核指南的“开发人员行为准则”。

    可能导致调查的常见做法包括但不限于:

    1、 不准确地描述应用程序或服务

    2、误导性应用内容

    3、参与不真实的评级和评论操作

    4、提供误导性的客户支持响应

    5、在解决方案中心提供误导性回复

    6、从事误导性采购或诱饵开关计划

    7、在应用内部或外部参与其他不诚实或欺诈活动

    在我们的调查过程中,我们不会审核您提交的任何应用。 完成调查后,我们将通过解决方案中心通知您。

    我们目前不要求您提供任何其他信息,也不会分享任何其他详细信息。 我们感您在调查期间继续保持耐心。

    最好的祝福

    近期对此也进行了相关的调查,并整理了一些大家比较关心的问题,罗列了以下几点情况:
    1、为什么会账号会调查?

    答:可能提交的APP是代码相似,市场上有很多类似App,认为马甲包,或者APP本身有违规,也是因为苹果机器审核越来越严格的原因,比较容易触发!

    2、账号调查了会持续多久?

    答:时间不确定,被调查多数在一个月内出结果,也有几个月的。如果调查没问题,也可能直接给通过APP审核

    3、账号被调查了怎么办?

    答:调查期间,不要操作,申诉和加急都无效,只能等待出结果。在被调查阶段,无论如何提交都是统一回复的,回复你账号被调查,一直到出现2个结果,账号调查才结束。

    1)直接过审;

    2)被拒绝,有明确拒绝条款;

    4.一个App被调查了,会影响同账号下的其他App吗?

    答:被调查邮件里虽然说不会审核,但是其实是针对这一个App的,其他 App 项目还是可以提交正常审核了。同一个APP就不要换账号,或者删除再重新提交审核了,等调查结束在操作,调查完可能直接给通过。

    5.把被调查的App转移到另一个开发者账号重新提交,会有问题吗?

    答:因为是针对App的调查,所以转移App大概率无效,并且可能会被判定重复提交。另外,不建议把正在审核的App删除,很有可能被苹果认为是恶意隐瞒,直接导致封号。

    6.此次调查是机审还是人审?

    答:基本确定是机审,且是查重审核。因为从整个事件来看,是在清理灰色地带的应用。可能你的各个App的功能完全不同,但很多基础功能都是复用统一代码模块,这样确实会节省很多成本,但现在看很大概率会被误判为重复应用。

    7. 正常通过调查之后,App会有啥影响,会被列为重点审核对象吗?

    答:目前来看没啥影响,甚至可能已被标记为安全对象,审核异常顺利。

    通过以上几点,有上架需求的小伙伴可以根据自己的情况做一些相应的调整,避免一些不必要的麻烦。

    今天就为大家解答一下,个人开发者账号被封禁的原因和解决方案,希望给大家在今后的App Store上架提供一些帮助。

    几个账号被封禁的主要原因,请作为参考哦~

    1.以同一身份申请多个账户

    由于现在的开发者账号被大量滥用,苹果的审核越来越严格,申请一个开发者账号已经不那么容易了,很多开发者会去淘宝购买,但淘宝的产品良莠不齐,很大一部分账号因为一个人的信息可能会申请注册多个账户,所以这些账户中有一个人因为违规操作被苹果屏蔽后,很有可能会连带屏蔽使用这个人的信息注册的其他账户。即使你是开发者账户,直接屏蔽也没错。所以,如果你手上的账号是从淘宝上购买的,很可能会被无故屏蔽。没什么好惊讶的。恭喜你,账号被罚诛九族了。

    2.上架的APP与苹果的自有APP存在竞争关系

    同行见面,让人眼红。你的APP在苹果商场和苹果软件竞争,抢别人的工作,苹果一定会给你添麻烦的,毕竟大家都知道苹果那么不讲理。

    3.应用涉嫌违规内容

    苹果的检测机制是有名而严格的,所以据说一旦发现某个账号发布了违规的APP,一定会采取相关措施。其中,最直接的方法是大家要严格规范自己账号发布的APP。企业账号必须小心签署来历不明的APP,避免因违规被苹果屏蔽,真的很吃亏。

    4.产品存在重大bug或安全漏洞

    苹果非常重视安全问题,这是众所周知的。如果你的账户发布的APP有严重的错误,并且长时间没有解决,或者有重大的安全问题的话,有很大的概率会被屏蔽。

    5.企业账号签署的APP过多

    现在有很多开发者持有企业开发者账号,用一个账户做企业签名,结果,这个账户签了成千上万个APP。这么大的数据,苹果一定会检测到。如果苹果注意到你,恭喜你。 你离被屏蔽不远了。如果还有其他账号问题,可以通过百度“一休苹果企业签名”在线提问,高效快捷。

    本人作为从业人员,在刚从业的时候也出现过因为重大bug导致应用下架的情况,所以各位同学上线app的时候,一定要做好测试。还是那句话应用平稳的运营才是王道。 

    ①下面汇总一些平时在操作账号时可能存在的一些问题

     提包被封 (检查出违规) 或者被调查  

    制作账号时候的 VS 卡被检测出关联了,还有就是 mac 地址被调查了,然后就是制作的手机号被标记,这种都会导致个人账号被调查,被封号! 

     账号的 IP 地址被关联,苹果自从 19 年 6 月份开始就积极的开展双重认证操作,此操作会记录你登录账号的 ip,如果同一个 ip 登录账号过多,会被标记

     mac 地址和手机号,同一个手机号如果绑定超过 5 个及以上的账号会有一定的风险,同一台电脑也是,如果同一个手机号和同一台电脑如果上传违规的 app,或者 app 被下架也会被标记 

     再就是超级签名机制, 如果一个账号的 hoc 满了 100 后,还不断的调用写入 udid 接口的话,会触发苹果的检测机制 

     ②针对以上问题,我们在操作账户是应该注意以下几点:

     更换 IP 地址也就是常用的 vpn 

     更换 mac 地址,也就是常见的虚拟机 

    买号请用一卡一号的,别使用黑卡,也就是常见的黑号  

    还有 vs 卡要多注意,自己申请的时候,一个 vs 卡最好不要超过 8 个账号(现在多用支付宝来购买会员,注意同一支付宝账号不要重复多次去申请)  

    如何防止苹果企业开发者账号被封禁?

    1.请不要向APP广场公开企业签名后的APP。苹果开发该机制的初衷是为了方便企业内部测试,而不是防止上架App Store的APP公开或公开 使用企业帐户签名的APP只能用于安装企业内部员工,不能公开下载。

    2 .不公开APP的安装链接,只在企业内部安装使用。企业签名后的APP在安装时会泄露企业开发者账号的相关信息,被别有用心的人发现的话很有可能会被举报,如果无论如何都想公开APP的安装链接,请记住设置下载密码;

    3 .请勿随意导入和导出p12证书文件和配置文件,最好换成负责人专用机。频繁地导入导出会被判断为机械操作或批量操作,有可能引起苹果的注意。

    4 .自己的开发者账号绝对不能外借。开发者账户只能用于个人,不能出借或转售。如果出借被苹果发现,这也不符合苹果的规则,可能会屏蔽账号。

    5 .请勿将p12证书文件和配置文件上载到第三方打包平台。存在信息泄露风险的同时,还可能会被他人窃取证书,导致不必要的损失。

    6 .测试最好在企业内网进行。如果需要连接到互联网,请注意不要让网络环境发生太大变化。否则,网络环境太差也可能引起苹果的检查。

    7 .使用苹果企业开发者账号时尽量不要签署此类违规,因为苹果可以检测到违规类型的APP。否则,如果被发现就封禁企业开发者账号,得不偿失。以上是使用苹果企业开发者账号时的小技巧。

    总而言之,最重要的是苹果个人开发者账号的来源一定要正规,其次就是一些操作细节上的问题了,都是比较容易避免的

  • 元宇宙/数字孪生数据集

    元宇宙/数字孪生数据集

    地图:

    • 天地图:国家基础地理信息中心提供的地图API
    • 河北天地图:天地图河北站
    • OSM:Open Street Map
    • gscloud:地理空间数据云,提供不同精度的DEM数据,中科院提供
    • srtm:全球90m分辨率DEM数据
    • REMA:8m分辨率DEM数据,美国明尼苏达大学和俄亥俄州立大学发布
    • AW3D30:日本太空发展署提供的DEM数据,2.5~5m分辨率收费,30m分辨率免费
    • ASTER:30m分辨率GDEM数据,日本提供
    • locaSpace:中科图新地图网站,集成多种在线地图资源,包括百度地图、影像、标注;天地图地图、影像、标注、影像、标注等
    • usgs:美国地质调查局网站,提供全美地形图下载。

    纹理:

    SVG:

    3D模型:

    地下数据:

    • MGS:明尼苏达大学的地探数据集

    模型库:

    • maximo:游戏角色模型库

    BIM模型:

    规范& 文档:

    AI模型库:

    AI平台:

    ML框架:

    • Ivy:支持JAX、Tensorflow、pytorch等

    仿真:

    • Mesa:基于代理的仿真建模,python
    • Sumo:微观交通仿真,python
    • Moose:面向对象的多物理场仿真环境,C++
  • 元宇宙/数字孪生工具链

    元宇宙/数字孪生工具链

    AIGC/Gen-AI:

    3D模型:

    Unreal:

    元宇宙开发栈:

    Blender:

    3D场景编辑器:

    3d Avatar:

    激光雷达/LiDAR:

    • LASTools:高效的激光雷达数据处理开源工具集
    • Potree:支持海量数据的Web LiDAR查看软件
    • Potree Converter:与Potree配套使用的LiDAR数据转换器
    • OpenTOFLidar:低成本开源激光雷达
    • PCL:最流行的开源点云处理库
    • Open3D:用于三维数据处理的库,Intel开源
    • OpenSceneGraph:开源的高性能OpenGL开发库,C++
    • osgjs:OpenSceneGraph的js移植,目前不再维护

    引擎/内核:

    AI/深度学习:

    • NeRF:神经辐射场,2D转3D,基于tensorflow

    建模软件:

    • Dust3D:从零开始实现一个3D建模软件
    • OpenSCAD:程序化CSG建模软件
    • CadQuery:基于Open Cascade开发的Python参数化建模工具
    • GemPy:开源的三维地质建模软件
    • Node-occ:Open Cascade Node.js扩展
    • Three.js Editor:在线3D编辑器
    • QCAD: 开源的2D CAD
    • LibreCAD: 开源的2D CAD
    • JS.Sketcher:参数化建模工具,JS实现,支持2D、3D
    • JSModeler:3D建模应用开发框架,支持3D模型的创建和查看
    • PyPRT:CityEngine Python SDK
    • cadquery:parametric 3d cad建模
    • cqparts:基于cadquery的参数化组件开发库
    • webglstudio:基于webgl的3d编辑套件,js开发
    • BlenderBIM:Blender的BIM插件
    • AobaAPI:3D多边形建模开发包,C++
    • SolveSpace:免费的3d参数化建模工具
    • three.cad:基于three.js的cad建模工具,基于SolveSpace求解器
    • geosolver:几何约束求解器,Python包
    • planegcs:FreeCAD的几何约束求解器,C++
    • libfive:实体建模内核,开源,github
    • brl-cad:实体建模内核,开源,github
    • brep.ts:BREP表示库,typescript
    • geos:二维矢量几何引擎,C++
    • nodi:节点式程序化建模软件,Web
    • cad-sketcher:Blender 2d草图插件,支持几何约束求解
    • MeshEditor:一个简单的网格编辑器,c++
    • Timerliner:时间线编辑器,javascript
    • PipeCAD:工厂管道建模CAD
    • epanetjs:供水管网开源建模软件,javascript
    • 3dcitybb:3d城市组件库

    程序化建模:

    三维重建:

    • COLMAP:通用的SfM和MVS管线,包含图形界面和命令行
    • NeRF原始代码:tensorflow实现
    • Meshroom:基于AliceVision摄影测量框架的三维重建软件,开源
    • MicMac:摄影测量套件,开源
    • insight3d:基于图像的3维建模软件,开源
    • TeleSculptor:跨平台摄影测量软件,开源
    • OpenSfM:运动恢复结构(SfM)Python库,开源
    • OpenMVS:多视角立体重建库,C++,开源
    • AliceVision:摄影测量学计算机视觉框架,开源
    • Nerfstudio:Nerf三维重建套件,支持多种算法,开源

    生成式AI:

    纹理处理:

    2D/3D渲染:

    分析计算:

    • Gmsh:有限元Mesh生成器
    • getfem:开源的有限元分析软件
    • Netgen/NGSolve:高性能多物理场有限元软件
    • Salome Meca:超级强大的免费有限元软件
    • BriefFiniteElement.NET:C#实现的固体和结构有限元分析库
    • Calculix:免费的三维结构有限元软件
    • FreeFEM:可扩展的多物理场有限元软件
    • Kriging.js:克里金插值JS实现
    • Delaunator.js:2D点集Delanator三角网计算JS库
    • turf.js:地理空间分析库,支持浏览器和node.js
    • c-through:基于arcgis js api的交互式城市规划原型系统
    • Open3D:3D数据处理库,支持点云、体素、网格生成等
    • PyMesh:Python几何体处理库,支持.obj、.stl等格式
    • MeshLab:开源的3D网格编辑、清理、渲染、转换工具
    • MeshKit:3D网格生成算法库,C++
    • libigl:轻量的计算几何库,C++,提供Python绑定
    • CGAL:经典的计算几何算法库,C++
    • cgaljs:cgal库的javascript移植版本
    • openmesh:高效的3d mesh算法库
    • PyMesh:几何处理原型平台
    • Martini:快速TIN生成,mapbox开源
    • PyMartini:Martini的python移植版,Cython开发,比原始版本快
    • vcglib:高效的网格处理库,c++开发
    • THREE.terrain:程序化地形生成器,基于three.js实现
    • MeshLabJS:基于vcglib开发的mesh处理库,使用three.js渲染
    • geometry-processing-js:卡内基梅隆大学开发的几何处理算法库
    • trimesh:三角面片处理Python库
    • TrimeshJS:三角面片模型处理算法库,Javascript开发
    • Polygon Mesh Processing Library:多边形面片网格处理算法库,C++开发
    • glm:OpenGL数学计算库,C++
    • math.js:javascript数学计算库,支持nodejs
    • prims:WebGL 3D基础图元库,javascript实现
    • acme:一个小型的3d几何计算库,C++实现
    • geogram:计算几何库,C++
    • three-csg-ts:基于three.js的CSG建模实现
    • csg.js:javascript csg实现
    • z3 solver:超强的SMT求解器,微软提供
    • earcut:最快的多边形三角化库,javascript实现
    • libtess.js:鲁棒的多边形三角化库,javascript实现
    • Google OR Tools:Google优化求解器
    • PyMCubes:Marching Cubes算法Python实现
    • Mathfu:适用于游戏的C++数学库,google提供
    • euclid:几何数学库,Java开发
    • rigging.js:将人脸关键点映射到骨骼运动,基于tensorflow和three.js
    • cga.js:javascript实现的计算几何算法库
    • three-geo:快速生成3d地形,基于three.js
    • OpenSubdiv:细分曲面算法库
    • verb:开源的跨平台nurbs算法库,支持C、C#、Python、PHP和javascript
    • rig-net:骨骼自动绑定深度网络
    • brignet:blender骨骼自动绑定插件
    • opentype.js:TrueType和OpenType字体解析器,javascript
    • mda.js:网格半边结构及算法实现,javascript
    • threejs-offset:网格offset计算
    • geometry-extrude:一个简单的挤压计算库,javascript
    • pmp-library:多边形网格处理库,C++
    • lightbaking:three.js的光照贴图烘焙实现
    • scikit-geometry:scikit几何算法包,基于CGAL
    • nurbs.js:nurbs曲线/曲面 js实现
    • meshfix:网格修复工具,c++

    模型轻量化:

    调试工具:

    文件格式转换:

    3D Tiles:

    Quantized Mesh:

    动画:

    • three.ik:three.js IK实现,使用FABRIK迭代求解器和球关节约束器
    • robot-gui:基于IK的机械臂演示

    数据发生器:

    • CPCG:Cesium点云数据生成器

    CNC/3D打印:

    • PrusaSlicer:开源的3D模型切片工具
    • Maker.js:  数控机床绘图JS库
    • Slic3r:G-code生成器,C++
    • Cura:3D打印机切片软件,开源

    GIS:

    AR/VR:
    – A-FRAME:3D/AR/VR开发框架

    机器学习/深度学习:

    • raster-vision:卫片和航片深度学习开源框架,支持倾斜摄影
    • DeepCAD:CAD模型深度生成网络

    Revit:

    数字孪生:

    仿真:

  • 分享个宝塔面板国际版aaPanel,免手机号登录

    分享个宝塔面板国际版aaPanel,免手机号登录

    正文:

    很多人都知道宝塔面板,但不知道宝塔面板还有英文版,宝塔面板英文版不是单纯的宝塔面板的翻译,而是根据老外的使用习惯及国外的网络环境做了一定的优化,比如:去掉了手机号验证、去掉了国内网盘的存储、镜像下载国外加速。 我已经用了很久了,感觉宝塔面板英文版是中文的精简、简洁版,功能方面与中文宝塔面板无疑。

    aaPanel官网:https://www.aapanel.com/new/index.html

    aaPanel安装脚本:

    Centos:

    yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanel

    Ubuntu/Deepin:

    wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && sudo bash install.sh aapanel

    Debian:

    wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh aapanel

    官方社区:https://forum.aapanel.com/

  • 迅排设计-一款漂亮且功能强大的在线海报设计器

    迅排设计-一款漂亮且功能强大的在线海报设计器

    一款漂亮易用且功能强大的创意图片编辑器,对标稿定设计、创客贴、Canva 等商业产品。

    适用于多种场景:海报图片生成、电商分享图、文章长图、视频/公众号封面等,无需下载软件即可轻松实现云端编辑、迅速完成图文排版。

    特点

    • 丝滑的页面操作体验,丰富的交互细节,基础功能完善
    • 采用服务端生成图片,确保多端出图统一性,支持各种 HTML5 特性
    • 简易 AI 抠图工具,上传图片一键去除背景
    • 技术栈:Vue3 、Vite5 、Pinia 、ElementPlus
    • 图片生成:Puppeteer、Express

    支持功能

    • 导入 PSD 文件解析成模板、在线导出图片下载。
    • 元素拖拽、组合、缩放、层级调整、对齐等操作。
    • 图片素材插入、替换、裁剪,图片容器等功能。
    • SVG 素材颜色、透明度编辑,文字花字组合。
    • 画布自定义尺寸、滚轮缩放、自适应画布
    • 吸附对齐、辅助引导线、标尺功能。
    • 键盘快捷键、右键菜单快捷操作,复制删除等常用操作。
    • 风格二维码编辑,支持单色、渐变、自定义 logo 等。
    • 图层操作,支持拖拽变更层级。
    • 颜色调色板,原生级取色器颜色吸管(Chrome)。

    快速开始

    git clone https://github.com/palxiao/poster-design.git
    cd poster-design
    npm run prepared
    npm run dev
    cd screreenshot
    npm run dev
    

    访问 http://127.0.0.1:5173/ 查看网页。点此查看更多说明文档。

    图片生成服务

    代码位于根目录 /screenshot,接口API文档点此查看:接口 API 文档。

    服务端

    后端需要自己开发,目前本项目演示 Demo 中的后端接口参考:接口 API 文档。

    其它

    一些问题修改与记录点击这里查看,项目持续迭代中,还有很多不足,可以将你遇到的问题在 Issues 中提出,或者提交 Pull Request 帮助完善。

    项目开源:https://github.com/palxiao/poster-design

  • 免费开源的AI系统,chatgpt web, midjourney, gpts,tts, whisper 一套ui全搞定

    免费开源的AI系统,chatgpt web, midjourney, gpts,tts, whisper 一套ui全搞定

    在当今快速发展的人工智能时代,整合各种先进AI技术的需求日增长。面对这一挑战,“ChatGPT-Web-Midjourney-Proxy”项目应运而生,为开发者和AI爱好提供了一个全面、便捷的解决方案。这个项目通过一个清晰友好的用户界面,将ChatGPT、Midjourney、GPTs、TTS和Whisper等多种AI技术合在一起,不仅优化了使用体验,还大大提高了工作效率。

    “ChatGPT-Web-Midjourney-Proxy是一个开源项目遵循MIT许可协议,意味着任何都可以自由地使用、修改和分发它。无论你是一个求提高生产力的开发者,还一个对人工智充满好奇的爱好者,这项目都能为你提供巨大帮助。

    ChatGPT和Midjourney作为两个备受瞩目的AI产品,为用户提供了强大的语言处理和对话交互能力。然而,对于那些经常使用这两个产品的用户来说,分别访问它们可能会带来一些不便。幸运的是,有一个开源项目——ChatGPT-Web-Midjourney-Proxy,将它们整合在一起,为用户带来了全新的体验。

    ChatGPT-Web-Midjourney-Proxy项目的目标是为用户提供一套完整的UI界面,集成了ChatGPT、Midjourney以及其他相关技术,以便更方便地使用这些强大的AI工具。通过这个项目,用户可以在一个统一的界面中访问和操作ChatGPT和Midjourney,无需来回切换和重新登录。这不仅节省了时间和精力,还提升了用户的工作效率和体验。

    ChatGPT-Web-Midjourney-Proxy项目的优势不仅仅在于整合了两个强大的AI产品,还在于它为用户提供了更多的灵活性和个性化定制选项。用户可以根据自己的需求和偏好,调整界面布局、设置快捷键、定制主题等。这样,用户可以根据自己的工作流程和喜好,打造一个完全符合自己需求的AI工具。

    无论是开发者、研究人员还是普通用户,ChatGPT-Web-Midjourney-Proxy都能为你带来更便捷、高效的AI体验。同时你可以使用API平台生成令牌,实现AI对话与Midjourney绘画服务,只需要在设置-服务端填写聚合API地址和生成的令牌即可,并且支持全模型和GPTs。它不仅仅是一个工具,更是一个连接人与AI的桥梁,让你能够更好地利用AI的无限潜力。让我们一起探索ChatGPT-Web-Midjourney-Proxy的魅力,释放AI的无限潜力,提升你的工作效率和创造力!如果你不会搭建可以联系我们进行有偿服务,更有图标定制、个性化对接地址等定制服务。

    支持功能:

    docker 部署

    https://github.com/Dooy/chatgpt-web-midjourney-proxy

    演示站:https://vercel.ddaiai.com/#/chat/1002

    您也可以直接使用聚合API提供的地址:https://web.lconai.com/ https://vercel.ddaiai.com/ 进行体验。

    项目地址:https://github.com/Dooy/chatgpt-web-midjourney-proxy

  • NineAI人工智能商业付费ChatGPT创作整合系统2.4.2源码下载

    NineAI人工智能商业付费ChatGPT创作整合系统2.4.2源码下载

    NineAI支持ChatGPT3.5+ChatGPT4.0提问+ai绘画模型(包括Midjourney绘画、ChatGPT3.5key绘画等)+Prompt面具角色预设功能+会员分销功能+KEY池管理+AI绘画广场+支付方式(微信支付、易支付、码支付、虎皮椒支付)+多种存储(腾讯云、阿里云、chevereto图床)等模块,源码内包含了未编译的开源源码以及一个整合后的便捷使用包。自行根据自己的需求使用。

    整合版部署教程

    教程使用宝塔面板

    1、宝塔面板软件商店安装Node.js版本管理器

    2、Node.js版本管理器中安装Node v16以上版本

    3、安装后在Node.js版本管理器中的模块中 搜索安装 pnpm 模块

    4、把整合包源码上传并解压到服务器任意目录

    5、修改根目录文件 .env 中的数据库和Redis信息,填写为你自己的

    6、在宝塔根目录菜单栏中(也就是有.env的目录)点击 终端

    7、在终端中输入并运行 pnpm install

    8、如果一切正常没有报错,继续在终端输入运行 pnpm start 启动程序,如果你的配置文件填错了可以使用pm2 stop pm2.conf.json停止并更改后重新pnpm start启动

    9、访问你的http://你的ip:9520 访问你的NineAI

    10、通过新建一个网站反向代理http://localhost:9520 绑定域名(看个人需求)

    11、整合包的用户信息

    • 管理端地址:/admin
    • 普通管理员账号:admin
    • 超级管理员账号:super
    • 密码:123456

    12、其他的一些pm2指令

    • pm2 install 安装
    • pnpm start
    • pm2 start
    • pm2 restart all 重启所有
    • pm2 log 查看日志
    • pm2 del 0 删除代码为0的程序

    编译安装教程

    1-3步与上面的整合版本相同步骤

    4、在service(后端服务)目录修改.env数据库信息,然后运行终端命令:pnpm install 安装依赖文件,再运行:pnpm dev 调试并导入数据库,最后使用终端命令:pnpm build 编译打包,最后就能得到与上面整合版一样的文件。

    5、chat(用户前端)和admin(管理员后端)仅需修改各种目录.env中的后端接口即可,然后分别在终端中执行pnpm install 安装依赖文件 和 pnpm build 编译打包,最后就能得到前端和后端的静态文件。

    前台演示图:

    1.对话

    2.绘图

    3.绘画广场

    4.DALL-E绘图

    5思维导图

    6会员中心

    7.推广计划

    8.个人中心

    后台演示图:

    1.后台首页

    2.注册登录设置

    3.对话模型设置

    4.数据管理【可查看对话与绘画内容】

    5.订单列表

    6.套餐设置【支持生成卡密】

    7.应用列表

    8.分销系统

    9.支付管理设置【多接口】

    10.MJ绘画管理

    11.存储配置

    12.用户端设置【支持动态菜单】

    13.风险管理【自定义回复预设,违禁词设置】

  • ChatGPT日耗电超50万度,大模型“吃电”夸张,马斯克曾预言……

    ChatGPT日耗电超50万度,大模型“吃电”夸张,马斯克曾预言……

    每经编辑 毕陆名

    据证券时报,据《纽约客》杂志报道,OpenAI的热门聊天机器人ChatGPT每天可能要消耗超过50万千瓦时的电力,以响应用户的约2亿个请求。相比之下,美国家庭平均每天使用约29千瓦时电力,也就是说,ChatGPT每天用电量是家庭用电量的1.7万多倍。

    如果生成式AI被进一步采用,耗电量可能会更多。荷兰国家银行数据科学家亚历克斯.德弗里斯在一篇论文中估计,到2027年,整个人工智能行业每年将消耗85至134太瓦时(1太瓦时=10亿千瓦时)的电力。

    随着人工智能技术发展,市场对芯片的需求激增,带动电力需求的激增。相关数据显示,十年前全球数据中心市场的耗电量为100亿瓦,而如今1000亿瓦的水平已十分常见。据美国Uptime Institute的预测,到2025年,人工智能业务在全球数据中心用电量中的占比将从2%猛增到10%。

    图片来源:视觉中国

    生成式AI带来的种种创新,都是以处理性能和功耗方面的高昂成本为代价。马斯克曾预计,未来两年内将由“缺硅”变为“缺电”,而这可能阻碍人工智能的发展。在他看来,电力短缺可能会造成严重后果,就像最近缺芯阻碍科技和汽车行业一样。

    以人工智能为代表的生成式大模型的繁荣将为智算中心的建设带来更快发展。而高算力往往也伴随着高能耗,据统计,2022年全国数据中心总耗电量约2700亿千瓦时,占全社会用电量的3.1%,超过两座三峡水电站年发电量。

    据媒体2023年9月8日报道,浪潮信息服务器产品线总经理赵帅对记者表示,如今数据中心节能降碳面临“多重挑战”:从能耗构成看,数据中心总能耗包括IT设备能耗和制冷、配电等系统的能耗,其中,制冷系统用电量已与IT设备相当,占总用电量高达43%。因此,优化制冷系统成为数据中心提高能源效率的重要环节。

    其次,算力供给的核心是IT设备,但就其容量而言,IT设备的利用率通常十分低。例如,服务器的利用率往往只有5%到15%,处理器为10%到20%,存储设备为20%到40%,网络设备的利用率为60%到80%。然而,当设备闲置时,其仍会消耗在最大利用率下消耗的大部分功率,一台标准服务器即使不工作也要消耗30%到40%的最大功率。如何最大程度减少IT设备空闲,让闲置的算力跑起来至关重要。

    除了耗电外,大模型还很耗水。

    AI模型旺盛的算力需求要求与之匹配的散热能力,这带来了庞大的耗水量。面对水资源的加码消耗,微软表示计划于2030年实现正水排放。

    据媒体报道,微软支持的OpenAI技术需要耗费大量水用于冷却超级计算机,帮助其AI学习如何模仿人类书写。除了建造冷却塔,服务器运行需要大量电力,而火电、天然气和核能发电也会消耗大量水。

    微软在其环境报告中透露,2022年,公司用水量同比去年激增了34%,较前几年大幅上涨,相当于超过2500个奥林匹克规格的游泳池水量,外部研究人员认为这与微软的人工智能研究有关。谷歌发布的2023年环境报告同样显示,其2022年消耗的水量高达212亿升,其中有约196亿升的水用于数据中心。

    微软去年曾在声明中表示,它正在投资关于测量人工智能的能源和碳足迹的相关研究,并“研究如何使大型系统在训练和应用中更加高效”。此外,该声明还表示:“我们将继续监控我们的排放量,加快进度,同时多使用清洁能源为数据中心供电,购买可再生能源,并做出其他努力,以实现我们的可持续发展目标,即到2030年实现负碳排放、正水排放和零浪费。”

    每日经济新闻综合第一财经、证券时报

  • 【uniapp】十分钟带你封装uniapp的api请求

    【uniapp】十分钟带你封装uniapp的api请求

    封装前的准备

    先在项目目录上右键 – 新建目录(用于存放封装的API请求文件)

    • 名称大家可以随意取,我这里给的是request

    目录新建完成之后,还需要至少两个js文件

    • index.js 封装get、post请求,接收参数并返回数据
    • api.js 封装后台接口,便于页面调用和后期维护

    为啥这里说的是至少两个js文件呢?那是因为可能因为权限的原因,亦或者模块的分类等,可以把api.js文件给拆分出去,按照不同的权限、模块来进行分类,最终可以通过一个总的js文件合并,这样更利于后期维护。

    封装第一步:index.js

    定义请求参数

    • 必备参数:url、method、header、data
    • 可选参数:hideLoading
    • export default class Request {
    http(param) {
    let url = param.url;
    let method = param.method;
    let header = param.header || {};
    let data = Object.assign(param.data || {});
    let hideLoading = param.hideLoading || false;
    // 第一步的代码均在此处展示,后面示例代码就不写外层 class 和 http方法了。
    ....
    }
    }
    • hideLoading主要是后面用于显示加载toast状态的

    请求地址

    • 其实请求地址可以单独封装成一个js文件的,比如开发环境、正式环境、测试环境都用不同的请求地址。
    let requestUrl = 'https://www.juejin.cn/' + url;

    请求方式

    • 此处仅封装GET、POST两种方式,其他的请求方式可以根据需求去进行封装
    if (method) {
    if (method == "POST") {
    header = Object.assign({
    'content-type': "application/x-www-form-urlencoded"
    }, param.header)
    } else {
    header = Object.assign({
    'content-type': "application/json"
    }, param.header)
    }
    }
    • method参数必须是大写的哦~(微信小程序和uniapp均有文档查阅)
    • 将content-type和用户传递的header数据进行合并,组成一个新的header参数

    请求加载(这里是可选的配置项)

    • 数据配置完成后,可以给用户一个loading的等待效果
    if (!hideLoading) { uni.showLoading() }

    返回Promise

    • 通过promise返回数据,可以在页面上请求接口的时候,直接使用.then来拿到数据(也算是目前前端常用的写法了吧)
    return new Promise((resolve, reject) => {
    uni.request({
    url: requestUrl,
    data: data,
    method: method,
    header: header,
    success: (res) => {
    // 下面会直接写请求成功的代码
    ......
    },
    fail: (err) => {
    // 下面会直接写请求失败的代码
    ......
    },
    })
    })
    • 在promise中写上请求方法,并接收上面定义的参数
    // success里面的逻辑代码
    // 如果有显示loading的话,可以在这里选择隐藏
    if (!hideLoading) {
    uni.hideLoading();
    }
    // 判断请求是否成功(通过后端接口返回的状态进行判断)
    // code:0 即成功,不为 0 的话就是请求错误/失败
    if(res.data.code === 0){
    resolve(res.data)
    return true
    } else {
    if(res.data.code === -1){
    // 这里是由于token过期导致的错误码
    // 可以直接跳转到login页面,也可以直接刷新token
    uni.navigateTo({
    url: '/pages/login/login'
    })
    }
    // 其他错误时,直接通过toast提示
    uni.showToast({
    title:res.data.msg,
    icon:'none'
    })
    return false;
    }
    // fail里面的逻辑代码
    // 如果有显示loading,同样需要隐藏
    if (!hideLoading) {
    uni.hideLoading();
    }
    return false;

    封装第二步:api.js

    引用封装好的index.js文件

    import Request from './index.js' let request = new Request().http

    get、post请求方法

    function get(url, data, hideLoading, header) {
    return request({
    url: url,
    method: 'GET',
    data: data,
    header: header
    })
    }
    
    function post(url, data, hideLoading, header) {
    return request({
    url: url,
    method: 'POST',
    data: data,
    header: header,
    hideLoading: hideLoading,
    })
    }

    封装api对象

    • 通过上面的方法,来确定请求类型
    let api = {
    login: data => post('loginapi', data, true, true)
    }
    
    export default api;
    • 为了能够在全局进行使用,需要在main.js文件中进行配置
    • $http是自定义名称,可以根据自己的需要去修改
    • 在引入文件中,我们只需要引入api.js即可
    import api from "./request/api.js"
    Vue.prototype.$http = api;

    使用方法

    onLoad(){
    this.$http.login().then(res=>{
    console.log(res)
    })
    }
    • 在页面上使用的时候,直接通过this.$http找到对应的api方法
    • 如果需要传参,可以在login方法中直接传递login({name: ‘xxx’, sex: ‘yyy’})

    总结

    在uniapp中封装请求方法,其实和vue里面的axios封装方式差不多,通过一次封装,改变之后的开发模式和维护成本是很重要的。

    由于兼职的后端还没开始写接口,所以就不在这里展示具体的请求数据了,大家可以自行尝试一下。

    uniapp常用组件及api使用方法:https://blog.csdn.net/weixin_43664855/article/details/131409406

    如何调用API:https://blog.csdn.net/p_s_p/article/details/130880583

    天气参考:https://blog.csdn.net/Red_sevenWord/article/details/135019087

    uni-app 超详细教程(一)(从菜鸟到大佬):https://blog.csdn.net/zhousenshan/article/details/131351310?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-4-131351310-blog-128123590.235^v43^pc_blog_bottom_relevance_base2&spm=1001.2101.3001.4242.3&utm_relevant_index=7

    uni-app 超详细教程(二)(从菜鸟到大佬):

    https://blog.csdn.net/m0_64875238/article/details/128123590

    文章来源:https://juejin.cn/post/7249228528573694013

  • SparkAI – 最新AI创作系统ChatGPT网站源码/支持GPT4/Prompt知识库/GPT联网/支持ai绘画(Midjourney)/MJ以图生图/支持Mind思维导图生成

    SparkAI – 最新AI创作系统ChatGPT网站源码/支持GPT4/Prompt知识库/GPT联网/支持ai绘画(Midjourney)/MJ以图生图/支持Mind思维导图生成

    此图像的alt属性为空;文件名为v2-dd09ccd2b701670524f4e69f200f67c3_1440w.png

    功能介绍

    已支持 OpenAI GPT全模型 + 国内AI全模型 + 绘画池系统 + MJ局部编辑重绘功能+OpenAI TTS语音对话功能 + 文档对话总结功能 + Midjourney绘画动态全功能!

    演示站:https://ai.sparkaigf.com/market

    SparkAi系统核心功能:

    • AI提问:程序已支持GPT3.5,GPT4.0提问、OpenAIGPT全模型+国内AI全模型、支持GPT联网提问
    • 已支持OpenAIGPT全模型+国内AI全模型,已支持国内AI模型 百度文心一言、微软Azure、阿里云通义千问模型、清华智谱AIChatGLM、科大讯飞星火大模型、腾讯混元大模型等
    • ChatFile文档上传对话功能以及总结对话
    • 新增知识库接入(对接百度千帆知识库),用户端动态显示知识库插件并通过插件的方式选择与知识库对话,可自定义训练内容回答和文档总结,上传文档作为知识库内容用于特定场景对话回答,比如企业文化规章制度、产品说明文档、客服等等各行业知识库等
    • 新增支持MJ最新V6绘画模型(V6模型:能够处理更长的提示词,人物效果更加真实,构图、色调、光影更加细腻)
    • AI绘画:Midjourney绘画(全自定义调参)、Midjourney以图生图、Dall-E3绘画
    • Midjourney绘画动态全功能、绘画过程中实时预览缩略图以及同步实时进度显示
    • 支持最新GPT-4多模态模型、OpenAI GPT-4-Turbo-With-Vision-128K模型
    • 已支持GPT-4图片对话能力(上传图片并识图理解对话)可同时支持5张图同时上传对话
    • 对话插件系统,后续逐步增加插件功能,扩展AI能力
    • 新增KEY支持单独配置消耗费率,比如GPT4-32K比GPT4成本更高应该消耗更多的额度次数
    • 微信公众号+邮箱+手机号注册登录
    • 一键智能思维导图生成
    • 应用广场,支持用户前台自定义添加私密或共享
    • AI绘画广场(画廊)
    • 邀请+代理分销模式、用户每日签到功能、会话记录同步保存
    • 支持对接微信官方支付、易支付、码支付、虎皮椒支付等,自定义聚合会员套餐
    • 其他核心功能、后续其他免费版本功能更新
    • 详细说明:https://www.yuque.com/yuqueyonghutq9yt2/egy0d0/ah9sq89lgl6b7s4w

    https://zhuanlan.zhihu.com/p/650972326

  • 最新AI创作系统ChatGPT网站源码+新增GPT联网功能+支持GPT4+支持ai绘画+实时语音识别输入

    最新AI创作系统ChatGPT网站源码+新增GPT联网功能+支持GPT4+支持ai绘画+实时语音识别输入

    • 一、AI创作系统
    • 二、系统介绍
    • 三、系统程序下载
    • 四、安装教程
    • 五、其他主要功能展示
    • 六、更新日志

    一、AI创作系统

    1. 提问:程序已经支持GPT3.5、GPT4.0接口、支持新建会话,上下文记忆
    2. 支持三种Ai绘画模型(官方Midjourney模型、GPT3.5KEY绘画、国内其他绘画模型)
    3. 中英文实时语音识别输入,文章资讯发布功能,菜单工具栏功能,邮箱验证和手机短信验证注册
    4. Prompt面具角色扮演功能
    5. 新增GPT联网功能
    6. AI绘画广场功能
    7. 后续其他新功能更新以及优化
    8. 用户会员套餐、用户每日签到功能、后台管理、一键更新版本。
    9. 支持手机电脑不同布局页面自适应。

    AI绘画演示:

    支持GPT4.0:
    在这里插入图片描述
    新增GPT联网功能:
    1、开启GPT联网功能
    在这里插入图片描述
    2、使用
    在这里插入图片描述

    二、系统介绍

    程序已支持ChatGPT4.0、Midjourney绘画、GPT3.5 API绘画、GPT联网功能、绘画广场功能、Prompt功能,后台自定义添加,用户也可自定义添加+实时语音识别输入、用户会员套餐、用户每日签到功能、后台管理、一键更新版本。支持手机电脑不同布局页面自适应。

    实时语音识别输入:
    支持中文普通话、英语
    在这里插入图片描述

    Prompt:
    后台自定义添加,用户也可自定义添加
    在这里插入图片描述

    三、系统程序下载

    最新版系统:
    百度网盘:https://pan.baidu.com/s/1wA6ClJzmMi9ce1idVbZQAw?pwd=s1si
    提取码:s1si

    【本文章只写到2023年7月2日的更新,系统持续更新,目前是当前最新版本,系统搭建好后,登录管理页面点击一键更新,即可体验到最新版本功能!】

    四、安装教程

    1、环境要求:
    服务器:最低1H1G、CentOS 7 64 Bit、宝塔控制面板
    环境:Nginx、MySQL 5.7、PHP-7.3

    2、开始搭建:
    一台VPS服务器
    搭建宝塔
    解析绑定域名
    上传程序至根目录(将”chengxu.zip”上传网站更目录解压即可)
    创建一个数据库
    访问首页在线安装配置数据库
    PHP版本选择:7.3
    安装完成后访问网站首页即可!
    配置APIKEY,登录网站后台自定义配置,不然网站无法使用!
    网站后台地址/admin 默认账号:admin 密码:123456

    在这里插入图片描述

    五、其他主要功能展示

    Ai绘画模式:
    支持中文和英文关键字生成图片
    现已对接三种ai绘画模型,后台可自由切换、开启关闭!

    1. Midjourney模型绘画
    2. GPT官方3.5key绘画
    3. 其他绘画API

    在这里插入图片描述
    在这里插入图片描述
    ChatGPT提问模式:
    支持黑夜/白天模式自由切换
    新建会话和保存、上下文记忆

    在这里插入图片描述

    邀请功能:
    在这里插入图片描述

    ChatGPT管理后台:
    其他配置页面不多展示了,大家搭建后查看
    在这里插入图片描述

    GPT4基本设置:
    在这里插入图片描述

    卡密功能:
    在这里插入图片描述

    支持一键版本更新:
    在这里插入图片描述

    六、更新日志

    【本文章只写到2023年7月2日的更新,系统持续更新,目前是当前最新版本,系统搭建好后,登录管理页面点击一键更新,即可体验到最新版本功能!】

    V5.1.1
    新增GPT提问Sign算法验证自定义开启或关闭 后台设置
    新增桌面快捷教程按钮 后台设置链接
    其它细节优化

    V5.1.0
    数据传递重新改为Session模式 修复避免数据量太大的414 Request-URI报错BUG
    修复如果提问文字太多时前端会卡住BUG
    新增GPT联网回答功能 必须国外服务器才可以使用此功能

    V5.0.9
    新增网站关于本站弹窗 后台更多配置里面设置内容
    修复前面几个版本导致的找回密码邮箱发送失败

    V5.0.8
    其它细节优化
    修复网站首页有时候会直接显示白屏未授权
    修复前面几个版本导致的余额已到期但不自动轮询删除KEY的BUG

    V5.0.7
    新增Ai回答后的AD广告 后台自定义设置链接和文字

    V5.0.6
    网站后台优化
    新增提问数据清理功能
    其它细节优化
    修复部分未知BUG

    V5.0.5
    新增自定义GPT回答多少秒后超时自动重连

    V5.0.4
    紧急修复上一个版本导致的上下文超限提示失效BUG
    新增网站公告标题自定义设置功能 后台公告设置里面修改
    修复网站公告如何内容太长超出屏幕限制BUG
    新增网站基本配置模块 例如首页”使用示例”板块放到数据库了 修改内容更新后不受影响
    重写轮询KEY逻辑
    修复轮询KEY明明没有用完余额有时候会误删的BUG
    新增GPT提问若3秒没出答案则自动重连

    V5.0.3
    修复GPT回复随机选temperature参数不生效BUG
    优化log.php提问数据改回log.txt 因为PHP文件执行效率没有TXT文本快
    修复log.txt数据量太大时会导致提问卡住BUG 改为6小时自动清空一次 然后数据备份到Chat目录
    新增GPT3.5和GPT4.0 log.txt提问数据记录区分开来
    其它代码细节优化 GPT回复更加流畅 性能大幅度提升
    彻底关闭数据传输时使用Session 防止服务器卡顿

    V5.0.2
    新增提问超过30秒未回复自动超时刷新网页
    紧急修复5.0.1导致的后台首页BUG

    V5.0.1
    新增后台卡密列表显示卡密被哪位用户使用
    新增后台用户列表显示手机号
    新增绘画广场图片点击放大功能
    新增绘画广场图片描述复制功能
    修复未开启手机号注册时用户用手机号当用户名注册后无法登录BUG
    修复第一次登录账号后需要刷新网页侧边栏的头像才会显示正常BUG

    V5.0.0
    新增GPT4.0不自动删KEY设置 防止用了第三方平台API误判
    优化GPT回复最大超时为1200000秒 防止回复内容太长导致的超时
    修复后台KEY余额查询不准确BUG
    新增后台KEY余额查询错误提示
    新增Prompt角色数据修改
    新增订单记录显示充值类型
    其它细节优化

    V4.9.9
    AiChat面具模式角色板块UI优化 新增动态阴影效果(白天模式下才看得到效果)
    修复查询余额失效 之前的反代地址API挂了 换了一个域名
    新增自定义MJ出图是否存储你自己服务器本地

    V4.9.8
    新增绘画页面图片懒加载功能 防止网页卡顿
    修复手机端绘图页面翻译按钮被遮挡BUG
    新增MJ绘画新通道 比之前的稳定 后台切换即可
    修复部分特殊情况下邀请不返佣金BUG
    优化服务器Session导致的GPT回复并发卡顿问题
    修复Prompt页面退出登陆后第二次登陆提示账号被占用BUG

    V4.9.7
    部分细节优化
    新增后台自定义是否开启用户邀请分销功能
    修复输入框自动执行JS代码BUG
    新增Ai绘画广场 后台自行添加图片数据 需要竖屏尺寸的
    其它细节优化

    V4.9.6
    修复新弹窗邀请窗口复制邀请链接失效BUG
    修复代码块无法复制BUG

    V4.9.5
    修复GPT4密钥失效后不自动删除的问题
    修复只允许一台设配同时登录很多BUG
    修复GPT4注册赠送次数不生效BUG
    优化侧边栏邀请好友按钮UI样式
    重写邀请好友分销页面UI样式 已改为弹窗形式的

    …

  • apk空白包签名-应用认领

    apk空白包签名-应用认领

    APK空白包签名是一种常见的应用程序打包技术,它允许开发者在没有实际的应用程序代码和资源的情况下生成一个空的APK文件,并对其进行签名。在这个教程中,我们将介绍APK空白包签名的原理和详细步骤。

    1. 原理:

    APK空白包签名的原理是利用Android应用程序的打包机制。一个APK文件实际上是一个ZIP文件,里面包含了应用程序的代码、资源、配置文件等等。在签名过程中,我们只需要对APK文件本身进行签名,而不必关心其中的具体内容。

    2. 详细步骤:

    下面是一个详细的APK空白包签名步骤:

    – 准备一个空的APK文件,可以使用任何ZIP工具创建一个空的ZIP文件,并将后缀改为`.apk`。

    – 创建一个密钥库文件,可以使用Java的keytool工具创建一个密钥库文件,命令如下:

    “`

    keytool -genkey -v -keystore my-release-key.keystore -alias my-alias -keyalg RSA -keysize 2048 -validity 10000

    “`

    这个命令将生成一个名为`my-release-key.keystore`的密钥库文件,并指定一个别名和一个有效期。

    – 使用jarsigner命令对空APK文件进行签名,命令如下:

    “`

    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my-app.apk my-alias

    “`

    这个命令将使用之前生成的密钥库文件对空APK文件进行签名,并指定签名算法和摘要算法。

    – 使用zipalign工具优化已签名的APK文件,命令如下:

    “`

    zipalign -v 4 my-app-signed.apk my-app-final.apk

    “`

    这个命令将调整APK文件的对齐方式,使其在安装时能够更高效地使用存储空间。

    以上就是APK空白包签名的详细步骤。需要注意的是,为了保证签名的安全性,我们应该在生成密钥库文件时使用足够强大的密码,并将其妥善保存。

    3. 使用场景:

    APK空白包签名常用于一些特定的开发和测试场景,例如在开发过程中测试与签名相关的逻辑,或为应用程序生成一个空的APK文件以供其他开发者进行二次开发。此外,一些自动化测试工具也可能使用APK空白包签名来处理APK文件。

    总结:

    APK空白包签名是一种常见的应用程序打包技术,它利用Android应用程序的打包机制,允许开发者在没有实际代码和资源的情况下生成一个空的APK文件,并对其进行签名。这个技术在一些开发和测试场景中非常有用,但在正式发布应用程序时不应使用空白包签名。

    实在不行,就用第三方工具:https://yuanjkeji.com/ios-upload/app/list