2026-01-06

01月06日

一、今日完成情况

  • MCP服务器,第二阶段训练
  • 寻找至少100条我的数据集要求的数据,在推特上。 –正在梳理方法,未完成
    • 从师兄口中了解其项目内容,来自中电五十四所,是一个小项目,关于大模型的微调还有智能体的搭建,我对智能体的搭建比较感兴趣,打算和研二的师兄搞一搞接下来。
  • Claude Desktop桌面疯狂探索,太好玩啦,太有效啦。

二、今日感悟

  • 核心业务数据​:
    • MCP宏观上深入并且从用户的角度了解其机制
  • ​今日工作总结:​
    • 工欲善其事,必先利其器
  • ​明日工作计划:
    • MCP尝试生成脚本,把剪切板的内容快捷键自动保存到一个文档当中,从而实现我快速保存推特内容的效果,从而快速收集数据。
  • ​今日学习成长:​
    • 在执行之前还是要知道科技发展的怎么样了,你学习的东西是否是需求还是库存。

三、备注

四、Claude Desktop

1、脚本编写功能插件

Pasted image 20260106145914

这是我现在的桌面,可以看到PDF格式,Docx格式都自由的散落在桌面上,现在我让ClaudeDesktop编写一个脚本,让其自动整理并且重新 按照时间命名,统一放到桌面的Microsoft文件夹当中。

Claude就帮我写好了:
脚本功能说明:

  1. ✅ 自动创建 Microsoft Folder 主文件夹
  2. ✅ 自动创建 PPTWordPDF记事本 子文件夹
  3. ✅ 按文件类型分类整理:
    • .ppt/.pptx → PPT 文件夹
    • .doc/.docx → Word 文件夹
    • .pdf → PDF 文件夹
    • .txt → 记事本文件夹
  4. ✅ 文件命名格式:YYYY-MM-DD_原文件名
  5. ✅ 如果同名文件存在,自动添加序号
  6. ✅ macOS 通知中心显示详细统计信息

全部都放进去了:
Pasted image 20260106150631

Pasted image 20260106150657 Pasted image 20260106150721

有了这个脚本以后,未来的散落在桌面的文件,我直接跑一下这个脚本,它就自动帮我整理好了。我甚至不需要单独学习脚本语言。

现在我再终端再次运行, 因为桌面上没有散乱的文件了,所以显示如下:
Pasted image 20260106150947

再次测试一下,放两个PDF在桌面上,重新运行脚本,看看效果如何:

Pasted image 20260106151125

可以看到,脚本运行成功了,自动把两个文件移动进去了:
Pasted image 20260106151146
Pasted image 20260106151253

我已经把刚才整理图片的脚本修改为cleanup_media.sh我需要进行扩展,因为刚才仅仅是整理图片,我现在要整理音频、视频、图片,现在Decktop上我新建了一个Media文件夹,你可以把视频音频图片分别按照刚才的要求重命名,然后放到Media当中,如果没有audio、video、pic文件夹的话就新建,现在帮我重写脚本

2、python脚本分析Obsidian笔记

提出要求之后:

背景说明
我在 macOS 上使用 Obsidian 记录每日作息,数据以 Markdown 形式存在。
Obsidian Vault 路径如下:
/Users/kipley/Library/CloudStorage/OneDrive-Personal/OneNote/Obsidian Vault

每天我会用统一模板记录以下内容:

  • 运动 / 饮食

  • 课外学习(主观感受为主)

  • 睡眠时间

  • 有效工作时间(按上午 / 下午 / 晚上拆分)

现在我希望你基于最近一个月的 Obsidian Markdown 笔记,帮我完成以下任务。


