17ccom:揭秘数字时代的无限可能

核心内容摘要

萌幻之乡:ACG爱好者的终极数字庇护所
17c.一网打尽!免费高清影院,让你宅家也能嗨翻天!

霓虹灯下的禁忌深渊:探秘《波人妻的家庭教师之秘密》背后的心理博弈

åº�ç« ä¸ºäº†ä¸�想写日报我写了个代ç �如æ�œæ˜¯ç¨‹åº�员最讨å�Œçš„事情æ�’行榜“写日报/周报â€�ç»�对能进å‰�三。æ¯�天晚上 6 ç‚¹å½“ä½ åˆšåˆšè§£å†³å®Œä¸€ä¸ªå¤�æ�‚的并å�‘ Bug大脑还在å›�味代ç �的优雅时钉钉/é£�书弹出一个æ��醒“请æ��交今日日报â€�。ç�¬é—´ä½ 的大脑一片空白。“我今天干啥了â€�“上å�ˆå¥½åƒ�在修ç�¯å¢ƒâ€�“下å�ˆé‚£ä¸ª Bug 到底改了哪里â€�最å��ä½ å�ªèƒ½æ‰“å¼€ Git Log一行行å¤�制粘贴凑出一篇æµ�水账。这是对生命æ��大的浪费。作为一å��æ��客我们的å�Ÿåˆ™æ˜¯å‡¡æ˜¯è¶…过三次的é‡�å¤�åŠ³åŠ¨éƒ½åº”è¯¥è‡ªåŠ¨åŒ–ã€‚ä»Šå¤©æˆ‘å°†å¸¦ä½ ä»�零开始用Python Git Log LLM (大模å�‹)æ�­å»ºä¸€ä¸ª**“全自动日报生æˆ�器â€�**。它ä¸�仅能自动读å�–ä½ çš„ä»£ç �æ��交记录还能利用 AI çš„æ¶¦è‰²èƒ½åŠ›æŠŠç ´ç¢�çš„æ��交信æ�¯é€šè¿‡â€œSTAR å�Ÿåˆ™â€�ç¾�化æˆ�一份让è€�æ�¿æ— å�¯æŒ‘剔的专业日报并自动æ�¨é€�åˆ°å·¥ä½œç¾¤ã€‚â… . æ�¶æ�„设计把“æµ�æ°´è´¦â€�å�˜æˆ�“å¥�折â€�我们ä¸�能å�ªæ˜¯ç®€å�•地把 Git Log 扔给è€�æ�¿é‚£æ˜¯â€œæ•°æ�®â€�ä¸�是“信æ�¯â€�。我们需è¦�ä¸€ä¸ªåŠ å·¥å�‚ã€‚è¿™ä¸ªå·¥å…·çš„æ ¸å¿ƒé€»è¾‘Pipelineé��常清晰是一个典å�‹çš„RAG检索å¢�强生æˆ�的微å�‹åº”用数æ�®å±‚ (Miner)ä»�ä½ çš„æœ¬åœ°ä»£ç �仓库挖æ�˜å½“天的“工作痕迹â€�Git Commits。组装层 (Assembler)将这些痕迹清洗ã€�å�»é‡�并拼æ�¥æˆ� AI 能读懂的 Prompt。大脑层 (Brain)调用 LLM API (OpenAI/DeepSeek/Gemini)让 AI æ ¹æ�®é¢„设的人设Senior Engineer进行润色。触达层 (Courier)将生æˆ�çš„ Markdown 报告æ�¨é€�到é£�书/钉钉机器人。系统æ�¶æ�„图

���交记录

补充上下文Raw Logs结�化 DataAPI Request生�日报文本WebhookGit 仓库数�日� / Todo 事项数�挖�器 GitMiner清洗器: ��/脱�Prompt 组装器AI 大模�Markdown 渲染�业微信 / �书 / 钉钉Ⅱ. 数�挖���欺骗自己Git �会撒�日报写�出�本质是上下文丢失。而 Git Commit Log 是最诚�的记录者。我们需�编写一个 Python 脚本自动��当�用户�今天的所有�交。

