- 先和大家打个招呼吧

我是谁:
我今年 14 岁,是一名初二学生,应该是这次比赛里年龄最小的参赛者之一。
我有 7 年的计算机使用经验,其中近 2 年时间花在网络安全方向的学习上——Kali Linux、nmap、TCP/IP 协议、端口扫描原理这些,是我真正系统学过、折腾过的东西。你可能觉得一个搞安全的小孩跑来做个桌面工具,方向跳得有点大,但往下看你就明白为什么了。
报名帖:Task Island:提高你的工作效率 - TRAE AI 创造力大赛 / 【大赛报名专区】 —— 这是我在报名专区发的参赛登记。
我是怎么用 TRAE 把这个 Demo 做出来的:
说实话,做这个项目之前,我一行 C# 都没写过,连 Avalonia UI 是什么都不知道。
我唯一有的能力就是"遇到问题怎么查"——这是学网络安全那两年练出来的肌肉记忆:看日志、读报错、定位问题、搜资料。这套能力搬到软件开发上,竟然完全通用。我不会写代码,但我会看报错,这成了我跟 TRAE 配合的起点。
我打开 TRAE 说的第一句话是:“我想做一个悬浮在桌面上的圆形菜单,点一下能展开,里面放一些常用工具。”
TRAE 给了我第一版代码。现在回头看,那东西真的称不上"软件"——界面是灰色的,功能只有一个"点一下弹 Hello World"。但对我来说,那已经是一个历史性时刻了:它能跑。
那一刻我的感受是:"原来这么简单?"我知道这听起来很幼稚,但确实是我当时最真实的反应。
后面的事就不简单了。
最折腾的一次,是我想做色轮的"液态玻璃"毛玻璃效果。我想要的是一种半透明、带模糊、看起来像浮在桌面上的感觉。结果发现某个 UI 库跟 Avalonia 12 不兼容,整个程序一启动就崩溃。当时正在准备期末考试,每天只能挤晚上一个小时来弄。换了三四个方案,连续崩溃了三个晚上——那种感觉就是,你看着屏幕上的报错,完全不知道下一步该往哪走。
第四天,我把完整的报错日志贴给 TRAE,它告诉我:“这个库只支持 Avalonia 11,你降级试试。”
降级之后,真的跑起来了。我当时在书桌前举了一下拳头。
还有一个印象很深的事。主窗口第二次点击无法展开,我查了好几天,一直以为是事件绑定写错了。后来我把整个交互逻辑用中文完整讲给 TRAE 听——就像跟一个朋友解释我为什么要这么设计,而不是贴代码——TRAE 帮我在定位到短路分支里有一个状态没有重置。
修完那一刻,我在客厅喊了一句"终于搞定了"。我妈问我在干嘛,我说"我把一个 bug 修好了"。她说"哦"。她不懂,但我懂就行了。
我对 TRAE 的真实感受是:
TRAE 不是一个"替我写代码"的工具。它更像一个随时在线的技术搭档——我描述需求,它生成初版;我运行测试,它分析报错;我贴日志,它帮我定位问题。反复循环,三周之后,一个能用的桌面应用就长出来了。
这件事让我意识到一个东西:写代码最重要的能力,可能不是背语法,而是把你的需求清晰地说出来。 只要你能说清楚,TRAE 就能帮你实现。这对一个完全零基础的人来说,是最重要的认知突破。
一个必要的预告:
任务岛不是 To-Do / 番茄钟 / 任务清单类工具——它和 Notion、Todoist、Forest 专注森林不是同类。如果你期待的是"添加任务、勾掉完成"这类应用,那这个 Demo 不是你的菜。
任务岛解决的是一个更基础的问题——怎么让你在桌面上少点几下鼠标、让你每天"切换工具"的动作少一半。下面我详细说。
1. Demo 简介
是什么
任务岛是一个基于 C# + Avalonia UI 开发的 Windows 桌面效率操作系统。V1.3.0 的产品形态是顶部横向图标栏 + 桌面挂件(Widget Center)双层布局,内置 30+ 个真实可用的功能模块,覆盖工具、媒体、桌面整理、安全、可视化五大类。
它不是一个"大而全"的软件,而是一个"小而精"的入口——把最常用的几十个操作放在你最顺手的地方,把你最常看的实时信息(股票/天气/新闻/预警)放在你目光所及的位置。
V1.3.0 重大迭代:从"5 个小工具"到"30+ 功能模块"
| 版本 | 功能数 | 默认布局 | 主要变化 |
|---|---|---|---|
| V1.0.0(初版提交) | 5 | 圆形色轮 | 验证概念 |
| V1.1.x | 5 | 圆形色轮 | 修 bug |
| V1.2.0 → V1.2.1 | 8 | 圆形色轮 | 加入音乐/翻译/便签等 |
| V1.3.0(这次) | 30+ | 顶部图标栏 + 桌面挂件 | 重大迭代 |
关于"色轮为什么取消"的详细说明放在第 2 节——这里先给一句话答案:色轮的圆形结构承载不了 30+ 个工具,而我又不想破坏它的简洁性。所以我把"入口"换成了横向图标栏(可滚动),把"价值密度"换成了桌面挂件(实时信息),色轮形态保留在设置里作为可切换的备用布局。
为什么叫"任务岛"——一个必须先解释的命名
我承认,"任务岛"这个中文名很容易让人联想到 To-Do / 任务管理。所以我必须先把定义讲清楚:
- “任务”:指你今天要在电脑上做的操作任务(打开文件、查日历、算账、临时存个资料、翻译一段话、听首歌、识别屏幕上的字),不是"待办任务"
- “岛”:指你桌面上不被任务栏污染的独立小岛(悬浮的、不抢焦点的、用完即走的)
- 所以 任务岛 = “把你常用的几十个操作任务"装进"你桌面的独立小岛”
任务岛和 Notion / Todoist / Forest 的关系:不是同类,是上下游。 你打开 Notion 之前,要先找到一个打开它的方式;任务岛想做的是这个"打开 Notion 的方式"——而且不只打开 Notion,它本身就是一个能解决几十种"小任务"的工具集。
面向谁
- 需要频繁切换窗口的学生(查资料、写作业、整理学习资料、翻译文献)
- 需要处理大量桌面文件的办公人群(客服、行政、运营、财务)
- 需要屏幕取色 / 屏幕文字识别的设计师和开发
- 需要实时信息监控(股票/天气/灾害预警/新闻)的桌面用户
- 任何一个觉得"桌面上东西太多、切换窗口太累"的人
核心用户画像:每天在电脑前超过 4 小时、每天 Alt+Tab 切换工具超过 50 次、桌面图标超过 30 个的人。
完整功能列表(V1.3.0 共 30+ 个模块)
桌面级(6 个模块)
| 模块 | 功能 |
|---|---|
| 顶部图标栏 | 横向滚动,常驻桌面顶部,一键触达所有工具(替代色轮) |
| 桌面挂件 Widget Center | 实时信息卡片墙:股票/天气/灾害预警/热搜/新闻/今日指数 + 快捷启动(文件夹/应用/终端) |
| 子岛 SubIsland | 拖入文件生成圆形图标暂存,双击打开,右键移除,不污染桌面 |
| 桌面分区 Fence | 把屏幕分成多个工作区(类似 Stardock Fences),分屏整理资料 |
| 便签 / 快速笔记 | 桌面便签、QuickNotes 快速记 |
| 工作区快照 | 一键保存当前所有窗口位置/大小,支持恢复 |
工具类(14 个模块)
| 模块 | 功能 |
|---|---|
| 计算器 | 浮窗计算器 |
| 日历 | 快速查看日期/规划日程 |
| 翻译 | 选词即译(覆盖中/英/日/韩/法等 30+ 语言) |
| 剪贴板翻译 | 监听剪贴板,复制外语自动弹出译文 |
| 剪贴板历史 | 保存最近 200 条剪贴板记录 |
| 屏幕文字识别 OCR | 框选屏幕区域,OCR 提取文字 |
| 颜色拾取 | 屏幕取色、Region 选择、保存调色板 |
| 字体选择 | 系统字体预览/快速选择 |
| 文件搜索 | 跨盘符秒级文件名搜索 |
| 地址解析 | 智能识别文本中的地址信息 |
| 窗口置顶 | 任意窗口一键置顶 |
| 窗口透明度 | 任意窗口透明度调节 |
| 快递追踪 | 自动识别快递单号,跟踪物流 |
| 提醒 | 待办提醒卡片 |
🅲️ 媒体类(4 个模块)
| 模块 | 功能 |
|---|---|
| 音乐播放 | 本地音乐播放,支持常见格式 |
| 歌词 | 桌面歌词气泡,悬浮显示 |
| 音乐律动 | 听音乐时桌面/挂件动效跟随节奏 |
| FFT 可视化 | 频谱动画(基于 FftHelper) |
🅳️ 系统类(7 个模块)
| 模块 | 功能 |
|---|---|
| 系统监控 | CPU/内存/网络实时占用 |
| 应用商店 | 推荐 8 款常用工具一键下载(WPS/微信/钉钉/剪映/7-Zip/腾讯会议/百度网盘/QQ) |
| 守护中心 | 集中管理所有实时监控项 |
| 安全中心 | 端口扫描拦截 / 广告拦截 / 磁盘清理集中入口 |
| 磁盘清理 | 扫描可清理文件,分类列出 |
| 广告拦截 | 弹窗广告检测与关闭 |
| WPS 监控 | 检测 WPS 后台异常弹窗 |
🅴️ 可视化与质感(5 个模块)
| 模块 | 功能 |
|---|---|
| 液态玻璃材质 | 借鉴 Windows 11 Mica/Acrylic,窗口半透明 + 模糊 |
| Win10/11 自适应 | Win11 用完整 Acrylic,Win10 降级用 Fluent |
| 托盘气泡通知 | 提醒类通知走系统托盘 |
| Toast 通知 | 应用内轻量级通知 |
| 动效系统 | 扇区旋转、卡片淡入、扇形展开(基于 AnimationHelper) |
🅵️ 彩蛋(3 个隐藏功能)
| 模块 | 功能 |
|---|---|
| 端口扫描检测 | 默认安静,发现外部对你电脑的扫描时右下角轻量提醒 |
| 地震预警 | 接入中国地震台网数据,发现地震时弹窗 + 中国地图定位 |
| 快速回复 | 预设回复模板,聊天软件一键发送 |
防探测
附属岛
主界面 回复话术 取色 番茄钟
2. Demo 创作思路
灵感来源
灵感来自一个我反复观察、反复困惑的现象:身边的人——无论是写论文的表哥、做客服的姐姐、还是处理公司报表的邻居——每天在十几个窗口之间反复切换。他们的桌面永远堆满了文件,任务栏永远挤成一团。
- 找个计算器要切 4 次 Alt+Tab
- 存一个临时文件要先扔桌面、过几天再整理、最后找不到
- 想把屏幕分左右两边写作业,每次都要手动拖窗口大小
- 看到屏幕上一段外语想翻译,要复制 → 打开翻译网站 → 粘贴 → 看结果
- 看到一个颜色想取色,要打开 PS 或装个取色器软件
- 想看自己电脑 CPU 占用,要打开任务管理器
这些动作单看起来都很"小",但一天重复几十次,累计的认知损耗其实非常大。
每一次切换都在消耗注意力,但很少有人意识到这是一个"可以被解决的问题"。
想解决的问题
问题很简单,问出来就一句话:“打开一个常用工具,到底需要几步?”
- 用 Windows 自带计算器:最小化当前窗口 → 找到计算器图标 → 双击 → 等加载 → 算完 → 关掉 → 切回原窗口。至少 7 步。
- 在任务岛做同样的事:点顶部图标栏 → 用 → 关。1 步。
- 翻译一段话:复制 → 打开浏览器 → 打开翻译网站 → 粘贴 → 看完 → 关。5 步 + 5 秒。
- 在任务岛做同样的事:选中文本 → 自动弹译文气泡。0 步(剪贴板翻译)。
- 取色:打开 PS 或装专门工具。1 个软件 + 多步。
- 在任务岛做同样的事:按快捷键 → 框选区域 → 取色完毕。3 秒。
数字不会骗人。省下来的不是"几秒钟",而是每一次切换带来的"思维中断"。这跟你看书的时候被人打断然后重新进入状态需要 5 分钟是一样的道理。
为什么不做 To-Do / 番茄钟 / 任务清单类工具
这一类工具的赛道已经太卷了:Notion、Todoist、滴答清单、Forest 专注森林、番茄 ToDo、Microsoft To Do……做第 N+1 个 To-Do 工具没有意义。
任务岛不抢 To-Do 的赛道——它抢的是桌面上所有"小操作"的入口。你可以把任何 To-Do 工具(甚至一个本地 txt)装进任务岛里。任务岛关心的是**"打开动作"那 7 步能不能变 1 步**,不关心你的"任务"是什么。
V1.3.0 关键决策:色轮为什么被取消(重写为顶部图标栏 + 桌面挂件)
这是 V1.3.0 最大的设计变化,必须详细说。
V1.0.0 时代:色轮是好的起点
色轮在 5 个功能时是优雅的:
- 优点 1:极简——一个圆形容纳所有入口,不抢桌面空间
- 优点 2:直觉——扇区 = 功能,转一下 = 切换
- 优点 3:视觉记忆——色相+位置形成"色彩锚点",肌肉记忆强
为什么 V1.3.0 必须放弃色轮
到了 V1.3.0,项目从 5 个功能长到 30+ 个,色轮的三个根本局限暴露出来:
局限 1:信息密度上限 = 8 个扇区
圆形最多塞 8 个扇区(再多人眼分不清)。当功能数超过 8 个,要么砍功能、要么二级菜单——两条路都破坏色轮的简洁性。
局限 2:色轮只能承载"工具",不能承载"信息"
色轮是"入口",不是"内容"——它显示不了股票走势、显示不了天气预报、显示不了灾害预警。
而 V1.3.0 真正让我兴奋的功能是桌面挂件中心——它把"实时信息"放到了桌面上。这件事色轮做不到。
局限 3:色轮的"扇区美学"在功能爆炸后崩盘
当一个色轮要塞 30+ 个工具时,每个扇区被压成一条窄线,hover 动效没法做,点击热区会互相干扰。
“为了保留色轮而限制功能"和"为了功能多而放弃色轮”——我选后者。
V1.3.0 的解法:双层结构 = 入口 + 信息
┌────────────────────────────────────────┐
│ 🏠 📄 T 📅 📷 🖼 💧 ⏱ 🧊 ⬛ 🛡 ⚙ │ ← 顶层:横向图标栏(可滚动,30+ 入口)
├────────────────────────────────────────┤
│ 22:06 今日股份 天气 灾害预警 │ ← 第二层:桌面挂件
│ 上证 3963 ↓ 33° 重庆 3 条预警 │ (实时信息卡片墙)
│ 热搜 TOP 8 新闻 TOP 8 今日指数 │
└────────────────────────────────────────┘
- 顶部图标栏接管"入口"职责:横向滚动,承载能力 = 无限,每个图标独占 48×48 像素,互不干扰
- 桌面挂件接管"信息密度"职责:股票/天气/预警/新闻/热搜/指数一屏可见,这是色轮永远做不到的事
- 色轮形态保留——在设置里可切回,作为"极简主义用户的备用布局"
这次迭代的核心收获是:好设计不是"保留旧设计",是"在旧设计的局限暴露时,敢于重画整张图"。
任务岛 vs 同类工具
| 工具 | 核心定位 | 任务岛的差异 |
|---|---|---|
| Quicker / uTools / Raycast / PowerToys Run | 搜索启动器 | 他们是"先打字再启动";任务岛是固定入口 + 一指到位 |
| Stardock Fences | 桌面文件整理 | 他们的"围栏"是文件容器;任务岛是工作流操作系统(Fence 只是其中一个模块) |
| Snipaste / PixPin | 截图 + 取色 | 它们只做截图/取色;任务岛30+ 功能(OCR/翻译/取色/字体/工作区快照都集成) |
| Ditto | 剪贴板历史 | 它只做剪贴板;任务岛剪贴板带翻译(复制外语自动弹译文) |
| Windows 11 Snap / FancyZones | 窗口分屏 | 他们分的是"窗口";任务岛分的是"任务"(一个岛就是一个工作流) |
| 微软 PowerToys | 系统增强合集 | 它是"工具箱";任务岛是单一焦点 + 默认常驻(不是"需要时打开",是"一直在那儿") |
一句话差异化:以上工具都假设你"知道要打开什么";任务岛假设你"在做事的过程中需要顺手摸到一个工具"——区别是"搜索意图"和"操作意图"。而 V1.3.0 之后,任务岛还多做了一件事:把"实时信息"也送到了你眼前。
为什么做这个方向
我没有选择做功能堆叠的大平台,而是聚焦"桌面效率"这一层。理由很简单:对一线办公和学习场景,效率提升不需要颠覆性技术,只需要精准解决"找文件、切功能、查信息"三个问题。这三个问题很小,但每天被几十亿人反复经历。
另外,作为 14 岁开发者,我能调动的资源很有限,所以我选择 .NET 10 + Avalonia UI 构建原生桌面应用,利用 TRAE 的辅助能力完成快速原型迭代。这个技术选型还有一个好处:不需要服务器,不需要联网,纯本地运行,下载即用。
一个真实使用证据
我把任务岛装在我妈的 Win10 家用电脑上做实测。她完全不懂技术,也不知道这是参赛作品。
- 第 1 天:她用顶部图标栏调出计算器(“诶这个比开始菜单方便”)
- 第 3 天:她把桌面上的临时文件往子岛里拖(“桌面终于不乱了”)
- 第 7 天:她主动问我"那个浮在桌面上的东西怎么打开"
这就是初赛标准里说的"用户有明确使用意愿"——不是问卷分数,是真实的人在真实场景下愿意每天打开。
端口扫描附加功能的由来
在做任务岛之前,我花了近两年时间系统学习网络安全。做桌面工具的时候,我一直在想:能不能把我学了两年的东西也放进这个项目里一点点?
不是为了凑功能,而是因为:我确实懂这个,做起来最有把握。
于是我把端口扫描检测做成了一个附加的、默认安静的隐藏功能——它不会主动弹出来打扰用户,只有在真的检测到外部设备对你的电脑进行端口扫描时,才会在右下角弹一个轻量级的提醒。它占不到总代码量的 10%,完全不影响主功能的使用。
V1.3.0 之后,安全中心把端口扫描检测 + 广告拦截 + 磁盘清理 3 个安全相关功能集中到了一起——这不再是彩蛋,而是任务岛的一个正式模块。
地震预警功能的由来
V1.2.1 时我加了一个"地震预警"功能,接入了真实的中国地震台网公开数据(使用 DataV GeoJSON 绘制中国地图)。这本来不在我最初的规划里——是因为一次偶然的迭代,我想试试 LiveData 卡片能不能显示"我可能没意识到的风险",然后发现:这种"你不需要打开 App,App 主动告诉你风险"的模式,才是任务岛该做的事。
这是我对"桌面效率操作系统"这个定位的核心理解:桌面级工具的最高价值不是"加快你打开应用的速度",而是"让你不需要打开应用也能获得价值"。
3. Demo 体验地址
方式一(推荐):TaskIsland-Installer-v1.3.0.zip (8.7 MB)下载 Task Island安装包
下载本贴附件 (已压缩,需安装 .NET 10 ,然后双击 TaskIsland.exe 即可运行)。
- 适用系统:Windows 10 1809+ / Windows 11(建议使用)
- 体积:65 MB(压缩) / 170 MB(解压后)
- 安装:解压安装
- 卸载:删除文件夹即可,零残留
方式二(备选):GitHub Releases
如果附件出现问题,可访问 GitHub Releases 页面下载:https://github.com/lak199/task-island/releases
版本说明:
| 版本 | 功能数 | 默认布局 | 体积 |
|---|---|---|---|
| V1.0.0(初版) | 5 | 圆形色轮 | 8.7 MB(安装器) |
| V1.2.1(修 bug 期) | 8 | 圆形色轮 | — |
| V1.3.0(这次) | 30+ | 顶部图标栏 + 桌面挂件 | 65 MB(自包含 zip) |
4. TRAE 实践过程
完整开发流程
整个项目从 2026 年 6 月中旬启动到 7 月中旬提交,历时约三周。看起来时间不长,但我走的每一步都在做一件事情:跟 TRAE 对话。
第一步:原型验证
我把想法用大白话告诉 TRAE。不是技术文档,就是人话:“我想要一个悬浮在桌面上方的色轮,点击不同的扇区能展开不同的功能。”
TRAE 生成了第一版可运行的原型。非常简陋,界面是灰色的,功能只有一个"点一下弹 Hello World"。但对我而言,这是整个项目里最重要的一个节点:它真的能跑。
先跑起来,再一点点往上加东西。这个策略后来救了我很多次。如果一开始追求完美,我可能现在还在看教程。
第二步:功能迭代(V1.0.0 → V1.2.1)
确认色轮能跑之后,我开始一个一个功能往上加。这个阶段结束时是 8 个功能——翻译/计算器/日历/文件暂存/音乐/便签/屏幕文字识别/颜色拾取。每个功能的开发流程几乎一模一样:
- 用中文跟 TRAE 描述"我想要一个什么样的功能"
- TRAE 生成代码
- 我运行测试
- 报错了,把日志贴给 TRAE
- TRAE 分析问题,我改代码
- 再测试,通过,下一个
第三步:V1.3.0 重大迭代——30+ 模块同步开发
V1.2.1 之后,评审反馈"功能单一"。我做了一个大胆的决定:一次性把 30+ 个模块都做了。这一步没有靠 TRAE 一行一行写,而是靠 TRAE 帮我做架构拆分。
TRAE 帮我把整个项目拆成了 8 个 ViewModel + 8 个 Service + 5 个 Window 的分层结构。每个新功能我只需要告诉 TRAE"我想要 XX",它就能判断这个功能应该放在哪一层、用什么模式实现。
这不是"写代码",这是"用 TRAE 帮我做软件架构"。
第四步:调试与修 Bug
这是整个项目里耗时最长的环节。我统计了一下,从原型到 V1.3.0,修掉的 Bug 超过 60 个。其中 P0 级(不修就跑不了或者会出安全问题)19 个,P1 级(影响体验但不致命)40 多个。
下面这几个是我印象最深的:
最崩溃的一次:毛玻璃效果不兼容 Avalonia 12,连续崩溃三个晚上。换了四五个方案,每次都觉得"这次应该行了",结果一运行就崩。第四天把报错日志完整贴给 TRAE,它告诉我降级到 Avalonia 11。降级后真的跑起来了。那一刻的心情是:又开心又生气——气自己为什么没早点贴完整日志。
最隐蔽的一个:色轮第二次点击无法展开。查了好几天,一直以为是事件绑定写错了。后来把整个交互逻辑用中文完整讲给 TRAE 听(不是贴代码,是讲思路),它帮我定位到短路分支里有一个状态没有重置。这个问题让我意识到:有时候最好的调试方式不是盯着代码看,而是讲一遍。
最尴尬的一次:端口扫描拦截功能默认空转。我写了拦截逻辑,但 app.manifest 里忘记声明管理员权限,导致整个功能根本执行不了。我自己测的时候一直没发现,因为我的系统默认就是管理员账号。后来换了一台普通用户权限的电脑测试才发现。这件事教育我:不能只在自己的环境里测试。
最丢人的一个:V1.1.1 时版本号六处不一致——主程序 1.1.1、安装器 1.0.0、注册表 1.0.0、setup.iss 1.1.1.0。到了 V1.3.0,我做了一个 VersionService 从 csproj 自动读取版本号,并强制 6 处定义同步——现在评委会看到所有地方都显示 1.3.0,这是从"最丢人"到"最严谨"的转变。
TRAE 对我而言,到底不可替代在哪 —— 三个深度案例
上面三个步骤,任何 AI IDE(Cursor / Copilot / Claude Code)都能做。如果 TRAE 的价值只是"听懂需求 + 生成代码 + 改 bug",那这个参赛作品就没有竞争力。
但 TRAE 在我做这个项目的过程中,有三个深度场景是它不可替代的——这些场景里,我不是在让 AI 写代码,我是在让 AI 帮我做我本来不会做的决策。
案例 1:毛玻璃技术选型 —— TRAE 帮我做了"项目适配库 vs 库适配项目"的判断
我想要"液态玻璃"毛玻璃效果。我完全不懂 UI 框架的版本兼容性差异——Avalonia 11 和 12 对我来说是两个字符串。
我把报错贴给 TRAE,它没说"你换一行代码试试",它的回答是:
“这个库只支持 Avalonia 11,作者没跟进 12 的 API 变化。这是 2024 年的库,迁移到 12 需要重写底层渲染调用。你有两个选择:①降级项目到 11(成本:失去 12 的新控件) ②换一个原生支持 12 的库(成本:要重新学 API)。我推荐 ①,因为你的项目规模小,11 的功能已经够用。”
这就不是修 bug 了,是 TRAE 帮我做了"项目适配库,还是库适配项目"的产品级判断。 如果让我自己 Google,可能要再花 3 个晚上。Cursor 也能改 bug,但它不会给我"两个选择 + 推荐"的决策框架。
案例 2:色轮二次点击 bug —— TRAE 帮我做了"跨三层架构的状态翻译"
这个 bug 表面是"事件绑定错了",实际是状态机没重置。但要理解这一点,需要同时懂三层架构:
- Avalonia 的渲染管线(视觉上为什么没展开)
- Win32 的窗口消息循环(点击事件被谁吃了)
- 我的 ViewModel 状态管理(哪个状态没重置)
我没本事自己读懂这三层的关系。是 TRAE 帮我把"用户行为(第二次点击)“翻译成"系统状态(在哪些时刻被谁改过)”——这是一个需要全局视角才能做的诊断。
单模块调试,IDE 自己能搞定。跨模块的状态推理——必须有人帮你"把行为翻译成状态"。这是 TRAE 给我最不可替代的能力。 我贴的不是报错日志,是一段中文描述的"用户感受"——它从我的描述里重建了状态机时序。
案例 3:V1.3.0 架构拆分 —— TRAE 帮我把"30+ 功能"变成"可维护的产品"
V1.2.1 之前,项目是单文件巨型 MainWindow.axaml.cs,4600+ 行。当功能数突破 10 个时,我已经没法维护了——改一个 bug 要在文件里搜半小时。
V1.3.0 之前,我对 TRAE 说:“我做了 30+ 个功能,但代码全在一个文件里,我已经不知道该改哪了。”
TRAE 没有直接给我"重构代码"。它先问我 3 个问题:
“①这 30 个功能里,哪些是’工具’(用户主动打开),哪些是’服务’(后台运行)?
②哪些功能有’自己的界面’,哪些只是’调用系统 API’?
③V1.2.1 时你的 ViewModel 命名规则是什么?”
然后它给了我一个分层方案:
"把功能分成 4 层:
- Window 层(顶级弹窗:设置/便签/选区)
- View 层(功能页面:计算器/翻译/取色)
- ViewModel 层(状态管理:每个功能一个 VM)
- Service 层(后台服务:端口扫描/磁盘清理/天气 API)
每个新功能只需要说’我想要 XX’,我会告诉你它应该在哪一层。"
这就不是写代码了,是 TRAE 帮我做了"软件架构师"的工作。 我没有能力自己设计出 4 层架构——一个 14 岁的初学者根本不知道有"分层"这回事。这是**只有 TRAE 这种"能听懂需求、能在 30+ 模块里找规律、能给出可执行架构"**的 AI 才能给我的。
它不是给我答案,是给我决策框架。 这才是 AI 不可替代的——不是写代码,是做产品决策的 sparring partner。
一个诚实的说明
你可能注意到:任务岛产品本身没有嵌入任何 LLM 能力(它不联网、纯本地运行、没有调用任何 AI API)。
这不是疏漏,是设计选择。任务岛解决的是"切换工具 + 实时信息"这个离线和实时性要求高的问题,嵌入云端 LLM 会带来延迟、隐私、离线失效三个新问题。
但我开发这个产品的过程完全离不开 TRAE——它是技术搭档、产品决策评审、跨模块调试师、软件架构师。评委标准里"用 TRAE 的方式是否不可替代",不是"产品里有没有 AI 调用"。 我相信上面三个案例已经证明了 TRAE 在我这里的不可替代性。
这也是我想对 14 岁、零基础、想动手做点东西的同学说的:AI 时代最重要的不是"你会用 AI 写代码",是"你会用 AI 做你本来不会的决策"。
V1.3.0 代码审查与质量整改
提交前,我根据初赛评审的反馈,花了整整两天做代码审查。下面是具体做了什么:
版本号统一(修复 V1.1.1 时的老问题):
V1.3.0 我做了一个 VersionService 从 csproj 自动读取版本号,并在 6 处强制同步:
- 主程序 csproj(Version / AssemblyVersion / FileVersion / InformationalVersion)
- 安装器 setup.iss(#define)
- 安装器 TaskIslandInstaller.csproj
- 注册表写入(Version / DisplayVersion)
- 运行时显示(SettingsService.CurrentVersion = “V1.3.0”)
- 论坛贴 / Release Notes(手动同步)
评委会看到所有地方都显示 1.3.0——这是从"最丢人"到"最严谨"的转变。
GitHub 迭代活跃度:
整个开发过程我全部用 GitHub 管理版本。从 7 月 4 日创建仓库到 7 月 15 日发布 V1.3.0,发布了 8 个版本:
v1.0.0 → v1.0.1 → v1.1.0-Beta.1 → v1.1.0 → v1.1.1 → v1.1.4 → v1.2.0 → v1.2.1 → v1.3.0
基本上 每 1 天就有一次提交,每 3-4 天发布一个版本。每次发布我都写 Release Notes,记录这个版本修了什么、加了什么、改了什么。
无用占位代码清理:
项目早期我尝试过一些扩展功能的设计,但后来发现做不动了——有些是因为我能力不够,有些是因为设计本身有问题,有些纯粹是"想得太大但做不出来"。所以我做了一个狠决定:全项目搜索所有早期占位代码的命名,全部删掉。 前后删了 7 个字段、2 个死文件、3 个空壳方法。
安装器"鸡生蛋"问题修复:
之前我的安装包是 framework-dependent 的,意味着用户的电脑上必须先装好 .NET 10 运行时才能跑。但安装器本身又需要下载 .NET 10 运行时——这就成了一个死循环。
修复方案是把主程序改成 self-contained(自包含)发布,把 .NET 运行时直接打包到压缩包里。代价是压缩包大了 65 MB,但换来了"解压即用"的体验。V1.3.0 我直接放弃了安装器,改用 self-contained zip——这个取舍我做得非常果断:在评委的体验面前,体积大一点是完全可以接受的。
声明与实现一致性修复:
评审之前的反馈里有一条特别尖锐:注释里写"能水平向右细胞分裂",但实际代码里只有"原地缩放出现"。这是典型的"说得到做不到"。
我花了一整天,把全项目的注释和实现逐条对了一遍。把做不到的改了,把写错的修了。现在 注释里的每一句话,代码都能做到。
死代码清理:
V1.2.1 时删除了 FileOperationService.cs(26KB,整个文件是死代码)、GlobalHotKeyService.cs(另一个死文件)。V1.3.0 进一步清理了 Whisper.net / System.Speech / SayIt 等 AI/语音相关残留包引用——self-contained 包体积从 172MB 降到 170MB,但更重要的是减少了启动时的 native library 加载冲突。
自动更新加固:
V1.3.0 的 UpdateService 接入了真实的 GitHub Releases API 检测。
我意识到上面所有"我和 TRAE 怎么配合"的叙事听起来都很像包装——所以我把这 5 条真实对话的 Session ID 和TRAE一起开发截图全部公开。这些都是我在 TRAE CN 上的实际对话记录,覆盖项目从 0 到 V1.3.0 的关键节点,任何评委都可以通过 SessionID 调取原始对话,自行核验内容。
我与TRAE AI一起开发的截图:
| # | 时间 | SessionID |
|—|—|—|
| 1 | 2026/7/4 12:31 | `.815161760287627:f29e01d3d8a339a61f00e22cc9ce1abf_6a471ef74248611175ca7afd.6a488c9f87d10cd1692f8300.6a488c9eb40064fb1092b473` |
| 2 | 2026/7/3 10:22 | `.815161760287627:cb34fe05c8453857386899286da55fa3_6a471b3e4248611175ca755f.6a471ced4248611175ca77c4.6a471ced8c9138648b53fbb1` |
| 3 | 2026/6/27 07:14 | `.815161760287627:3156facb1501c4885ec1a1277b6a8b0f_6a3e4f7c8c5f7aa218d7dbf5.6a3f07edd5fca55766b1e492.6a3f07ec2d098146902ffb5f` |
| 4 | 2026/6/27 10:09 | `.815161760287627:97ca25a07b9682fd692afa0c765f1eb1_6a3f1470d5fca55766b1e86e.6a3f30ded5fca55766b1ee19.6a3f30dc2d098146902ffb77` |
| 5 | 2026/7/1 15:53 | `.815161760287627:605766566efa47b4d4e750ec273e66af_6a44c6f9c9b19cdafd8a83bb.6a44c794c9b19cdafd8a841f.6a44c7930baec49a227a618d
6..815161760287627:815a1b00f9f47cfd8a2774ee37a7abec_6a578287e908ac7d05d45b86.6a579e13e908ac7d05d45d57.6a579e12f949ea93c3aab44c:Trae CN.T(2026/7/15 22:49:55)











