云服务器装kali 老牌网盘 InfiniCLOUD 速度很快,但是它的界面真是让你梦回 Windows 98 时代,用起来有些吃力。 好在它支持 WebDAV 协议。 这东西到底有多强?我们先来快速···
云服务器装kali
老牌网盘 InfiniCLOUD 速度很快,但是它的界面真是让你梦回 Windows 98 时代,用起来有些吃力。
好在它支持 WebDAV 协议。
这东西到底有多强?我们先来快速体验一下。
首先我们下载最新版 aardio。仅 6.5MB,开箱即用。
双击运行「aardio 工具 » 网络 » WebDAV 客户端」:
默认已经提供了一个 InfiniCLOUD 账号,点击「连接」直接登录。
这个丝滑、流畅、炫美的DAV 客户端界面 —— 实际上是用 AI 大模型在数分钟内自动生成的。
也就是说只要网盘支持 WebDAV 协议,我们就可以用 AI 任意改造客户端界面,当然用 AI 写一个 WebDAV 服务端也非常简单(后面会讲)。
上面的程序仅由 AI 生成的一页纯 aardio 代码 + HTML 代码,没有用到任何第三方的库,没有任何外部依赖,不需要 Node 环境,不需要 NPM 包,不需要前端工具链。
其实有了 AI,很多时候库、框架都变得多余了,不用它们反而更简单。
我原本要求 AI 使用 JS 库实现 WebDAV 客户端协议,但 AI 思考推敲了半天决定用纯 aardio 代码从零实现了一个 WebDAV 客户端 —— 理由是这样可以脱离 Node 开发环境。WebDAV 这种东西实际上有繁琐的协议细节,这要是在以前从零实现会有极大的工作量。但在 AI 时代就是数分钟的事情。
在这之前我已经让 AI 实现了 WebDAV 服务端库 web.dav.server 。于是在此基础上我先让 AI 完成了 WebDAV 客户端支持库 web.dav.client ,然后再让它实现了前端界面示例。
在新版 aardio 中基于现成的库开发 WebDAV 服务端与客户端更为容易,几句代码就可以完成任务。
例如让 AI 生成了一个服务端界面演示( aardio 范例 » Web 应用 » WebDAV » 服务端界面 ):
AI 仅仅使用纯 aardio 原生控件就迅速生成了这样美观的界面。
如果不想要界面的话,几句代码就可以创建一个 WebDAV 服务端:
importconsole;importweb.dav.server;//多线程 WebDAV 服务端varserver = web.dav.server("0.0.0.0",80);console.log( server.getUrl() )//可选自定义共享的目录//server.resourceRoot = "c:/webdav"//启动服务端server.run(function(response,request,session){// 启用 HTTP 认证if(!request.auth(function(username){// 返回该用户的密码即登录成功(仅用于校验)if(username =="admin")return"123456"; },"WebDAV")){returnfalse;// 认证失败,返回 false 退出} } )如果希望注册为自动启动的系统服务,可创建「aardio 工程 » 控制台 » 后台服务」,然后在 service.threads.main 中添加上面的代码并生成 EXE 文件,双击生成的 EXE 可自动注册后台服务。几下就可以打造一个完全属于你自己的 WebDAV 网盘服务端。
在 Windows 资源管理器中,添加映射网络驱动器,在文件夹直接输入 WebDAV 服务端网址,然后勾选使用其他凭据连接 —— 就可以直接将 WebDAV 服务端映射为本地分区。
Windows 自带的 WebDAV 有一个奇怪的 50,000,000 字节(≈47 MB)传输上限,运行下面的 aardio 代码可以解除:
//RUNAS//importweb.dav.sys; web.dav.sys.setFileSizeLimitInBytes(0xFFFFFFFF)WebDAV 用于编程调用也很方便。原来我们使用各家网盘的接口,协议复杂并且一家一个写法,我以前花了老大力气写了某个网盘的客户端支持库,没想到它后来还关门跑路了。有了 WebDAV 就不用再这么麻烦,一个协议大家通用。
开发这个库最初源于我收到一个 AI 接口使用反馈。用户向 AI 发送任务:写一个有 ...... 功能的 WebDAV 服务端,没有达到预期的效果。然后我告诉它这是一个复杂的任务,通过一次对话写出来可能不太现实。说明了建议的步骤与适用的大模型 …… 后面忙完了其他事,决定自己来写一个。
远程登录腾讯云服务器
下面我分享一下详细的过程。
这几个库主要是用免费的 AI 开发的,慢就慢一点,麻烦一点就麻烦一点 —— 什么都不想要麻烦不想要折腾,可能就会错过很多真正很好的东西。
双击运行 「aardio 工具 » 网络 » lmarena 」切换到 Claude Opus 4.5 ,先不要上来就让 AI 写代码直接要结果,先思考一下要要怎么去实现,要了解一些什么知识,如何规划任务。先跟 AI 聊一下如果要写 WebDAV 有哪些要点,有哪几个关键的部分要实现,如何划分不同的模块,把复杂的大问题分化成一个个简单的小问题。
好了,现在删除所有对话 —— 开启全新的 AI 对话(记住:无关的上下文越少,AI 注意力越集中,能力就会越强。所以你要真正写最好的代码,先扔掉你的 AI IDE )。
首先打开 aardio 的 string.xml 库源代码,全选源代码右键菜单 复制到 Markdown格式,然后粘贴到 AI 提示词中,然后添加指令要求 AI 实现 web.dav.xmlServer 。
AI 写好以后,再次清除 AI 的所有聊天记录:
1. 将 web.dav.xmlServer 的源代码重新发给 AI。
2. 打开 aardio 范例» aardio 语言 » 调试技术 » 测试用例 ,右键菜单复制到 Markdown 也发给 AI。
3. 然后写提示词:请编写全覆盖 web.dav.xmlServer 库的测试用例
AI 迅速生成了完整的自动测试代码,覆盖了 web.dav.xmlServer 的所有用法与各种可能性。运行测试用例,在 AI 协助下清除发现的 BUG,直到通过所有测试。
再次清除所有 AI 聊天对话,新建全新的对话。
将 web.dav.xmlServer 库的源代码,wsock.tcp.simpleHttpServer 库的源代码同样以 Markdown 格式发给 AI,然后要求 AI 基于 wsock.tcp.simpleHttpServer 实现 web.dav.server ,并实现 web.dav.fileSystem 。
至此 AI 已经帮你写好了 99.9% 的源代码,剩下的就是一些细节的代码调优与改进。当然,如果你还是搞不定最后的 0.1% —— 你就会明白即使拥有最先进的工具也不可能让所有人都学会编程。
aardio 有一个奇妙的特性 —— 所有的库都非常独立,并且代码量都很小。所以你跟 AI 啰里啰唆讲半天,不如直接把整个库的源代码发给它。
有了上面的工作基础,再让 AI 实现 WebDAV 客户端就更为容易。只要将web.dav.xmlServer 的源代码发给 AI,先让 AI 写一个客户端专用的 web.dav.xmlClient 。
然后清除所有聊天记录,再次新建对话,发送 web.dav.xmlClient 的源代码,让 AI 直接编写基于 web.dav.xmlClient 的 web.dav.client 。
阿里云服务器时间同步
写好以后,再次清除所有聊天记录,新建对话,发送 web.dav.client 的源代码给 AI,让 AI基于 web.dav.client 与 web.view 编写 WebDAV 前端界面。
记住:不要习惯一聊天底,中间从不清除聊天记录与新建对话。浪费精力去收藏分类一堆无用的中间聊天记录,没事拿出来把玩一番你就会离目标越来越远。
请点击 清除,只取最后完成的精华。
阿里云数据服务器

发表评论
最近发表
标签列表