1 æ ¸å¿ƒä¾�赖我们需è¦�gitpythonæ�¥æ“�作 Gitrequestsæ�¥è°ƒç”¨ API。pipinstallgitpython requests openai

2 挖æ�˜æœºä»£ç �å®�ç�° (miner.py)这个模å�—è´Ÿè´£æ·±å…¥ä½ çš„é¡¹ç›®ç›®å½•æŠŠä»Šå¤©çš„æ��交挖出æ�¥ã€‚importosfromdatetimeimportdatetime,timefromgitimportRepo,InvalidGitRepositoryErrorclassGitMiner:def__init__(self,repo_paths,author_name): :param repo_paths: list, 项目路径列表支æŒ�多项目监æ�§ :param author_name: str, ä½ çš„ Git 用户å��防止把å�Œäº‹çš„æ��交算进å�» self.repo_pathsrepo_paths self.author_nameauthor_namedefget_daily_commits(self):daily_logs[]todaydatetime.now().date()# 定义今天的起止时间start_of_daydatetime.combine(today,time.min)end_of_daydatetime.combine(today,time.max)print(fï¸� 正在挖æ�˜{today}的代ç �æ��交...)forpathinself.repo_paths:try:repoRepo(path)# 检查是å�¦æœ‰å½“天æ��交forcommitinrepo.iter_commits():# æ��交时间转 datetimecommit_datedatetime.fromtimestamp(commit.committed_date)# 过滤æ�¡ä»¶å¿…须是今天且必须是本人if(start_of_daycommit_dateend_of_day)and\(self.author_nameincommit.author.name):# æ��å�–关键信æ�¯Hashå‰�7ä½� æ��交信æ�¯log_entryf[{repo.working_dir.split(/)[-1]}]{commit.hexsha[:7]}-{commit.message.strip()}daily_logs.append(log_entry)# 优化如æ�œé��å�†åˆ°æ˜¨å¤©çš„æ��交直æ�¥ä¸­æ–­å½“å‰�仓库的循ç�¯Git log 是倒åº�çš„ifcommit_datestart_of_day:breakexceptInvalidGitRepositoryError:print(fâš ï¸� 警告:{path}ä¸�是一个有效的 Git 仓库已跳过。)continuereturndaily_logsif__name____main__:# 测试代ç �minerGitMiner(repo_paths[/Users/admin/Work/ProjectA,/Users/admin/Work/ProjectB],author_nameJackMa)logsminer.get_daily_commits()print(\n.join(logs))é�¿å�‘指å�—很多时候我们会在多个项目间切æ�¢ã€‚所以repo_paths设计为列表支æŒ�一次性扫æ��所有正在开å�‘的项目。Ⅲ. AI 炼金术Prompt Engineering æ˜¯æ ¸å¿ƒå¦‚æ�œä½ ç›´æ�¥æŠŠ Git Log 扔给 AI 说“帮我写个日报â€�它大概ç�‡ä¼šç»™ä½ å†™å‡ºä¸€å †åºŸè¯�。我们需è¦�通过 Prompt 让 AI 扮演一个**“高情商ã€�懂技术的资深工程师â€�**。我们需è¦� AI å�šä¸‰ä»¶äº‹å½’纳把ç��ç¢�çš„fix bugå�ˆå¹¶æˆ�一个完整的功能点。润色把修改了空指针å�˜æˆ�优化系统稳定性修å¤�潜在的空指针异常å�¬èµ·æ�¥å°±è´µäº† 2000 å�—。æ�’版输出符å�ˆ Markdown æ ¼å¼�的列表。

1 定义 Prompt 模æ�¿ (prompt_manager.py)SYSTEM_PROMPT ä½ æ˜¯ä¸€å��资深软件工程师擅长å�‘上管ç�†å’Œå·¥ä½œæ±‡æŠ¥ã€‚ ä½ çš„ä»»åŠ¡æ˜¯æ ¹æ�®ç”¨æˆ·æ��供的 Git Commit Logs生æˆ�一份高质é‡�的“æ¯�日工作汇报â€�。 è¦�求

**结�清晰**使用 STAR �则Situation, Task, Action, Result�新组织语言。

**语气专业**��使用�水账���体�技术深度和业务价值。

