2025年鸿蒙开发激励计划,上架了一个鸿蒙上的第一个第三方Github客户端——CopoHub,其实这个应用最开始是iOS端先开发的。
去年正好赶上AI编码的热潮,于是就用Cursor写了一个harmony版本,当时AI编码能力虽然已经开始初窥门径了,但是远不如现在强,尤其是对harmony原生平台,各种语法错误,一个需求下来十几个语法错误是家常便饭。
后面还是坚持开发完了,到今天,这个应用已经更新了8个版本,积累了一批用户,并且在最近接入内购后还是有些收入了。

应用一直在迭代,因此维护两个端就有点问题了,工作量是一方面,最主要的是,两个端修改没法做到完全统一,对于个人开发者,很难有完整的测试覆盖,所以考虑进行Flutter改造。
Harmony和iOS原生到Flutter
得益于2026年AI大模型的迅猛发展,编码能力越来越强,Agent Skills各种工具,概念的进步,编码越来越简单了。
于是决定将这个项目进行Flutter改造。
改造很顺利,我是新创建了一个文件夹,然后将原有的harmony代码放入其中,然后让AI根据原型图,以及harmony代码制定了一个flutter化的计划。
大概也就两三个小时,一个flutter雏形就出来了。
然后就是修修补补,完善功能,3天左右Flutter化就完成了。
这个工作是在三月份完成的,之前用的Antigravity,5月份呢因为额度问题彻底弃用删除了,丢失了很多当时宝贵的会话记录,不然现在可以完全复盘当时的过程。
在CopoHub基础上快速复刻另一个CopoGit
做CopoHub的时候就不断有用户问什么时候支持Gitee,之前大模型能力还是比较欠缺的,做了一版发现很多官方的Api欠缺不全,做出来缺失很多关键功能,因此放弃了这个计划。
最近,得益于Codex和Gpt5.5的强大,以及自己Token非常富裕(主要是开了个GPT Pro套餐叠加5x双倍额度)

Token一多,每天怎么消耗token就是一个问题了,想必AI时代大家都有这个焦虑。
于是将之前的Gitee项目又提上日程了。
调研了一番发现官方出了一个新的API版本,有了很大的加强,虽然还不如Github官方的api,但是很多基本的功能也都有了。
于是想到了最简单的复刻方法就是直接用CopoHub现有的UI,再替换一套gitee的api。
于是,直接让大模型照着CopoHub中的Github的api创建了一份Gitee的,梳理缺失和已有的情况。
然后接入CopoHub的界面中,大部分都没问题,少部分api没有,进行了一些裁剪,很快一份Gitee的第三方客户端就出来了,原本叫GiteeHub,后面审核被驳回,最终叫CopoGit了。
整个过程大概是3天吧,就提交审核了,当然审核最后拉扯了几天是后话了。

这也是一份支持Harmony,iOS和Android的跨平台方案,后面开发维护简单多了。
CopoHub和CopoGit代码再次重构成XHub
Token太多太闲,于是又有了一些新的想法。
既然这两个app现在很多重复的代码,那干脆用一套代码来维护吧
于是诞生了新的项目XHub,一套工程,维护这两个应用,公共逻辑和UI都抽取到公共层了,
原本准备将整个重构过程分享一下的,结果该死的Codex,将很多历史会话直接删除了。找不到了。
还好有一份README文档,还有一些相关的介绍。packages中就是一些公共的部分。然后两个应用分别放在apps目录下。

放在一个目录下,一个会话窗口内可以随时读取操作也方便,AI大模型修改起来也更顺畅。
一些有用的东西
首先是别名。
因为鸿蒙的特殊性,使用的是一个社区版本的flutter,而iOS和Android使用的是公版的Flutte。
于是电脑上维护了两个版本的flutter。
后面编译时,打harmony包,就用了一个别名h-flutter,ios和android就用标准的flutter

基于这个,让大模型做了一个打包脚本,可以选择打哪个包,哪个平台,如果有多个设备还可以选择设备。

一个好用的Skill
辛辛苦苦开发完了应用,上架就在眼前,但是还有一个很繁琐的工作,想必每一个开发者都体验过。
那就是制作应用商店宣传图。
最开始做宣传图,我是做了一个Mac应用

这个应用其实不叫制作宣传图,仅仅是将图片裁剪到应用商店需要的尺寸。很多图片上传到应用商店后报错,尺寸不符合,很麻烦,于是做了这么个工具,这个工具是几个月前做的,鉴于最近skill大火。
于是在CopoGit开发过程中,又开发了一个宣传商品的skill来简化这个过程。

store-screenshot-composer,将几张截屏放在项目的目录中,然后让大模型创建宣传图。
就会根据截屏的内容,配合项目的整体情况,创建几张应用商店宣传图。
有多种样式可选。
最终出来的样子,就是CopoHub和CopoGit应用商店中的样子,基本可用。


之前还用到了另外一个样式,有些小瑕疵

实际上,除了这个样式,你还可以做自己喜欢的各种样式。
其实样式是次要的,主要是整个过程轻松很多了,一句自然语言搞定,再也不用费心费力去处理宣传图这类问题了。
这个skill以及harmony开发中用到的一些其他skills,这里也放出来了
https://github.com/yanglfree/harmony-skills


被折叠的 条评论
为什么被折叠?



