我 Vibe Coding 一周,做了个桌面 Agent - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
idoubi
V2EX    分享创造

我 Vibe Coding 一周,做了个桌面 Agent

  •  
  •   idoubi 7 小时 26 分钟前 906 次点击

    复盘一下我 vibe coding 一周,开发 WorkAny 的过程,很有意思。

    开发过程

    1. 上周三在香港办卡,临时起意想做个桌面 Agent 项目,对标 cowork ,晚上回到广州开始写代码

    2. 初期目标是快速发布,没时间去研究哪个 Agent 框架好用了,看很多人在用 claude agent sdk ,先用这个吧

    1. 第一时间想到用 tauri ,喜欢小而美,总觉得 electron 很重,不想用

    2. 不想自己写代码了,决定让 claude code 来写。之前的 claude 账号都被封了,用不上原版 cc ,装了个 cc-switch ,接上 OpenRouter 的 API 开始写

    3. 截了个 chatbot 的交互截图,让 cc 参考着先把基本的对话流程跑通,用 claude agent sdk ,接上 OpenRouter ,cc 很快写完了第一版

    1. tauri 本质是用 rust 的壳子套了个前端界面,不熟悉 rust ,让 cc 用 hono 写 API ,rust 只做壳子,不做业务功能。API 作为 sidecar 打包进 app

    1. 让 cc 在 API 引入 sqlite 实现本地存储,持久化任务数据,创建本地工作目录,保存任务输出文件

    2. 写了半天,看 OpenRouter 消耗了 110 刀,有点肉疼。买了个美国住宅 ip ,付费上了原版 claude pro

    3. 截了个 Manus 的任务详情图,让 cc 参考写完工具调用的逻辑,中间是 chatbot 对话,右边用一个虚拟计算机的容器展示输入输出

    1. 让 cc 接入 shadcn/ui ,把样式做得好看一点,支持切换皮肤

    1. 又写了一天,关键时候 claude pro 限频了,很影响心情,补差价上了 claude max 顶配版

    2. 让 cc 把自定义模型配置,mcp 、skills 调用的逻辑都实现了,跑了几个生成 PPT 、Excel 、Doc 、 网页的 case ,效果不错

    1. 让 cc 把输出文件夹和中间过程的 artifacts 都在右边展示出来,写了个 artifact preview 容器,渲染各种类型的文件,可视化预览

    1. 有些任务需要跑脚本完成,考虑到用户电脑可能没装代码运行环境,让 cc 引入 sandbox 来运行代码

    1. 考虑到扩展性,需要支持不同类型的 Agent runtime 和 sandbox ,让 cc 写了两个抽象类,统一接口调用。Agent runtime 支持 claude code 、codex 、deepagents ,sandbox 支持 boxlite 、codex-sandbox 、claude-sandbox

    1. 觉得 cc 写的代码有点乱,让 cc 引入 eslint 和 prettier 做了下格式化,把逻辑太多的文件做模块化拆分。再参考 ShipAny 的目录结构,调整了一下项目结构

    1. 让 cc 写打包脚本,构建不同操作系统的安装包。把安装包发给一些朋友,开始内测了。根据内测用户的反馈,再让 cc 继续优化逻辑,解决问题,迭代功能

    1. 有些用户电脑没装 node ,没有 claude code ,安装软件后跑不起来,让 cc 在构建脚本支持 flag 参数,把 node 和 cc 作为 sidecar 打包进 app ,让用户能够开箱即用

    2. Mac 用户安装 app 后提示文件损坏或有安全提示,让 cc 在构建脚本里面加上签名处理,用我的 Apple 开发者账户对打包的 Mac app 做签名

    3. node 和 cc 都打包进 app 的版本,安装包 100 多 m ,有点重。让 cc 在构建脚本实现默认不打包,在用户启动 app 的时候引导安装 node 和 cc ,精简版安装包才 20 多 m ,小巧精致

    1. app 基本功能实现得差不多了,让 cc 在 ShipAny 模板基础上写一个 WorkAny 的官网,放上演示图,部署上线

    1. WorkAny 开源发布,MVP 版本上线,用户拉源码本地构建,配个 API 直接用

    1. 让 cc 写了个 github 构建脚本,在代码推送到 main 分支时,自动触发 github action 构建,一次性打包 Windows 、Linux 、Mac 三大平台的安装包,自动发布到 release ,用户无需自行构建了

    1. 根据用户的反馈,问题丢给 cc 去修,想到什么新功能也告诉 cc 加上,自己只做测试,不写代码,看都不看一眼。


    几点感悟

    1. 第一次尝试全自动驾驶 vibe coding 做项目,爽感非常强烈,WorkAny 的代码 100% 由 cc 老弟完成,我只负责指挥,日常开三个窗口,让三个 cc 老弟同时干活,效率拉满

    1. AI 时代技术平权,人人都是建筑师,理解用户需求、好的产品 sense 和审美是做出好产品的关键

    1. 技术广度和全局视野是最大的优势,可以精准提需求,指哪打哪,遇到问题能快速定位,防止 AI 走偏失控

    2. 以前总觉得手洗的衣服比洗衣机洗的干净,现在可以放心交给洗衣机了,又干净又快,能穿就行

    3. 优秀的程序员不会被 AI 淘汰,法拉利老了还是法拉利。

    欢迎试用 WorkAny ,感谢反馈与支持。

    https://workany.ai

    12 条回复    2026-01-24 22:50:38 +08:00
    Tink
        1
    Tink  
    PRO
       7 小时 22 分钟前 via iPhone
    牛啊老哥,学到了不少
    MASAILA
        2
    MASAILA  
       6 小时 49 分钟前
    zarvin
        3
    zarvin  
       6 小时 34 分钟前 via Android
    厉害,学到了
    TabGre
        4
    TabGre  
       5 小时 33 分钟前 via iPhone
    起步 claude agent sdk 是最正确的
    bojue
        5
    bojue  
       5 小时 27 分钟前
    claude max 有额定限制吗
    hellodigua
        6
    hellodigua  
       5 小时 10 分钟前
    牛,大佬太强了
    emmanuelisaiah
        7
    emmanuelisaiah  
       4 小时 42 分钟前
    请问可以给我你的 Telegram 账号吗?我们可以一起做些事情,我们能赚到不错的美元收入。
    x4gz
        8
    x4gz  
       4 小时 22 分钟前
    请问是只支持 claude 不支持 openai 和其他兼容 api 吗
    idoubi
        9
    idoubi  
    OP
       3 小时 19 分钟前
    @x4gz 现在只支持 anthropic 兼容的 api
    Suger828
        10
    Suger828  
       2 小时 6 分钟前
    在哥飞的公众号也看到了
    x4gz
        11
    x4gz  
       1 小时 59 分钟前
    @idoubi 试了下好像不是流式输出的形式 如果答案比较长就要等好久
    x4gz
        12
    x4gz  
       1 小时 52 分钟前
    @idoubi 还有每个对话的第一条回答好像会在莫名消失
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1490 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:42 PVG 00:42 LAX 08:42 JFK 11:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86