**�并�类项**如�有多� Commit ���一个功能开�请�并为一�汇报。

**æ ¼å¼�规范**输出 Markdown æ ¼å¼�包å�«ã€�今日工作内容】ã€�ã€�é�‡åˆ°çš„问题ä¸�解决】如æ�œLog里体ç�°äº†Bug fixã€�ã€�æ˜�æ—¥è®¡åˆ’ã€‘æ ¹æ�®ä»Šæ—¥å†…容æ�¨æµ‹ã€‚

**æ‹’ç»�废è¯�**ä¿�æŒ�简æ´�有力。 USER_TEMPLATE 这是我今天的 Git æ��交记录 {git_logs} 请帮我生æˆ�日报。 â…£. æ ¸å¿ƒå¼•æ“�æ�¥å…¥ LLM (brain.py)这里我们使用 OpenAI SDKä½ å�¯ä»¥éš�æ„�替æ�¢ä¸º DeepSeekã€�Moonshot 或本地 Ollama çš„ API 地å�€ã€‚fromopenaiimportOpenAIfromprompt_managerimportSYSTEM_PROMPT,USER_TEMPLATEclassAIBrain:def__init__(self,api_key,base_urlhttps://api.openai.com/v1,modelgpt-

5-turbo):self.clientOpenAI(api_keyapi_key,base_urlbase_url)self.modelmodeldefgenerate_report(self,git_logs):ifnotgit_logs:return ç»�è¿‡æ£€æµ‹ä½ ä»Šå¤©ä¼¼ä¹�没有æ��交任何代ç �... 是在摸鱼还是在å�šæ�¶æ�„设计建议手动补充# 拼æ�¥ raw stringraw_logs\n.join(git_logs)try:print( AI 正在疯狂æ€�考如何ç¾�åŒ–ä½ çš„å·¥ä½œ...)responseself.client.chat.completions.create(modelself.model,messages[{role:system,content:SYSTEM_PROMPT},{role:user,content:USER_TEMPLATE.format(git_logsraw_logs)}],temperature

7# ç¨�å¾®æœ‰ç‚¹åˆ›é€ åŠ›ä½†åˆ«å¤ªç¦»è°±)returnresponse.choices[0].message.contentexceptExceptionase:returnfâ�Œ AI 罢工了:{str(e)}â…¤. 最å��一公里自动æ�¨é€� (courier.py)生æˆ�了文本å¤�制粘贴还是太累。我们è¦�ç›´æ�¥æ�¨é€�到群里。以é£�书机器人 (Lark Bot)为例钉钉和ä¼�业微信å�Œç�†éƒ½æ˜¯ Webhook。importrequestsimportjsonclassFeishuCourier:def__init__(self,webhook_url):self.webhook_urlwebhook_urldefdeliver(self,markdown_content):headers{Content-Type:application/json}# é£�ä¹¦æœºå™¨äººçš„å¯Œæ–‡æœ¬æ ¼å¼�payload{msg_type:interactive,card:{header:{title:{tag:plain_text,content: 自动日报生æˆ�},template:blue},elements:[{tag:div,text:{tag:lark_md,content:markdown_content}},{tag:hr},{tag:note,elements:[{tag:plain_text,content:Powered by Python AI }]}]}}try:resrequests.post(self.webhook_url,headersheaders,datajson.dumps(payload))ifres.status_code200:print(✅ 日报已æˆ�功æ�¨é€�到é£�书群)else:print(fâš ï¸� æ�¨é€�失败:{res.text})exceptExceptionase:print(fâ�Œ 网络错误:{e})â…¥. 完整组装ä¸�è¿�行 (main.py)ç�°åœ¨æˆ‘们将所有模å�—组装在一起æ�„æˆ�最终的执行脚本。importosfromdotenvimportload_dotenvfromminerimportGitMinerfrombrainimportAIBrainfromcourierimportFeishuCourier# åŠ è½½ç�¯å¢ƒå�˜é‡� (API Key ç­‰æ•�感信æ�¯)load_dotenv()# é…�置区CONFIG{REPO_PATHS:[/Users/yourname/project/backend,/Users/yourname/project/frontend],AUTHOR_NAME:YourGitName,LLM_API_KEY:os.getenv(LLM_API_KEY),LLM_BASE_URL:os.getenv(LLM_BASE_URL,https://api.openai.com/v

