网易首页 > 网易号 > 正文 申请入驻

我用脚本彻底解放早晨,再也不回到繁琐的生活

0
分享至

html

每当我喝完咖啡,我就打开我的笔记本电脑,做一系列准备工作。这些任务并不是我工作的直接部分,但就像热身运动一样,它们为我一天的节奏奠定了基础。这包括打开一些应用程序,比如浏览器、日历、我的笔记和其他几个应用程序,以及打开几个浏览器标签。这些都不耗时,而且现在已经成为一种习惯,以至于我甚至没有意识到自己在做这些。

但我注意到,当我一次性打开所有东西时,我会在甚至还没决定自己实际需要做什么之前就陷入反应模式。这就是我想要解决的问题,所以我写了一个脚本,在启动我的Mac后运行一次,以准备我整个工作环境。

我是如何设置自动化脚本的
一个整洁的Python脚本完成了工作

在评估这个自动化时,我对是选择一个连接Gmail、Google Docs和Chrome等不同节点的n8n工作流,还是选择老牌的Python感到困惑。我决定选择后者,因为它对工作流提供了更多的控制。

这个脚本简化了我每天早上启动计算机后的日常流程,处理了我在实际开始工作之前必须完成的许多基本手动任务。这个流程包括打开特定的浏览器标签,显示例行提醒,启动Slack,并通过Docker运行我自托管的应用程序。

脚本不是一次性启动所有内容,而是有意设置了步骤。当它第一次运行时,只打开我需要的内容来帮助我定位自己。日历弹出,我的笔记应用打开,使用我的工作配置文件加载一个浏览器窗口。电子邮件和Slack延迟五到十分钟。这短暂的暂停让我在还没决定要做什么之前,避免陷入被动状态。

浏览器的设置比简单的“打开Chrome”命令更有目的性。脚本以准备工作的状态打开浏览器。这意味着加载我当前正在处理的文档、我的任务管理器(如Asana)和我用于研究的工具,如NotebookLLM。

脚本中一个更有用的部分是日历感知行为。我的笔记本电脑根据我一天的安排表现不同。如果我第一场会议在10点之前,日历会全屏打开,并且我的会议笔记文档会自动加载。如果中午之前没有会议,脚本会打开写作应用和深度工作任务列表。在周五,它会切换模式,打开报告文档和分析仪表板。提取今天的日历并根据它进行调整,其实比听起来简单,但这让系统感觉智能。

这一切都通过一个桌面快捷方式来实现
你还可以在脚本中添加更多功能

这个脚本还负责设置后台环境。它启动Docker,并启动在我的Mac上本地运行的自托管服务,以便在我需要时它们已准备就绪。还有一个轻量级的早间简报步骤,提取今天的会议,突出我的前三个任务,并提醒我常常忘记的事项。虽然我决定通过邮件获取这个简报,但你也可以使用内置库subprocess调用通知系统并发送简单消息。

我在下面附上了具体的脚本,你可以复制,替换占位符,然后直接运行。它开箱即用,但并不是一刀切的。这种设置反映了我的工作方式,而不是每个人都应该这样。例如,我使用Slack进行沟通,但你可能在使用Teams。我把笔记保存在Joplin,而你可能更喜欢Notion或Google Keep。

你还可以为此添加更多功能。例如,你可以收集和可视化数据。你可以运行后台脚本,记录活动窗口并跟踪专注时间,将这些信息存储在文本文件或CSV中。从那里,你可以进一步构建一个简单的工具,使用像Replit这样的工具来可视化数据。这样你就可以查看每天的工作表现,比如在不同应用上花费的时间。它还能帮助你按照特定的顺序来处理任务,将电子邮件和消息等沟通检查推迟到例行程序的最后。这样,像计划和技能提升这样的高优先级任务就会优先进行,而不是让任何反应性任务插入其中。

#!/usr/bin/env python3

import subprocess

import time

import os

from datetime import datetime

import webbrowser