任务目标

  1. 读取 Obsidian Vault 中最近一个月的每日 Markdown 文件

  2. 从每一天中结构化提取以下信息(即使是半结构化、自然语言也要尽量解析):

    • 睡眠时间(起止时间、总时长、是否昼夜颠倒)

    • 有效时间(上午 / 下午 / 晚上分别多少小时 + 简要内容)

    • 运动情况(有氧 / 无氧 / 是否缺失)

    • 饮食情况(是否偏油、是否过量、是否有明显不适反馈)

    • 主观状态(疲惫、兴奋、失眠、放松、焦虑等关键词)

  3. 在此基础上,生成可视化结果,要求包括但不限于:

    • 最近 30 天的睡眠时长折线图

    • 最近 30 天的作息时间分布(睡眠 vs 有效时间)

    • 上午 / 下午 / 晚上有效时间的占比柱状图

    • 睡眠时间与第二天有效时间的相关性(如果可行)

  4. 可视化形式可以是:

    • Python(matplotlib / pandas)脚本

    • 或者 HTML + JS(如 ECharts)

    • 或者你认为在本地最容易复用、我只需运行一次命令即可看到结果的方案

  5. 除了图表,请给出一个**“月度作息分析总结”**,重点包括:

    • 明显的作息问题(例如:入睡时间、睡眠时长不稳定)

    • 哪些因素(饮食 / 晚间活动 / 学习内容)可能影响睡眠

    • 哪些时间段是真正高效的

    • 是否存在长期透支或恢复不足的迹象

重要偏好说明

  • 不需要说教式建议
  • 更偏向「数据 + 事实 + 规律总结」
  • 可以指出问题,但不需要“自律鸡汤”
  • 如果某些数据缺失,请说明假设逻辑

示例说明
我的每日笔记大致结构如下(真实数据会更完整):

  • 睡眠:凌晨 1:00 – 中午 11:00
  • 有效时间:上午 2h / 下午 3h / 晚上 2h
  • 晚饭偏撑,饭后易困
  • 晚间学习偏探索型,可能影响入睡
    请你直接从“脚本设计 + 数据解析 + 可视化 + 分析总结”四个角度完成任务。
Pasted image 20260106162344

Claude直接帮我把python脚本写好了,并且.sh运行脚本入口也写好了,自动运行,导出文件到output这里:
time_period_proportion
effective_hours_distribution

把我这一个月的有效工作时间给分析的清清楚楚透透彻彻,天哪。
这样不仅仅可以用AI嵌入来帮我分析作息,也可以让AI生成脚本来帮我分析,效率高了不少。因为AI的嵌入分析虽然挺好的,因为有语义理解,可是无法可视化,python脚本是可以可视化的。

上个月平均我每天只工作3.3小时,是不是有些太懒惰了呢。

下面我将测试一下,浏览器的插件,看它是如何控制浏览器的。

3、Chrome浏览器插件

玩不了了,限额了,明天刷新再说。

五、梯子再次坏掉修理日志

linuxuser@vultr:$ ss -tulpn | grep hysteria
linuxuser@vultr:
$ systemctl status hysteria
○ hysteria.service - Hysteria Server
Loaded: loaded (/etc/systemd/system/hysteria.service; disabled; preset: enabled)
Active: inactive (dead)
linuxuser@vultr:$ journalctl -u hysteria -n 20
Hint: You are currently not seeing messages from other users and the system.
Users in groups ‘adm’, ‘systemd-journal’ can see all messages.
Pass -q to turn off this notice.
– No entries –
linuxuser@vultr:
$ sudo systemctl start hysteria
linuxuser@vultr:~$ sudo systemctl status hysteria
● hysteria.service - Hysteria Server
Loaded: loaded (/etc/systemd/system/hysteria.service; disabled; preset: enabled)
Active: active (running) since Tue 2026-01-06 07:28:24 UTC; 10ms ago
Main PID: 1743476 (hysteria)
Tasks: 3 (limit: 1085)
Memory: 2.4M
CPU: 3ms
CGroup: /system.slice/hysteria.service

