Golang + Genkit 实战:告别手动周报,让 AI 帮你整理一切!

AI出来这么久了,你是否用她解决过工作中的那些"内卷",现在的工作实在是太"内卷"了,每周五都要手写一份合格的工作周报,不准时提交还要扣绩效。

每周五下午,你是否也在苦苦整理 Git 提交、Excel 表格和会议纪要,然后在 Word/Markdown 里敲出一份周报?别人的周五都是快乐的,码农们还得因为周报而加班加点。

今天我们用 Golang + Genkit 构建一个 智能周报生成系统,从 Git 提交、Excel 任务表到 Markdown 文档,自动生成结构化周报,让你有更多时间写代码,而不是写周报,"把快乐的周五还给码农!"。

至于为什么用 Genkit 来做案例呢? 只是因为手上的OpenAI那可怜的Free额度一年前就已经用尽了,只能申请一个Genkit 蹭一下免费额度,至于付费的AI还是觉得个人必要性不大用得少,那天Genkit 免费额度用完了, 就该用自己搭的了。


1️⃣ 你是否也在"被周报追着跑"?

每周五下午,打开 Git 看提交、翻 Excel 看任务、再看看文档总结......你是不是已经累成狗?

更糟的是,有时候你发现自己漏掉了关键任务或者某条提交,周报就变得不完整,领导看了也心里"咯噔"一下。可恨的是还会扣绩效影响那本身就被"压榨"的薪水。

解决方案 :让 AI 来帮你做这些重复又繁琐的事情------我们要做的,就是一个 自动化周报生成系统


2️⃣ 技术选型 & 架构

我们选择 Golang,因为它性能高、并发优秀、部署方便

Genkit 用来把 AI 模型和我们的工具串起来,核心思想是:

css 复制代码
Git 仓库 → Git Tool → 
Excel 表格 → Excel Tool → 
文档目录 → Doc Tool → 
Genkit Flow → AI生成结构化 JSON → 
Export Tool → Markdown 周报

可以把它想象成:你在办公室,AI 同事帮你整理所有信息,把它们汇总到一份漂亮的周报里。


3️⃣ 数据结构设计------给 AI 定好格式

go 复制代码
type Metrics struct {
    Commits        string `json:"commits"`        
    TestsAdded     string `json:"testsAdded"`     
    CoverageChange string `json:"coverageChange"`
}

type WeeklyReport struct {
    Week            string   `json:"week"`
    Summary         string   `json:"summary"`
    KeyAchievements []string `json:"keyAchievements"`
    Issues          []string `json:"issues"`
    NextWeekPlan    []string `json:"nextWeekPlan"`
    Metrics         Metrics  `json:"metrics"`
}

⚠️ 这里要强调:Metrics 必须显式定义字段 ,否则 Genkit 会吐出 400 错。

这就像你要给 AI 画地图,必须先标出关键地点,否则它可能在空白图上乱画。


4️⃣ Flow 实战演示

go 复制代码
reportFlow := genkit.DefineFlow(g, "generateWeeklyReport",
    func(ctx context.Context, input *types.WeeklyInput) (*types.WeeklyReport, error) {
        repoSum, _ := tools.GetGitSummary(ctx, input.RepoPath)
        excelSum, _ := tools.GetExcelSummary(ctx, input.ExcelPath)
        docSum := input.DocsSummary
        if docSum == "" {
            docSum, _ = tools.SummarizeDocs(ctx, g, "./docs")
        }

        prompt := fmt.Sprintf(`
请生成周报 JSON:
Git提交:%s
文档摘要:%s
Excel数据:%s
字段要求:week, summary, keyAchievements, issues, nextWeekPlan, metrics
`, repoSum, docSum, excelSum)

        report, _, err := genkit.GenerateData[types.WeeklyReport](ctx, g, ai.WithPrompt(prompt))
        if err != nil { return nil, err }
        report.Week = time.Now().Format("2006-01-02")
        _, _ = tools.ExportMarkdown(ctx, report)
        return report, nil
    })

这里的 Flow 就像一个聪明助理,你把原料(Git/Excel/文档)交给它,它自动输出可用的周报 Markdown 文件。


5️⃣ 输出示例(直接看到成果才爽)

markdown 复制代码
# 本周周报(2025-11-04)

## 概述
本周完成接口优化与报表导出功能初步上线。

## 主要成果
- API重构,缓存优化
- 测试覆盖率提升
- 文档自动摘要完成

## 问题与风险
- 测试环境偶发延迟

## 下周计划
- 日志监控优化
- 报表功能完善

## 关键指标
- 提交次数:24
- 新增测试:18
- 覆盖率变化:+3.2%

AI 自动生成,省掉至少 30 分钟重复整理时间。


6️⃣ 实战经验分享(轻松幽默版)

  1. 注册自定义工具:Git/Excel/文档 → Flow → AI
  2. JSON Schema 必须明确:Metrics 字段不能空
  3. 文档自动摘要:AI 提炼核心内容,比你自己看一遍快 5 倍
  4. 可扩展性:RAG 历史周报引用,风格统一
  5. 跨平台注意事项:PowerShell JSON 转义、国内代理配置

7️⃣ 总结

从"被周报追着跑"到"AI 帮你写周报",只需要 Golang + Genkit + 5分钟配置。 一旦养成整理文档的习惯,再改改源码让她全自动帮你定时生成发布,那更省事了。你在生活和工作遇到要AI帮忙的例子没有,有的话欢迎在评论区留言讨论?

听说AI能改变生活,但是对于20来年的码农来说,AI只是一台听话的机器罢了。

💻 源码地址

相关推荐
信码由缰3 小时前
如何构建 AI 智能体(2025 完全指南)
ai编程
砖业林coco5 小时前
go语言使用 zhinao-go 轻松调用 360智脑
llm·go
百锦再6 小时前
第6章 结构体与方法
android·java·c++·python·rust·go
Kapaseker8 小时前
Go 语言真正擅长的领域是什么?
go
百锦再9 小时前
第5章 所有权系统
运维·git·python·eclipse·go·github·负载均衡
寒秋丶21 小时前
Milvus:数据库层操作详解(二)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
Mgx1 天前
深入理解 Windows 全局键盘钩子(Hook):拦截 Win 键的 Go 实现
go
寒秋丶1 天前
Milvus:集合(Collections)操作详解(三)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库
寒秋丶1 天前
Milvus:Schema详解(四)
数据库·人工智能·python·ai·ai编程·milvus·向量数据库