,LLM_MODEL:gpt-

5-turbo,WEBHOOK_URL:os.getenv(FEISHU_WEBHOOK)}defmain():#

挖�minerGitMiner(CONFIG[REPO_PATHS],CONFIG[AUTHOR_NAME])logsminer.get_daily_commits()print(f 共扫�到{len(logs)}�今日�交。)#

�考brainAIBrain(CONFIG[LLM_API_KEY],CONFIG[LLM_BASE_URL],CONFIG[LLM_MODEL])reportbrain.generate_report(logs)print(-*

print(report)# 在�制�先预览一下print(-*

#

å�‘é€� (å¢�åŠ ä¸€ä¸ªç¡®è®¤æ­¥éª¤é˜²æ­¢ AI胡说八é�“ç›´æ�¥å�‘群里)confirminput( 是å�¦æ�¨é€�到群里? (y/n): )ifconfirm.lower()y:courierFeishuCourier(CONFIG[WEBHOOK_URL])courier.deliver(report)else:print(å·²å�–消å�‘é€�。)if__name____main__:main()â…¦. 进阶ç�©æ³•让它更è�ªæ˜�上é�¢çš„版本已ç»�能用了但作为一个有追求的æ�¶æ�„师我们还å�¯ä»¥åŠ å…¥æ›´å¤šåŠŸèƒ½

1 åŠ å…¥æ—¥å�†ä¸Šä¸‹æ–‡ (Context)代ç �å�ªæ˜¯å·¥ä½œçš„一部分。有时候我们一整天都在开会。æ€�è·¯æ�¥å…¥ Google Calendar API 或 读å�–本地.todo文件。在Prompt中å¢�åŠ ä¸€æ®µå�¦å¤–这是我今天的日å�†äº‹é¡¹{calendar_events}。如æ�œä»£ç �æ��交很少请结å�ˆä¼šè®®å†…容侧é‡�æ��述方案设计和沟通。

2 éš�ç§�ä¿�护ä¸�脱æ•�ç›´æ�¥æŠŠå…¬å�¸æº�ç �çš„ Commit Message å�‘ç»™ OpenAI å�¯èƒ½å­˜åœ¨å�ˆè§„é£�险。优化在GitMinerä¸­åŠ å…¥æ­£åˆ™è¿‡æ»¤æŠŠæ•�感的 IPã€�Tokenã€�内部项目代å�·è‡ªåŠ¨æ›¿æ�¢ä¸º***。或者使用本地部署的Llama 3或Qwen模å�‹ç¡®ä¿�æ•°æ�®ä¸�出内网。

3 定时自动触�虽然手动跑脚本很爽但我们希望更懒。Mac/Linux 用户�以使用Crontab# �天下� 18:30 自动�行3018* *

/usr/bin/python3 /path/to/main.py/tmp/report.logâ…§. 总结这个工具虽然简å�•但它涵盖了数æ�®é‡‡é›† - æ��示è¯�工程 - AI 交互 - 自动化集æˆ�的完整闭ç�¯ã€‚它带æ�¥çš„价值ä¸�仅仅是æ¯�天çœ�下的 10 分钟更是一ç§�æ€�ç»´æ–¹å¼�的转å�˜ä¸�è¦�è®©ä½ çš„å¤§è„‘è¢«ä½�价值的é‡�å¤�劳动å� æ�®ã€‚程åº�员的æ¯�一行代ç �都应该是为了解决问题包括解决“ä¸�想写日报â€�è¿™ä¸ªé—®é¢˜ã€‚ä¸‹ä¸€æ­¥ä½ å�¯ä»¥å°�试把这个脚本å°�装æˆ�一个 CLI 工具使用Typer或Click甚至打包æˆ�.exeåˆ†äº«ç»™ä½ çš„å�Œäº‹æ”¶ä»–们 50 å�—钱奶茶费ä¸�过分å�§ã€‚

鉴黄师免费下载安装-鉴黄师免费下载安装应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123