Jan 06 07:28:24 vultr systemd[1]: Started hysteria.service - Hysteria Server.
Jan 06 07:28:24 vultr hysteria[1743476]: 2026-01-06T07:28:24Z INFO server mode
Jan 06 07:28:24 vultr hysteria[1743476]: 2026-01-06T07:28:24Z FATAL failed to load server config {“error”: “invalid config: li>
Jan 06 07:28:24 vultr systemd[1]: hysteria.service: Main process exited, code=exited, status=1/FAILURE
Jan 06 07:28:24 vultr systemd[1]: hysteria.service: Failed with result ‘exit-code’.

linuxuser@vultr:$ systemctl is-active hysteria
activating
linuxuser@vultr:
$ systemctl status hysteria
● hysteria.service - Hysteria Server
Loaded: loaded (/etc/systemd/system/hysteria.service; disabled; preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Tue 2026-01-06 07:29:27 UTC; 866ms ago
Process: 1743530 ExecStart=/usr/local/bin/hysteria server –config /etc/hysteria/config.yaml (code=exited, status=1/FAILURE)
Main PID: 1743530 (code=exited, status=1/FAILURE)
CPU: 7ms
linuxuser@vultr:$ journalctl -u hysteria -n 50 –no-pager
Hint: You are currently not seeing messages from other users and the system.
Users in groups ‘adm’, ‘systemd-journal’ can see all messages.
Pass -q to turn off this notice.
– No entries –
linuxuser@vultr:
$ sudo systemctl stop hysteria
linuxuser@vultr:$ sudo /usr/local/bin/hysteria server -c /etc/hysteria/config.yaml
2026-01-06T07:30:36Z INFO server mode
2026-01-06T07:30:36Z FATAL failed to load server config {“error”: “invalid config: listen: listen udp :443: bind: address already in use”}
linuxuser@vultr:
$ sudo ss -u -lpn | grep :443
UNCONN 0 0 *:443 : users:((“hysteria”,pid=1696774,fd=3))
linuxuser@vultr:$ sudo kill 1696774
linuxuser@vultr:
$ sudo ss -u -lpn | grep :443
linuxuser@vultr:$ sudo systemctl restart hysteria
linuxuser@vultr:
$ systemctl is-active hysteria
active
linuxuser@vultr:~$ sudo ss -u -lpn | grep hysteria
UNCONN 0 0 *:443 : users:((“hysteria”,pid=1743620,fd=3))

六、MCP三层配置

第一层:生产层 (The Factory) —— 用 Python 写代码

  • 角色:工具制造者 (Tool Builder)

  • 操作对象:`server.py

  • 本质实现逻辑 (Implementation)

  • 你在做什么:你在编写函数的具体代码。

    • 这里定义了工具叫什么名字(list_directory
    • 这里定义了参数是什么(path)。
    • 这里定义了具体怎么干活(调用 pathlib 读文件)。
  • 类比:这就像是厨师在厨房里做菜。不管外面客人是谁,这道“宫保鸡丁”的做法在厨房里是固定的。

第二层:协议层/配置层 (The Registry) —— JSON 配置文件

  • 角色:系统管理员 / 运维 (DevOps)
  • 操作对象settings.json (Trae) 或 claude_desktop_config.json
  • 本质依赖注入 (Dependency Injection) / 注册表
  • 你在做什么:你在告诉客户端(Client)去哪里找到这个工具,以及如何启动它。
    • Client 问:“我要用 fetch 工具,去哪找?”
    • JSON 回答:“去运行命令 uvx mcp-server-fetch。”
    • Client 问:“我要用你的 rpg-game,去哪找?”
    • JSON 回答:“去运行命令 python /Users/xxx/server.py。”
  • 类比:这就像是餐厅的菜单。菜单上写着“宫保鸡丁”,并不包含做法,它只是告诉服务员,如果客人点了这道菜,去厨房通知哪位厨师。

第三层:应用层 (The Client) —— Trae / Claude Deskto

  • 角色:最终用户 (End User)
  • 操作对象:聊天界面 (Chat UI)
  • 本质用户界面 (Interface / Consumer)
  • 你在做什么:你根本不关心 Python 怎么写,也不关心 JSON 怎么配(如果别人配好了)。你只是在聊天框里说“帮我读这个网页”。
  • 类比:这就像是坐在餐厅里的客人。你只管吃(使用结果),不需要知道菜单是怎么排版的,更不需要知道厨房里怎么切菜的。

所以其实我今天尝试的三个工具分别就是这三方面的配置,最上层就是Claude Desktop,什么都帮我配好了,各种MCP插件也都帮我配好了(包括我访问自己电脑系统的插件)

所以我直接和AI说就可以了,AI自动帮我查询相关的MCP服务。

中间那一层就是,JSON的配置,就是杂trae的MCP服务当中个性化配置的,如果说ClaudeDesktop是一个整合的包,包含了各种JSON,那么我现在就是自定义的,更加灵活,但是配置JSON还是使用其他人编写好的MCP服务。为什么使用JSON,因为JSON可以统一接口,因为别人可能是使用python写的也有可能是使用JavaScript写的。

最底层就是python的编写了,这个没什么好说的,应该是使用各个平台提供的接口,用python进行开发,是我最后要接触的开发层级。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com
Obsidian