前不久在网上找到一张喜欢的壁纸,但是查了半天没找着高清原图,只好先将就用着。而最近看着这略显模糊的壁纸实在是受不了了,就想着给它upscale一下。很自然的想起了以前用过的xinntao/Real-ESRGAN,当时就觉得这东西巨好用,只是一直没有使用的场景,现在是时候给用起来了。

ComfyUI vs Script

虽然说想到要用Real-ESRGAN来让图像更清晰,一开始并没打算直接用它原有的命令行工具,而是准备用stable-diffusion-webui或者是ComfyUI这类功能更丰富的项目。

花一上午的时间在本地装好了ComfyUI:

RealESRGAN_x4plus_anime_6B.pth试着增强下壁纸,结果让人哭笑不得:

或许是我的处理方式不对,也或许是因为没有照安装文档说的用最适配的python13/12版本导致。

不过这个模型在ComfyUI里确实有点水土不服,参考zentrocdot/ComfyUI-RealESRGAN_UpscalerReproduce A1111 hires fix with R-ESRGAN in Comfyui?

不得已只好用xinntao/Real-ESRGAN本身提供的安装包和脚本了,好在虽然已经2年多没更新了,它的功能还能正常使用,生成的图也没有问题。

OpenCode开始发力

在对比生成前和生成后的壁纸时突然有了个想法,要是有工具可以直观的对比两张图的区别就好了。

查了一圈发现这个功能基本都是在线网站在提供,没找着离线工具。

那就自己做一个好了,正好试试OpenCode + GLM-4.7的本事。

于是差不多快晚上的时候,我开始用OpenCode生成代码,先是生成了一个可以让两图片通过滑块对比的单html页面,然后在此基础上让它支持上传文件、后台命令调用、文件下载等功能。

很快啊,这些个小功能它很快就完成了,而且运行得很完美。

OpenCode开始吃力

事情发生了转机。

我让它修改代码以支持在公网上安全部署,它咔咔生成完,结果没法上传文件了。

我把现象告诉它让它自己找出问题,它整了半天没把问题给找出来,最后我不得不打开了前端控制台:

1
(index):309 Executing inline script violates the following Content Security Policy directive 'script-src 'self' https://unpkg.com'. Either the 'unsafe-inline' keyword, a hash ('sha256-b6+B5SDP+VwnXrplXir/gTF5QsRBt5n146EYh701WGM='), or a nonce ('nonce-...') is required to enable inline execution. The action has been blocked.

好嘛,原来是安全策略把自己给限了,把错误信息交给它后,终于是把问题修复了。

之后又用最近流行起来的ui-ux-pro-max-skill给项目的前端页面升了个级:

已经是个有模有样的工具了。

OpenCode完美结算

最后截了几张图,直接让它生成README.md这些上传GitHub需要准备的东西,一气呵成,项目传送门:realesrgan-web-ui

结语

不得不承认现在的AI发展神速啊,以后这种小工具完全可以用AI直接生成,再也不怕这些冷门的小需求无处安放。不管是让AI基于已有的东西开发新功能,还是直接生成一个小工具用完就扔,简直…