一个困扰已久的问题

作为一名程序员,我相当长的一段时间以来都在思考一个问题:如何利用 AI 做一个真正有价值的"产品"?

这个产品不需要很大,不需要很复杂,但一定要满足三个条件:

  1. 真实的使用场景:不是为了做而做,而是真正解决实际问题
  2. 实际的应用价值:不是玩具项目,而是能持续产生价值
  3. 有意义的技术探索:不是简单调用 API,而是深度思考人机协作

我试过很多方向:AI 代码审查工具、智能文档生成器、自动化测试助手…每个想法看起来都不错,但仔细推敲后都发现要么场景不够刚需,要么技术实现过于复杂,要么用户体验不够流畅。

一次真实的痛点体验

转机出现在一个普通的周五下午。

那天下午 5 点半,我刚解决完一个棘手的技术问题,正准备下班时,钉钉弹出了提醒:「请及时提交本周周报」。我看着编辑器里的十几个 Git 提交记录,又看着空白的周报文档,突然陷入了一种熟悉的焦虑感。

我做了什么? 我翻开 Git 提交历史,看着一条条 commit message:

  • feat: 实现工作流节点的动态注册机制
  • fix: 修复 AI 模型调用的并发超时问题
  • refactor: 重构流程引擎的状态管理,优化事件驱动
  • perf: 优化节点连接器的执行性能,减少 30% 内存占用
  • feat: 集成 OpenAI/Claude 多模型适配器

我该怎么写? 但转化成"领导能理解的语言",又是另一回事:

本周主要完成以下工作:
1. 完善了工作流核心架构,支持动态扩展节点类型
2. 解决了 AI 模型调用的稳定性问题,提升系统可靠性
3. 优化了流程引擎的运行效率,改进事件处理机制
4. 实现了多 AI 模型的统一接入,提升平台兼容性
5. 性能优化,内存占用降低 30%,执行效率显著提升
...

整个过程花了我 10 多分钟,而其中 90% 的时间都在做一件事:把代码语言翻译成人话

就在那一刻,我突然意识到:这不就是一个完美的 AI 应用场景吗?

  • 数据源清晰:Git 提交记录是结构化的、完整的、可追溯的
  • 需求明确:将技术语言转化为业务语言,这正是大语言模型的强项
  • 场景刚需:每个"打工"程序员都逃不开写日报、周报、月报
  • 价值可衡量:能直接节省时间,效果立竿见影
  • 灵活适配:无论什么时间维度的报告,本质都是选择不同的数据范围而已

更重要的是,这个场景有一个深层次的洞察:程序员的工作内容本质上已经体现在代码提交里了,也就是代码即工作,提交即日志。

插件简介

CodeDiary(代码日记) 是一款根据 Git 提交记录,由 AI 大模型总结归纳,生成工作报告的 IntelliJ IDEA 插件。

作为一个程序员专属的效率工具,CodeDiary 不仅仅是一个简单的报告生成器,更是一个重新定义程序员工作汇报方式的创新实践。它将代码提交这一程序员最本质的工作产出,通过 AI 的力量转化为领导看得懂、业务说得清的工作报告。

💡 核心理念

CodeDiary 的核心使命,是将程序员从最不想做、但又不得不做的"写报告"这件事中解放出来。

插件秉承"代码即工作,提交即日志"的设计哲学,让程序员的真实工作内容自动转化为结构化的工作汇报,将宝贵的时间从形式主义的文字游戏中解放出来,投入到真正有价值的代码创造和技术提升上。

🎯 核心能力

1. 时间范围选择 ⏰

CodeDiary 提供了灵活的时间范围选择机制,让你能够精确控制要查询的提交记录范围。

设计思考

  • 默认今天:打开插件即展示今日提交,符合最常见的使用场景
  • 快捷选择:下拉框快速切换时间范围,无需频繁调整日期
  • 自定义灵活性:日期选择器满足特殊场景需求,如"上周一到周三"

2. 提交记录可视化 📋

清晰的提交列表展示,让你对工作内容一目了然。

交互设计亮点

  • 复选框多选:勾选需要纳入日报的提交,灵活组合
  • 点击行联动:点击提交行自动切换勾选状态,快捷操作
  • 悬停查看详情:鼠标悬停在提交信息上,弹窗展示完整的提交内容(包括代码变更)
  • 视觉层次清晰:短 Hash + 时间戳 + 提交信息,信息密度合理

3. 智能报告生成 🤖

这是 CodeDiary 的核心功能——将代码提交转化为自然语言工作报告。支持生成任意时间范围的工作报告,从单日的日报到跨月的项目总结,只需选择对应的时间范围即可,生成结果展示在弹窗中,支持一键复制到剪贴板,粘贴即用。

4. 自定义配置 ⚙️