CONFIG = {

"chrome_profile": "Profile 1",

"urls": {

"current_doc": "https://docs.google.com/document/d/YOUR_DOC_ID",

"task_manager": "https://app.asana.com/0/home",

"research_tool": "https://notebooklm.google.com",

"email": "https://mail.google.com",

},

"apps": {

"notes": "Notes",

"calendar": "Calendar",

"slack": "Slack",

},

"docker_services": [],

"delays": {

"email": 300,

"slack": 600,

},

def run_command(cmd, shell=False):

try:

result = subprocess.run(cmd, shell=shell, capture_output=True, text=True, check=False)

return result.stdout.strip()

except Exception as e:

print(f"出错: {e}")

return "返回空字符串"

def open_app(app_name): # 定义打开应用程序的函数

subprocess.Popen(["open", "-a", app_name])

def open_url(url, profile=None):

if profile: # 如果有配置文件:

chrome_path = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

subprocess.Popen([chrome_path, f"--profile-directory={profile}", url]) # 打开指定配置文件的Chrome浏览器

else: # 否则:

webbrowser.open(url)

def notify(title, message): # 定义通知函数

script = f'显示通知 "{message}",标题为 "{title}"'

subprocess.run(["osascript", "-e", script])

def start_docker(): # 定义启动Docker的函数

for service in CONFIG["docker_services"]: # 遍历配置中的Docker服务:

if service.endswith("docker-compose.yml"):

service_dir = os.path.dirname(os.path.expanduser(service))

subprocess.Popen(["docker-compose", "up", "-d"], cwd=service_dir)

else:

subprocess.Popen(["docker", "start", service])

def get_calendar_mode():

now = datetime.now()

hour = now.hour

is_friday = now.weekday() == 4

# 检查是否有早会(上午10点之前)

# 在实际版本中:从 Google 日历 API 获取数据

has_early_meeting = False # 暂时未实现

if is_friday:

return "星期五"

elif has_early_meeting:

return "会议"

elif hour < 10:

return "深度工作"

else:

return "标准"

def meeting_mode():

打开应用(CONFIG["apps"]["calendar"])

时间.sleep(2)

运行命令("""

osascript -e '告诉应用程序 "日历"

激活

tell application "System Events"

按下 "f" 键,同时按住 {command 和 control}

end tell

end tell

""", shell=True)

打开当前文档的链接(CONFIG["urls"]["current_doc"], CONFIG["chrome_profile"])

def 深度工作模式():

打开应用(CONFIG["apps"]["notes"])

打开当前文档的链接(CONFIG["urls"]["task_manager"], CONFIG["chrome_profile"])

def 周五模式():

# 请将这些替换为实际的网址

报告文档链接 = "https://docs.google.com/document/d/YOUR_REPORTING_DOC"

分析链接 = "https://your-analytics-dashboard.com"

打开网址(报告文档链接, CONFIG["chrome_profile"])

打开网址(分析链接, CONFIG["chrome_profile"])

def 常规模式():

打开日历应用(CONFIG["apps"]["calendar"])

打开应用(CONFIG["apps"]["notes"])

打开当前文档的链接(CONFIG["urls"]["current_doc"], CONFIG["chrome_profile"])

time.sleep(1)

打开当前文档的链接(CONFIG["urls"]["task_manager"], CONFIG["chrome_profile"])

time.sleep(1)

打开当前文档的链接(CONFIG["urls"]["research_tool"], CONFIG["chrome_profile"])

def 展示简报():

现在 = datetime.now()

简报 = f"""早安 - {现在.strftime('%A, %B %d')}

今天的会议安排:

- (从日历 API 中提取)

今天的首要任务:

1.

2.

3.

提醒:[你的提醒内容]

print(briefing)

notify("Morning", "Briefing ready")

def main():

start_docker()

show_briefing()

mode = get_calendar_mode()

if mode == "meeting":

meeting_mode()

elif mode == "deep_work":

deep_work_mode()

elif mode == "friday":

friday_mode()

else:

standard_mode()

# delayed opens

subprocess.Popen([

"python3", "-c",

f"import time; time.sleep({CONFIG['delays']['email']}); "

f"import subprocess; subprocess.run(['open', '{CONFIG['urls']['email']}'])"

subprocess.Popen([

"python3", "-c",

f"import time; time.sleep({CONFIG['delays']['slack']}); "

f"import subprocess; subprocess.run(['open', '-a', '{CONFIG['apps']['slack']}'])"

if __name__ == "__main__":

main()

用Python来自动化你的生活

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
核圈失守!以色列防空神话被击穿,伊朗打击圈冲出中东近4000公里,美以伊三方棋局彻底乱了!

核圈失守!以色列防空神话被击穿,伊朗打击圈冲出中东近4000公里,美以伊三方棋局彻底乱了!

国是直通车
2026-03-22 16:00:02
白宫官网发布高市早苗访美照片,日本网友:感到耻辱

白宫官网发布高市早苗访美照片,日本网友:感到耻辱

第一财经资讯
2026-03-22 16:07:02
3·15曝光:成本40元液化气卖130元,农村咋就成垄断高价重灾区?

3·15曝光:成本40元液化气卖130元,农村咋就成垄断高价重灾区?

复转这些年
2026-03-22 15:13:18
武汉长江大桥69年来罕见一幕!桥上一辆车都没有

武汉长江大桥69年来罕见一幕!桥上一辆车都没有

极目新闻
2026-03-22 14:04:55
山东再有一地级市,摘掉没有公办本科大学的帽子

山东再有一地级市,摘掉没有公办本科大学的帽子

户外阿毽
2026-03-21 03:38:51
西安再通报:将依法对涉事车辆采取行政强制措施

西安再通报:将依法对涉事车辆采取行政强制措施

观察者网
2026-03-22 17:28:05
局势升级?伊朗抵挡住了美国以色列的战略试探,接下来才是伊朗最危险的时刻!

局势升级?伊朗抵挡住了美国以色列的战略试探,接下来才是伊朗最危险的时刻!

军武速递
2026-03-21 18:37:28
震惊!建议尽快刹住所谓“宠物经济”这股歪风邪气!评论区沸腾了

震惊!建议尽快刹住所谓“宠物经济”这股歪风邪气!评论区沸腾了

火山詩话
2026-03-22 12:27:20
网上举报“民政局女干部母亲名下登记有宾利车和10套房产”,女子被判道歉10天;再次发声讲述举报原因

网上举报“民政局女干部母亲名下登记有宾利车和10套房产”,女子被判道歉10天;再次发声讲述举报原因

大风新闻
2026-03-22 12:54:09
难以置信!深圳1100套安居房,价格1.7万左右,居然只有1人选房了

难以置信!深圳1100套安居房,价格1.7万左右,居然只有1人选房了

火山詩话
2026-03-21 17:00:09
靳磊任广东省委常委、深圳市委书记

靳磊任广东省委常委、深圳市委书记

新京报
2026-03-22 12:15:28
伊朗用什么秘密武器击中美军F-35战机?“慢吞吞导弹”卡“隐身神话”BUG

伊朗用什么秘密武器击中美军F-35战机?“慢吞吞导弹”卡“隐身神话”BUG

红星新闻
2026-03-21 14:38:47
伊朗:不接受临时停火,而是要求全面结束战争;伊朗武装部队称正在霍尔木兹海峡采取重大行动,伊朗将以“自身实力”应对相关威胁

伊朗:不接受临时停火,而是要求全面结束战争;伊朗武装部队称正在霍尔木兹海峡采取重大行动,伊朗将以“自身实力”应对相关威胁

大风新闻
2026-03-22 14:39:02
特朗普要炸电厂伊朗要炸水厂,波斯湾更危险了 | 京酿馆

特朗普要炸电厂伊朗要炸水厂,波斯湾更危险了 | 京酿馆

新京报评论
2026-03-22 17:39:56
伊朗外长发布历史雕像照片: 古罗马帝国皇帝跪在古波斯帝国皇帝面前

伊朗外长发布历史雕像照片: 古罗马帝国皇帝跪在古波斯帝国皇帝面前

观察者网
2026-03-22 15:32:12
我月薪6万,妻子却总在娘家骂我没本事,还说我月薪才3000,直到这件事过后,我才明白他的做法

我月薪6万,妻子却总在娘家骂我没本事,还说我月薪才3000,直到这件事过后,我才明白他的做法

奶茶麦子
2026-03-22 17:39:03
决战温布利!阿森纳曼城争冠:哈兰德欲破0球魔咒 师徒对决

决战温布利!阿森纳曼城争冠:哈兰德欲破0球魔咒 师徒对决

叶青足球世界
2026-03-22 11:48:40
中餐正在征服全世界?骗你的

中餐正在征服全世界?骗你的

食味艺文志
2026-03-22 16:55:17
丹麦男友去世后,东北姑娘仍为他生下遗腹子,还为了公婆定居丹麦

丹麦男友去世后,东北姑娘仍为他生下遗腹子,还为了公婆定居丹麦

星星没有你亮
2026-03-22 08:48:35
销售帮男子摇中“贵A·A88888”顶级“豹子号”车牌,两人激动到当场大喊,网友直呼:黄金右手

销售帮男子摇中“贵A·A88888”顶级“豹子号”车牌,两人激动到当场大喊,网友直呼:黄金右手

极目新闻
2026-03-21 19:30:27
2026-03-22 20:19:00
智慧生活笔记
智慧生活笔记
分享生活小妙招、实用技巧和所见所得,让生活更简单更有趣。
993文章数 3453关注度
往期回顾 全部

科技要闻

嫌台积电太慢 马斯克要把芯片产能飙升50倍

头条要闻

以色列防空神话被击穿损失惨重核圈失守 伊朗表态

头条要闻

以色列防空神话被击穿损失惨重核圈失守 伊朗表态

体育要闻

郑钦文连续迎战大满贯冠军 “双教练”团队正式亮相

娱乐要闻

今晚首播!央视年代剧《冬去春来》来了

财经要闻

睡梦中欠债1.2万?这只“虾”杀疯了

汽车要闻

14.28万元起 吉利银河星耀8远航家开启预售

态度原创

旅游
艺术
本地
时尚
公开课

旅游要闻

来城桥镇,请这样赏玉兰→

艺术要闻

Alexander Bobrov | 印象风景写生(二)

本地新闻

春色满城关不住|绍兴春日顶流,这片樱花海藏不住了

伊姐周六热推:电视剧《隐身的名字》;电视剧《正义女神》......

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版