前不久在网上找到一张喜欢的壁纸,但是查了半天没找着高清原图,只好先将就用着。而最近看着这略显模糊的壁纸实在是受不了了,就想着给它 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 基于已有的东西开发新功能,还是直接生成一个小工具用完就扔,简直…