CodeDiary 提供了灵活的配置选项,让生成的报告更符合你的个人风格和公司规范。

📊 价值体现

根据我个人的使用体验:

时间节省 ⏱️

  • 传统写报告:想要写出一份质量不错的报告,平均 5-10 分钟/次,需要回忆、整理、措辞
  • 使用 CodeDiary:1 分钟内完成,勾选提交→点击生成→复制粘贴
  • 效率提升 90%+,每次节省至少 10 分钟

质量提升 📈

  • AI 生成的报告结构清晰、表达专业、要点突出
  • 基于真实代码提交,内容准确可追溯
  • 避免人为遗漏重要工作内容

心智负担 🧘

  • 消除"写报告"的心理抗拒和拖延
  • 无需在工作和汇报之间频繁切换思维
  • 让工作汇报从"额外负担"变成"顺手而为"

使用场景与最佳实践

场景 1:日常工作日报 📅

适用对象:需要每天向领导汇报工作进度的程序员

使用方式

  1. 下班前打开 CodeDiary,默认展示今日提交
  2. 勾选所有提交(通常今日的提交都需要纳入日报)
  3. 点击"生成",等待 AI 生成日报
  4. 复制生成的内容,粘贴到钉钉/企微/飞书
  5. 根据实际情况微调内容(如添加会议、讨论等非代码工作)

效果:从 10 分钟缩短到 1 分钟,效率提升 90%

技巧:如果当天提交较少,可以选择"最近 3 天",筛选出今日的重点工作生成日报。

场景 2:周报、月报、季报 📊

适用对象:需要定期提交工作总结的程序员

时间范围选择

  • 周报:选择"最近 7 天"或自定义本周一到周五
  • 月报:选择"最近 30 天"或自定义本月 1 日到月末
  • 季报:选择"最近 90 天"或自定义季度开始到结束
  • 任意时间段:通过自定义日期选择器,精确控制时间范围

使用方式

  1. 打开 CodeDiary,选择对应的时间范围
  2. 浏览提交列表,勾选重要的、有代表性的提交
    • 可以不勾选小的 bug 修复
    • 重点勾选功能开发、重构优化、性能提升等
  3. 在"其他内容"中补充非代码工作(如技术方案设计、技术分享等)
  4. 生成后整理成更结构化的报告

进阶技巧

  • 分类生成:可以分别选择"功能开发"、“问题修复”、"性能优化"等不同类别的提交,分批生成后再整合
  • 量化成果:对于性能优化类提交,可以在"其他内容"中补充具体的性能数据
  • 突出重点:周报/月报不需要罗列所有提交,选择最有价值的工作即可
  • 时间跨度越大,越要精选:月报、季报要更加聚焦核心成果,避免流水账

场景 3:技术复盘和总结 🔍

适用对象:希望定期回顾技术成长的程序员

使用方式

  1. 每周或每月使用 CodeDiary 回顾一下自己的代码提交
  2. 观察自己的工作重心:是在写新功能,还是在修 bug?
  3. 思考:
    • 哪些提交是真正有技术含量的?
    • 哪些工作是重复性的?可以通过工具或框架优化?
    • 有没有持续在学习新技术、尝试新方案?
  4. 将生成的内容作为个人成长日志,记录技术成长轨迹

深层价值:CodeDiary 不仅是工作汇报工具,更是技术成长的镜子

最佳实践建议 💡

1. 保持良好的提交习惯

CodeDiary 的效果很大程度上依赖于你的 Git 提交质量:

  • ✅ 提交信息要清晰:feat: 实现用户登录功能 优于 update,如果实在不想手写,可以下载一个通义灵码或者其他 AI 插件,都可以在 Git 提交的窗口通过 AI 来生成本次的提交记录,省时省心,特别推荐!
  • ✅ 粒度要合理:一次提交完成一个功能点,而不是一天只提交一次
  • ✅ 遵循 Conventional Commits 规范:feat/fix/refactor/perf/docs 等前缀

2. 善用配置项

  • 日报格式:根据公司或团队的日报规范配置模板
  • 补充内容:代码提交体现不了的工作,记得补充(如会议、方案设计、技术支持等)

3. AI 生成后要审查

AI 生成的内容并非 100% 完美,使用前建议:

  • 检查技术术语翻译是否准确
  • 补充量化数据(如性能提升百分比)
  • 调整表述方式以符合个人风格

4. 保护代码安全

  • CodeDiary 默认只上传提交信息,不上传完整代码
  • 如果提交信息中包含敏感信息(如服务器地址、密码等),生成前务必检查
  • 对于特别敏感的项目,建议部署私有化版本(企业版)

如何使用 CodeDiary?

安装方式

方式 1:IDEA 插件市场安装(推荐)

  1. 打开 IntelliJ IDEA
  2. 进入 Settings/PreferencesPlugins
  3. 搜索 “CodeDiary”,作者认准 “薛伟同学”。
  4. 点击 Install 安装
  5. 重启 IDE

方式 2:手动安装

  1. 访问插件官网:https://code-diary.xuewei.fun
  2. 下载离线包
  3. 进入 Settings/PreferencesPlugins⚙️Install Plugin from Disk...
  4. 选择下载的文件并安装
  5. 重启 IDE

快速开始

  1. 打开插件:右侧工具栏找到 CodeDiary 图标,点击打开
  2. 选择时间范围:根据需要选择今天(日报)、最近 7 天(周报)、最近 30 天(月报)或自定义范围
  3. 查询提交:点击查询按钮,加载对应时间范围内的提交记录
  4. 勾选提交:勾选需要纳入报告的提交记录
  5. 配置(可选):点击齿轮图标,配置报告格式和补充内容
  6. 生成报告:点击"生成"按钮,等待 AI 生成
  7. 复制使用:复制生成的内容,粘贴到你的汇报系统

设计思考与产品哲学

为什么要"让代码说话"?

在设计 CodeDiary 的过程中,我一直在思考一个问题:程序员的工作价值应该如何体现?

传统的工作汇报方式,本质上是一种"二次创作":

  1. 你先用代码表达了一次(Git 提交)
  2. 然后再用文字表达一次(日报/周报/月报)

这个过程中存在几个问题:

  • 信息损耗:文字描述往往不如代码精确,细节容易被忽略
  • 时间浪费:重复表达同一件事,耗费大量时间
  • 认知负担:在"写代码"和"写报告"之间频繁切换思维

而代码提交本身就是最好的工作日志。

无论是日报、周报还是月报,本质上都是对不同时间范围内的代码提交进行总结和归纳。时间维度不同,但数据源是一样的——都是 Git 提交记录。

每一次提交都包含了:

  • What:做了什么(提交信息)
  • When:什么时候做的(提交时间)
  • How:怎么做的(代码变更)
  • Why:为什么这么做(提交描述)

所以 CodeDiary 的核心理念是:让代码说话,让 AI 翻译。

程序员专注于写好代码、写好提交信息,剩下的"翻译"工作交给 AI。这不仅节省时间,更重要的是让程序员的工作价值得到更准确的体现。

产品设计的三个原则

在开发 CodeDiary 的过程中,我坚持了三个产品设计原则:

极简主义:简单到不需要学习

好的工具应该是"自解释"的,用户一看就知道怎么用。

CodeDiary 的交互流程只有三步:

  1. 选择:勾选需要纳入日报的提交
  2. 生成:点击按钮调用 AI 生成
  3. 复制:复制生成的内容

没有复杂的配置,没有难懂的术语,没有学习成本。

融入工作流:在工作现场解决问题

很多工具失败的原因是:让用户"绕路"。

CodeDiary 直接集成在 IDEA 里,就在你写代码的地方,就在你查看 Git 记录的地方。不需要打开浏览器,不需要切换工具,不需要离开工作现场。

以人为本:AI 是助手,不是主人

CodeDiary 的设计哲学是:AI 负责 90% 的基础工作,人负责 10% 的审查和优化。

  • 你可以选择哪些提交纳入日报(而不是 AI 自动选择)
  • 你可以配置日报格式(而不是 AI 固定格式)
  • 你可以补充其他内容(而不是只依赖 AI)
  • 你可以审查和修改生成结果(而不是盲目使用)

人始终是主导者,AI 只是工具。

结语

一个简单的开始

CodeDiary 的诞生,源于一个简单的痛点:写各种报告太费时间。

但在开发的过程中,我发现它的意义远不止于此:

  • 它是对"程序员工作本质"的思考:代码即工作,提交即日志
  • 它是对"形式主义"的反思:消除负担,保留价值
  • 它是对"人机协作"的实践:AI 增强人,而不是取代人
  • 它是对"AI 产品设计"的探索:融入工作流,自然产生价值
  • 它是对"灵活性"的实践:本质都是数据范围的选择,一个工具满足所有汇报需求

一次持续的探索

CodeDiary 只是一个开始。

在 AI 时代,我们会看到越来越多的工具和产品重新定义我们的工作方式。但我相信,好的工具应该:

  • 解决真实的问题,而不是为了 AI 而 AI
  • 融入现有的工作流,而不是创造新的负担
  • 增强人的能力,而不是取代人的价值
  • 保持简单易用,而不是增加学习成本

这是 CodeDiary 的设计理念,也是我对未来 AI 产品的期待。


如果 CodeDiary 对你有帮助,欢迎分享给你的朋友。让更多程序员从"写报告"(日报、周报、月报)这件事中解放出来,把时间花在更有价值的地方。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