[jetbrains 插件 fork] rust-analyzer-lsp 添加 windows 支持 (Rider 等 IDE 可用)
原插件 hard code 了路径为 mac os 的,fork 添加了选项设置路径
需要安装 rust-analyzerwhere rust-analyzer
的输出路径填到插件的设置选项即可 (需要重启插件)
不过正经人谁在 rider 中写 rust
fork 仓库
原插件:
原仓库:
原作者:
xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
原插件 hard code 了路径为 mac os 的,fork 添加了选项设置路径
需要安装 rust-analyzerwhere rust-analyzer
的输出路径填到插件的设置选项即可 (需要重启插件)
不过正经人谁在 rider 中写 rust
fork 仓库
原插件:
原仓库:
原作者:
vibe 了一下 codex cli,改名叫 aish。让它不再专门在某个项目目录写代码。作为一个 shell 命令辅助工具运行,比如想不起来哪个复杂的 shell 命令的时候,随时 aish,然后提问…
GitHub - chunhuitrue/aish
继 elsa 佬的免费白嫖 2-5 年 Copilot(Microsoft365),可用 GPT-5.2 - 福利羊毛 / 福利羊毛,Lv1 - LINUX DO 分享一下个人的踩坑流程
我用的教育邮箱是美国社区大学.edu(以前薅 cursor 的邮箱留存至今)
没有邮箱的佬可以看一下 Mirage 佬的:
关于 “免费白嫖 2-5 年 Copilot” 如何获取 edu 邮箱! - 福利羊毛 / 福利羊毛,Lv1 - LINUX DO
关于如何成为美国大学生(bushi)申请 EDU 邮箱的教程 - 福利羊毛 / 福利羊毛,Lv1 - LINUX DO
ps:我用香港节点 + 支付宝验证后都是 2 年的
(https://checkout.microsoft365.com/acquire/purchase?language=zh-us&market=US&requestedDuration=Month&scenario=microsoft-365-student&client=poc&campaign=StudentFree12M)
ps: 我的用的是美国节点,链接里是 us(没有改 tw or hk)
可能得报错(直接重新刷新个人版申请链接即可)
https://checkout.microsoft365.com/acquire/purchase?language=zh-TW&market=US&requestedDuration=Month&scenario=microsoft-365-premium&client=poc&campaign=StudentPremiumFree12M
可能得报错(try again 多来几次即可)
可能得报错(持续刷新几次即可)
以上纯为个人的验证流程,大佬勿喷,请指正!!
更新:这位大神太高效了,一夜之间,课程又升级了。更新课程下来以后,在 Claude 里 执行 /start-lesson 就可以开始了。
=========
无意中在 X 上看到这个课程的作者在推荐他的课程:
Free Claude Code Course for Everyone
https://ccforeveryone.com/
教程下载地址:https://github.com/carlvellotti/claude-code-everyone-course/releases/latest
跟着练习了一会儿,挺有意思的。分享给佬友们玩玩。
学习方法也很简单,下载他的教程,用 Claude Code 打开,输入 /start-1-1 开练。
直接下载脚本安装到油猴,然后访问 https://user.hypergryph.com/ 登录账号
一般会直接显示 UID,如果没有,则访问 https://user.hypergryph.com/bindCharacters?game=endfield 脚本会自动捕获 UID 返回信息然后展示
xterminal 更新到最新版,然后就可以保存布局了,还可以新建不同布局。
配合单个终端的设置,就可以做到一键启动多个项目的 cc 了,非常的方便
上周二开源了这个项目,没想到经过一周的时间就收获了1000个 star😂,非常感谢大家的支持。


想想我的另一个开源项目js-screen-shot发布了 5 年时间,也才收获了928个 star🥺,项目的受众性和颜值真重要啊。

在构建金融交易终端或量化分析系统时,行情适配器(Market Data Adapter)往往是第一个需要攻坚的模块。特别是在处理港股数据时,由于其特殊的交易机制和数据更新频率,对客户端的并发处理能力提出了不小的挑战。 很多初级开发者习惯将网络连接、数据清洗和业务逻辑写在一个 while 循环里,这在生产环境中是极其危险的。一旦网络抖动或数据异常,整个程序就会崩溃。作为行业从业者,我更推荐采用分层架构来处理实时数据流。 下面这段代码展示了如何使用 websocket-client 库建立一个稳健的订阅通道,重点关注其回调函数的设计模式: 通过这种模式,我们不仅保证了行情的实时性,还极大地提升了系统的扩展性。当需要增加新的订阅标的时,只需修改配置文件的 symbol 列表,无需重启核心服务。import websocket
import json
def on_message(ws, message):
data = json.loads(message)
if "data" in data:
tick = data["data"]
price = tick.get("last_price")
ts = tick.get("timestamp")
print(f"price={price}, time={ts}")
def on_open(ws):
subscribe_msg = {
"cmd": "subscribe",
"args": {
"symbol": "HKEX:HSI",
"type": "tick"
}
}
ws.send(json.dumps(subscribe_msg))
if __name__ == "__main__":
ws = websocket.WebSocketApp(
"wss://stream.alltick.co",
on_open=on_open,
on_message=on_message
)
ws.run_forever()
在现代知识管理与团队协作中,经验的系统化归档是持续进步的关键。缺乏有效的经验归档机制,团队往往会面临知识流失、重复踩坑、资源浪费等问题。通过使用原子化经验归档工具,团队可以将经验按原子化、可复用的方式进行归档,确保各类知识点都能够被有效沉淀与调用,从而提高团队学习效率和知识复用率。 本文介绍了原子化经验归档工具的重要性,并精选推荐了5款适用于不同经验归档场景的工具。通过分析这些工具的功能与特点,帮助团队选择最适合自己的工具来归档和管理经验。此外,文中还提供了经验归档设计建议和常见问题解答,帮助团队提升知识管理的系统性与传承效率。 在多种经验来源并行的工作环境中,经验往往需要按照原子化单元进行归档与复用。没有合理的经验归档工具,团队将面临以下几大挑战: 引入一款支持原子化经验归档的工具,能够帮助团队通过清晰的知识点化管理,提升经验整合和检索效率。原子化经验归档工具能够将经验按不同维度拆解与归档,确保每一个知识点都能够被快速、精准地查看与复用,减少不必要的重复探索和时间浪费。 原子化经验归档工具是指那些支持将经验按原子化、可复用单元进行分类归档,并通过清晰的知识点视图方式展示的工具。这类工具能够帮助团队高效地沉淀与复用经验,确保每个知识点的经验都能够得到及时更新与追踪。原子化归档机制的关键特点是能够清晰展示各类经验片段,同时保持结构的简洁与高效,让团队能够随时获取所需知识,避免经验过载和冗余。 原子化经验归档工具适用于多种经验沉淀场景,尤其是在需要积累大量实践知识或不同领域经验的团队中,尤为重要。以下是原子化经验归档工具的一些典型应用场景: 选择合适的原子化经验归档工具时,团队应根据经验管理的粒度、团队规模与使用场景来决定。以下是一些常见的团队需求与相应工具的推荐: 对于中小型团队,尤其是需要直观展示经验流转状态的场景,板栗看板 是一个理想选择。其直观的看板视图和灵活的卡片系统,非常适合项目复盘和跨团队经验沉淀。 如果团队需要构建深度关联的经验知识网络,Roam Research 或 Obsidian 是理想的选择。它们支持原子化经验之间的双向链接,适合复杂经验的体系化梳理和连接。 对于需要将经验转化为结构化数据、支持属性筛选和模板化复用的团队,Notion 是一个强大的工具。它的数据库功能适合标准化、可分类的经验归档。 如果团队需要快速沉淀和查询常见问题、操作指南等高频经验,Tettra 是适合的选择。它专注于简洁高效的原子化经验管理,方便团队降低沟通成本。 Q1:如何避免经验原子化后过于零散,难以形成体系? Q2:如何确保原子化经验的时效性和准确性? Q3:如何在团队中推广原子化经验归档的习惯? 原子化经验归档工具是提升知识沉淀效率的重要助手,通过合理的原子化设计与归档,团队能够更加高效地积累和复用各类经验,推动持续学习与改进。通过 板栗看板、Obsidian、Notion 等工具的帮助,团队不仅能够清晰地整理各类经验点,还能确保知识在需要时能够被快速检索和运用。导言
摘要
一、为什么需要原子化经验归档工具?
二、原子化经验归档工具的作用
三、原子化经验归档的典型应用场景
四、5款值得一试的原子化经验归档工具
1. 板栗看板
专注于可视化经验归档与进度管理的原子化工具

2. Roam Research
支持双向链接的原子化思维管理工具

3. Obsidian
基于本地Markdown的原子化知识库管理工具

4. Notion
多功能数据库驱动的经验归档平台

5. Tettra
轻量级团队知识库与原子化经验共享平台

五、各工具的选型建议
1. 中小型团队,可视化经验管理
2. 深度思考与知识网络构建
3. 结构化经验与流程标准化
4. 团队高频经验快速共享
六、Q&A:关于原子化经验归档你可能遇到的问题
A:建议在原子化归档的同时,建立有效的分类标签和关联链接,并定期通过知识图谱或目录进行整合,确保知识点之间能形成有机结构。
A:选择支持版本记录和更新提醒的工具,如 Notion 或 Tettra,并设立经验责任人定期回顾机制,确保经验内容持续更新。
A:将经验归档嵌入工作流程(如项目复盘、问题解决后),并通过模板化和示例降低记录成本,同时设立激励措施鼓励分享。七、结语
有序的经验归档是持续进步的前提,原子化经验归档工具让知识管理更加轻盈、可持续。
在Unity的Shader Graph可视化着色器编辑器中,Vector 3节点是一个基础且功能强大的构建块,它允许开发者在着色器中定义和操作三维向量值。这个节点在URP(Universal Render Pipeline)项目中尤为重要,因为它为处理颜色、位置、法线和其他三维数据提供了灵活的方式。 Vector 3节点在Shader Graph中代表一个三维向量,通常用于表示三维空间中的方向、位置或颜色值(RGB)。该节点的核心功能是将三个独立的浮点数值组合成一个三维向量,或者提供一个固定的三维向量常量供着色器使用。 在数学上,Vector 3可以表示为 (x, y, z),其中每个分量都是一个浮点数。在计算机图形学中,这种数据结构用途广泛: Vector 3节点的独特之处在于它的灵活性。当所有输入端口都未连接时,它作为一个常量向量;当部分或全部端口连接了其他节点时,它成为一个动态的向量组合器,能够根据输入实时计算输出值。 Vector 3节点包含四个主要端口,每个端口都有特定的功能和用途。 X输入端口 Y输入端口 Z输入端口 Out输出端口 Vector 3节点有两种主要工作模式,取决于输入端口的使用情况。 当所有输入端口(X、Y、Z)都没有连接外部节点时,Vector 3节点工作在常量向量模式。在这种情况下,节点使用在节点属性中设置的固定值作为输出。 常量向量模式的特点: 使用常量向量模式的典型场景: 当一个或多个输入端口连接了其他节点时,Vector 3节点工作在动态向量模式。此时,节点的输出值会根据输入端口的值实时计算。 动态向量模式的特点: 使用动态向量模式的典型场景: Vector 3节点在Shader Graph背后生成的HLSL代码相对简单但非常重要。理解这些生成的代码有助于深入掌握着色器的工作原理。 根据文档说明,Vector 3节点生成的基本代码格式为: 这段代码的解析: 在实际的Shader Graph编译过程中,生成的代码可能会有一些变体: 常量向量情况: 动态向量情况: Unity的Shader Graph编译器会对Vector 3节点进行多种优化: Vector 3节点在Shader Graph中有无数种应用方式,以下是一些常见且实用的示例。 创建动态颜色是Vector 3节点最常见的应用之一。 基础颜色定义: 动态颜色变化: 这种设置创建了随时间循环变化的颜色效果,适用于霓虹灯、能量场等特效。 基于纹理的颜色控制: 这种方式允许使用纹理的不同通道独立控制最终颜色的各个分量。 Vector 3节点在处理顶点位置和对象变换时非常有用。 简单位置偏移: 这会在特定方向上应用固定偏移,可用于创建浮动效果或简单动画。 动态位置偏移: 这种设置创建了基于正弦波的顶点动画,适用于旗帜飘动、水面波动等效果。 在光照计算中,Vector 3节点用于处理和修改法线向量。 法线混合: 这种方法可以基于纹理数据修改表面法线,用于实现凹凸映射或细节法线效果。 向量重映射: 这种技术允许对向量的各个分量进行独立处理,然后重新组合。 掌握Vector 3节点的高级用法可以显著提升着色器效果和质量。 合理使用常量模式: 向量运算优化: 节点命名规范: 参数化设计: 向量可视化: 常见问题解决: Vector 3节点很少单独使用,它通常与其他Shader Graph节点组合以实现复杂效果。 Add节点配合: Multiply节点配合: Dot Product节点配合: Cross Product节点配合: Sample Texture 2D节点: Normal Map节点: Transform节点: Fresnel Effect节点: Gradient节点: 通过具体的项目案例可以更好地理解Vector 3节点的实际应用价值。 在这个案例中,Vector 3节点用于创建逼真的水体效果: 颜色控制部分: 法线计算部分: 这个案例展示了如何使用多个Vector 3节点分别控制颜色和法线,创建复杂的水体外观。 创建科幻风格的全息投影效果: 基础颜色: 扫描线效果: 透明度控制: 这个案例展示了如何组合使用Vector 3节点创建复杂的外观效果,包括颜色、发射和透明度控制。【Unity Shader Graph 使用与特效实现】专栏-直达
Vector 3节点的基本概念
节点端口详解

输入端口
输出端口
节点工作模式
常量向量模式
动态向量模式
生成的代码解析
基础代码结构
HLSL
float3 _Vector3_Out = float3(X, Y, Z);float3 是HLSL中的三维向量数据类型_Vector3_Out 是生成的变量名,实际使用中可能有所不同float3(X, Y, Z) 是HLSL中构造三维向量的语法实际应用中的代码变体
HLSL
float3 _Vector3_Node = float3(0.5, 0.8, 1.0);HLSL
float _SomeFloat_X = ...; // 来自其他节点的计算
float _AnotherFloat_Y = ...; // 来自其他节点的计算
float _ThirdFloat_Z = ...; // 来自其他节点的计算
float3 _Vector3_Node = float3(_SomeFloat_X, _AnotherFloat_Y, _ThirdFloat_Z);代码优化考虑
实际应用示例
颜色控制应用
Time节点 → Sine节点 → Vector 3的X端口
Time节点 → Cosine节点 → Vector 3的Y端口
Time节点 → Vector 3的Z端口
Vector 3输出 → Base ColorTexture 2D节点的R通道 → Vector 3的X端口
Texture 2D节点的G通道 → Vector 3的Y端口
Texture 2D节点的B通道 → Vector 3的Z端口
Vector 3输出 → Base Color位置和偏移应用
Position节点 → Add节点
Vector 3常量 → Add节点的另一个输入
Add节点 → Position输出Time节点 → Multiply节点(控制速度)
Sine节点 → Multiply节点(控制幅度)
Vector 3构建方向 → Multiply节点
Position节点 → Add节点
Add节点 → Position输出法线和向量操作
Normal节点 → Vector 3的X和Y端口
Texture样本 → Vector 3的Z端口
Vector 3输出 → Normal输入某个Vector 3输出 → Component Mask节点(分离X、Y、Z)
分离的各分量 → 各自的数学处理节点
处理后的分量 → 新的Vector 3节点
新的Vector 3输出 → 后续计算高级技巧和最佳实践
性能优化技巧
组织和管理技巧
调试和故障排除
与其他节点的配合使用
与数学节点配合
与纹理节点配合
与高级节点配合
实际项目案例
案例一:动态水体着色器
Depth节点 → Subtract节点 → Saturate节点 → Power节点
结果值 → Lerp节点的Alpha输入
浅色Vector 3常量 → Ler节点的A输入
深色Vector 3常量 → Lerp节点的B输入
Lerp输出 → Base Color两个不同偏移的Noise纹理 → 两个Vector 3构建法线
Blend节点混合两个法线 → 最终的Normal输出
Time节点控制噪声偏移 → 实现动态波纹效果案例二:全息投影效果
Time节点 → Fraction节点 → Vector 3的X和Z端口
常量值1.0 → Vector 3的Y端口
Vector 3输出 → Emission ColorPosition节点的Y分量 → Multiply节点(控制密度)→ Fraction节点
Step节点创建硬边缘 → Multiply节点控制强度
结果值 → 与Emission Color相乘Noise纹理 → Vector 3的X端口(控制整体透明度)
扫描线信号 → Vector 3的Y端口(增强扫描线区域的透明度)
Vector 3输出 → Alpha通道总结
【Unity Shader Graph 使用与特效实现】专栏-直达
(欢迎
探讨,更多人加入进来能更加完善这个探索的过程,🙏)
今晚买了个 42 的小鸡,不知道该咋玩,哈基米说可以搞个自动签到。于是就有了这篇文章,写下来是为了记录一下,万一有谁也需要呢?
购买小鸡的情况:1c0.5G
# 1. 安装基础依赖
apt update && apt install -y curl
# 2. 使用官方脚本安装 Docker
curl -fsSL https://get.docker.com | bash -s docker
# 3. 启动 Docker 并查看状态
systemctl enable --now docker
docker ps
因为内存很小,且没办法添加交换分区,所以这是哈基米给我的命令:
docker run -dit \
-v $PWD/ql/data:/ql/data \
-p 5700:5700 \
--name qinglong \
--hostname qinglong \
--restart always \
--memory=300m \
whyour/qinglong:latest
添加一条规则:
570015700),或者面板会自动给你分配一个。完成后,你在浏览器访问:http://主机的公网IP:分配给你的外网端口。
# 查看状态
docker ps -a
# 查看日志
docker logs -f qinglong
到此基本就可以正常访问青龙面板了
那么如何配置自动签到脚本呢?可以参考 https://blog.uptoz.cn/archives/vVNl4laL
脚本里面使用到了 requests、beautifulsoup4。青龙面板虽然有 python,但是这些包没有安装,你可以在终端手动安装:
# 进入青龙容器内部安装
docker exec -it qinglong pip3 install requests beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple
接下来就可以在面板-定时任务 运行一下看看啦
纯纯纯纯纯新手,大家还有什么好玩的东西或者脚本可以介绍一下嘛
如果你是最佳 linux 发行版 Windows+wsl 的忠实用户,也许会苦恼联动开发时,进入 wsl 环境指定目录需要手动输入路径的苦恼。
所以我写了这东西,使用一个自定义的命令进行转化。
原理是创建一个新命令,专门用来接受 Windows 路径。
方法如下
编辑 base 配置
nano ~/.bashrc
在最末尾粘贴
# === WSL 路径快捷跳转小工具 === # 定义一个名为 cdn 的函数,也可以改成其他的 cdn() {
if [ -z "$1" ]; then cd ~
return fi local win_path="$1"
win_path="${win_path%\'}"
win_path="${win_path#\'}" local linux_path=$(wslpath -u "$win_path" 2>/dev/null)
if [ -n "$linux_path" ] && [ -d "$linux_path" ]; then cd "$linux_path" else echo "错误: 路径无法识别或不存在: $win_path" cd "$win_path" 2>/dev/null
fi
}
# === WSL 路径快捷跳转小工具 === 生效配置
source ~/.bashrc
之后,使用自定义命令 cdn 'C:\Windows' ,像是这样就可以自动转换 win 路径进入对应的目录。
注意带上单引号,否则反斜杠会被吃掉!
huanchong-99/Terminal-Recognition-Automatic-Click-Tool: 识图终端自动点击 - 回车工具
(不是让 AI Coding 效率至少翻 5 倍的那个,那个没开发完成)
项目具体作用是自动点击和自动点击后回车
相信各位在用各类 CLI 编程软件或者是 AI IDE 的时候,经常性会出现需要点击确认或者确认后回车的情况,同时也不太敢开危险模式,就像
claude -c --dangerously-skip-permissions 给予全部权限
更多的时候是希望他如果有 yes 选项的话,自动进行,如果是其他选项就停着等着人工来输入,比如说需要多选选择,所以在这种情况下,我用 AI 开发了这个小工具,两种模式,一种仅点击给 IDE 用,另外一种是点击加回车给 CLI 用。
模板图片允许加载多张,也可以只加载一张,然后你自己截张图,然后随便放个地方,加载的时候选择就可以了(用之前慎重,这相当于你手动开了一个危险模式,无脑全部 yes 同意)
觉得有用的话,辛苦点点 star
另外,汇报一下开发进度(AI Coding 效率翻倍的项目)
整体的开发调优还要一段时间(应该这个月能搞好),而且今天我发现了论坛有佬发布了 【开源】为了方便摸鱼,我做了个 AI cli 任务完成提醒工具(cc+codex+gemini)支持多种方式提醒,exe 更方便配置 - 开发调优 - LINUX DO 这个项目的任务监测,可以融入到现在这个开发进度里,做一个并行,现在我做的是单纯的 git 监测,但是有一个问题,就是如果说终端跑的报错了,或者什么情况没有提交 git,就监测不到,正好在考虑如何解决,就发现有佬发了一个这样的项目,简直是太好了
本文內容:
从 11 月开始就在小上刷到各种个样的 GitHub/Gemini 之类的学生认证,GitHub 大部分都是手写材料过的,怕翻车把号炸了就一直没弄
然后这几天在写新的小玩具,全程都是用 GitHub 的 codespace 来弄的,写着写着突然就不给用了,额度用完了,代码都没来得及 commit
找了一圈都没找到白嫖 GitHub Pro 的(copilot 可以白嫖 30 天),开一个 PRO 是 4$/mo, 48$/year,感觉目前还没到直接开 Pro 的地步,在站里和小上看了几篇教程就开始弄了,下面是我的操作过程,仅供参考
背景:大学生,有国内的学生邮箱,用的学信网。
步骤:
chrome://settings/content/camera,把默认摄像头改成手机,刷新界面,重复上述 5–>6 的步骤,调整角度–> 拍照–提交–成功~附上 Approved 界面,估计还要等几天完全通过才能拿到学生权益,希望顺利捏
PS:如果关掉科学上网之后,访问 GitHub 很慢的话,可以从这个网站中找到 GitHub 的 IP 地址,加入到 hosts 里,就跟科学上网的速度差不多了~(不过有时效性捏)
【项目背景】 英语持续学习者一枚,平时高度依赖浏览器翻译。但在每天使用非浏览器应用比如每天早上看网易邮箱大师汇总的各种国外邮件时,叽里咕噜说了一大堆完全看不懂,只能手动复制去翻译,步骤繁琐。 市面上的大模型翻译软件虽然强大,但对于我这种只求 “快速看懂” 的场景来说,有点 “杀鸡用牛刀”。
【开发初衷】 既然刚升了 3 级,最近发现有有始皇提供的 DeepLX API Key 这个好东西,不想浪费,于是萌生了自己动手的想法。 既然是自用,主打一个超低占用、极简主义。不搞花里胡哨的功能,只解决核心痛点。
【技术栈】
【功能展示】
1. 单词翻译:响应迅速
2. 长短句翻译:准确流畅
3. 极简设置:填入 Key 即可用
4. 极致轻量:几乎不占内存
【致谢】 特别感谢 L 站 提供的优质资源,以及 wong 公益站、随时跑路公益站 提供的支持
1、单词翻译效果:
2、长短句翻译效果
3、设置
4、超低占用
最后:
再次感谢 L 站,以上有和我类似诉求的佬友试试看,由于我本身是做 python 和 C++ 的开发,这个项目使用的技术依赖 AI, 难免有没考虑到的,使用过程中可以随时反馈,对了由于我没有苹果电脑,使用苹果的佬友可以自行编译看看。
自己写的基于 Flutter 开发的跨平台音乐播放器,支持账号登录,从多个平台导入歌单。支持播放本地音乐,跨端续播。
支持平台:windows/android/ios/macos/linux,仅在 windows 与 android 进行了测试,因此其他平台可能存在部分 bug。
目前还处于测试阶段,欢迎大家体验测试,期待佬友们的建议与反馈。
应用需要导入自定义音源,支持 OmniParse,洛雪音源以及 Tunhub 音源 [分享] 自写了一个聚合音乐 API (TuneHub),统一网易 / 酷我 / QQ 接口,免费开放 - 开发调优 / 开发调优,Lv1 - LINUX DO
桌面端使用 fluent ui,移动端支持 material design 和 cupertino 两种风格
仓库地址:
moraxs/CyreneMusic: flutter 开发的第三方音乐播放器
点点 star
应用截图:
所以我做了 unique-ppt(微微幻灯片)—— 一个真正解决配图痛点的 AI PPT 生成器。
它能做什么
几个亮点
| 特性 | 说明 |
|---|---|
| 智能配图 | 每页内容 → 英文提示词 → AI 生成匹配图片 |
| 并发生成 | 5 张图同时生成,速度提升 3-5 倍 |
| 多种布局 | 封面、左右分割、磨砂玻璃、极简风 |
| 深色模式 | 护眼党福音 |
| 隐私安全 | API 密钥仅存浏览器本地 |
支持的 AI 服务
| 类型 | 服务 |
|---|---|
| 文本 | OpenAI (GPT-4) / Google Gemini |
| 图像 | DALL-E 3 / Gemini / Imagen |
| 自带 API 密钥即可使用,纯前端实现,无后端依赖。 |
GitHub: GitHub - uniqueww/unique-ppt
欢迎 Star 和 PR!
告别配图焦虑,让 AI 帮你搞定图文并茂的 PPT。
最近刚折腾了个自己的 INTEL 的 NUC 装了个 fnos,担心被运营商给控制了。因此找了找解决方案,有个 VSTAT 可以监控网络流量,自己加了个 web 界面和上传流量大于下载流量时直接访问 Cloudflare 下载 然后丢到 /dev/null 这样不会占用磁盘。
这是一个轻量级的 NAS 网络流量监控与平衡解决方案。它结合了 vnstat 、Python Web 服务和自动挂机脚本,旨在帮助 NAS 用户实时监控网络流量,并自动维护上传 / 下载比例(适用于 PCDN 或 PT 场景)。
balancer.sh):/api/stats 接口,直接返回 vnstat 的 JSON 数据,方便二次开发或集成到 Homepage/Dashy 等仪表盘。vnstat 的流量统计图(PNG 格式),方便快速预览。【开源推荐】DeepTutor:港大数据智能实验室出品的 AI 学习助手。
GitHub:https://github.com/HKUDS/DeepTutor
逻辑很强:
投喂:上传你的教材 / 论文 / 文档。
交互:它基于这些资料进行深度辅导。
可视化:能生成图表甚至动画来解释复杂概念(这点很强)。
看论文、备考、学新东西的神器。
感觉 surge 还是好用呀。
[General]
loglevel = notify
# 从 Surge iOS 4 / Surge Mac 3.3.0 起,工具开始支持 DoH
dns-server = 223.5.5.5, 119.29.29.29, 223.6.6.6, 180.76.76.76, 114.114.115.115, 114.114.114.114, 8.8.8.8, 8.8.4.4, 1.1.1.1, 1.0.0.1, 208.67.222.222, 208.67.220.220, system
# https://dns.alidns.com/dns-query, https://13800000000.rubyfish.cn/, https://doh.360.cn/dns-query, https://dns.google/dns-query
skip-proxy = 192.178.0.0/16,127.0.0.1, 192.168.0.0/16,192.18.0.0/16, 198.18.0.1,198.18.0.0/16,10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10,192.168.65.0/24, localhost, *.local,passenger.t3go.cn, sequoia.apple.com, seed-sequoia.siri.apple.com
wifi-assist = false
wifi-access-http-port = 6152
wifi-access-socks5-port = 6153
http-api-web-dashboard = true
replica = 0
tls-provider = default
network-framework = false
exclude-simple-hostnames = true
ipv6 = true
test-timeout = 2
proxy-test-url = http://cp.cloudflare.com/generate_204
geoip-maxmind-url = https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/Country.mmdb
use-local-host-item-for-proxy = true
show-error-page-for-reject = true
# 高级设置
# > 日志级别
# > 当遇到 REJECT 策略时返回错误页
always-real-ip = msftconnecttest.com, msftncsi.com, *.msftconnecttest.com, *.msftncsi.com, *.srv.nintendo.net, *.stun.playstation.net, xbox.*.microsoft.com, *.xboxlive.com, *.battlenet.com.cn, *.battlenet.com, *.blzstatic.cn, *.battle.net
# > Always Real IP Hosts
force-http-engine-hosts = *.ott.cibntv.net, 123.59.31.1,119.18.193.135, 122.14.246.33, 175.102.178.52, 116.253.24.*, 175.6.26.*, 220.169.153.*
# > TCP Force HTTP Hosts
# KOOWO - 123.59.31.1,119.18.193.135, 122.14.246.33, 175.102.178.52
# TencentVideo - 116.253.24.*, 175.6.26.*, 220.169.153.*
tun-excluded-routes = 239.255.255.250/32
# > VIF Excluded Routes
allow-wifi-access = false
http-api-tls = false
encrypted-dns-server = https://doh.pub/dns-query, https://dns.alidns.com/dns-query
http-listen = 0.0.0.0
socks5-listen = 0.0.0.0
[Proxy]
Direct = direct, allow-other-interface=true
Reject = reject
WARP = wireguard, section-name=Cloudflare, test-url=http://cp.cloudflare.com/generate_204
#这个场景是在公司办公的时候: 1、公司网络有两种,WiFi只有外网,外网网速快,网线有外网和公网。配置了这个策略,内网走网线,外网走WiFi,具体的接口自己找一下即可。
公司网络 = direct, interface=en7, allow-other-interface=true
VMess_WS =
trojan_tcp_Trojan =
dmit-torjan =
公司vpn = direct, interface=ppp0, allow-other-interface=true, dns-follow-interface=true #有远程办公的需求,mac我们公司vpn 比较老,必须要加路由才行,配置了这个就不用加路由了。连接即用 surge 下面进行分流
家宽 = 家宽的信息, underlying-proxy=机场 #(配置机场做了链式代理)
[Proxy Group]
#节点信息我做了删除,补充自己的进来。注意,名称如果错误记得调整下。
Proxy = select, 机场, VMess_WS, trojan_tcp_Trojan, dmit-torjan, 家宽, include-all-proxies=0
🛡Guard = select, Reject, Direct
机场 = select,
[Rule]
DOMAIN-SUFFIX,linux.do,trojan_tcp_Trojan,extended-matching
IP-CIDR,69.63.208.186,DIRECT,no-resolve
IP-CIDR,148.135.32.199,DIRECT,no-resolve
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/ChinaMedia/ChinaMedia.list,DIRECT,"update-interval=7200"
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/GlobalMedia/GlobalMedia_All_No_Resolve.list,Proxy,"update-interval=7200"
# RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/ChinaMax/ChinaMax_All.list,DIRECT,"update-interval=7200"
RULE-SET,https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Surge/Gemini,家宽,"update-interval=7200"
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/115/115.list,DIRECT,"update-interval=7200"
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/OpenAI/OpenAI.list,家宽,extended-matching,"update-interval=7200"
DOMAIN-SUFFIX,navicat.com.cn,Reject
DOMAIN-SUFFIX,navicat.com,Reject
RULE-SET,https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/Adblock4limbo_surge.list,Reject,"update-interval=3600"
#谷歌的走家宽,家宽用机场链式代理。
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/Google/Google.list,家宽,extended-matching,"update-interval=3600"
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/GoogleDrive/GoogleDrive.list,家宽,extended-matching,"update-interval=3600"
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/GoogleEarth/GoogleEarth.list,家宽,extended-matching,"update-interval=3600"
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/GoogleFCM/GoogleFCM.list,家宽,extended-matching,"update-interval=3600"
RULE-SET,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/GoogleSearch/GoogleSearch.list,家宽,extended-matching,"update-interval=3600"
DOMAIN,juejin.cn,DIRECT
DOMAIN,copilot-telemetry-service.copilot.supercopilot.top,DIRECT,extended-matching
DOMAIN,copilot-proxy.copilot.supercopilot.top,DIRECT,extended-matching
DOMAIN,api.copilot.supercopilot.top,DIRECT,extended-matching
DOMAIN,copilot.supercopilot.top,DIRECT,extended-matching
# Non IP
RULE-SET,https://ruleset.skk.moe/List/non_ip/reject-no-drop.conf,REJECT
RULE-SET,https://ruleset.skk.moe/List/non_ip/reject.conf,REJECT,extended-matching
RULE-SET,https://ruleset.skk.moe/List/non_ip/reject-drop.conf,REJECT
RULE-SET,https://ruleset.skk.moe/List/ip/reject.conf,REJECT
RULE-SET,https://ruleset.skk.moe/List/non_ip/reject-url-regex.conf,REJECT
RULE-SET,https://ruleset.skk.moe/List/non_ip/sogouinput.conf,REJECT
GEOIP,CN,DIRECT
RULE-SET,https://ruleset.skk.moe/List/non_ip/lan.conf,DIRECT
# IP
RULE-SET,https://ruleset.skk.moe/List/ip/lan.conf,DIRECT
RULE-SET,https://ruleset.skk.moe/List/non_ip/apple_cn.conf,DIRECT
# Non IP
# 基础的 12 万拦截域名
# URL-REGEX
# 额外 20 万拦截域名,作为基础的补充,启用时需要搭配基础一起使用
# 在 Surge 5 for Mac(或更新版本),即使同时启用基础和额外的拦截域名也不会导致匹配性能下降或内存占用过高
# 需搭配 Surge 模块 https://ruleset.skk.moe/Modules/sukka_mitm_hostnames.sgmodule 使用
# MITM 和 URL-REGEX 性能开销极大,不推荐使用
# IP
DOMAIN-SET,https://ruleset.skk.moe/List/domainset/speedtest.conf,Proxy,extended-matching
DOMAIN-SET,https://ruleset.skk.moe/List/domainset/cdn.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/non_ip/cdn.conf,Proxy
# 北美相关流媒体
RULE-SET,https://ruleset.skk.moe/List/non_ip/stream_us.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/stream_us.conf,Proxy
# 欧洲相关流媒体
RULE-SET,https://ruleset.skk.moe/List/non_ip/stream_eu.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/stream_eu.conf,Proxy
# 日本相关流媒体
RULE-SET,https://ruleset.skk.moe/List/non_ip/stream_jp.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/stream_jp.conf,Proxy
# 韩国相关流媒体
RULE-SET,https://ruleset.skk.moe/List/non_ip/stream_kr.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/stream_kr.conf,Proxy
# 香港相关流媒体
RULE-SET,https://ruleset.skk.moe/List/non_ip/stream_hk.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/stream_hk.conf,Proxy
# 台湾相关流媒体
RULE-SET,https://ruleset.skk.moe/List/non_ip/stream_tw.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/stream_tw.conf,Proxy
# 所有流媒体(包括上述所有流媒体)
RULE-SET,https://ruleset.skk.moe/List/non_ip/stream.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/stream.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/non_ip/ai.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/non_ip/telegram.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/telegram.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/telegram_asn.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/non_ip/microsoft_cdn.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/non_ip/microsoft.conf,Proxy
RULE-SET,https://ruleset.skk.moe/List/ip/china_ip.conf,DIRECT
# Only use it if you are using IPv6
RULE-SET,https://ruleset.skk.moe/List/ip/china_ip_ipv6.conf,DIRECT
RULE-SET,https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/Adblock4limbo_surge.list,REJECT,"update-interval=3600"
# MacWk.com Start
# DaisyDisk
DOMAIN,daisydiskapp.com,REJECT
# Viscosity
DOMAIN,sparklabs.com,REJECT
DOMAIN,swupdate.sparklabs.com,REJECT
DOMAIN,www.sparklabs.com,REJECT
# Sidify Music Converter
DOMAIN,www.sidify.com,REJECT
DOMAIN,sidify.com,REJECT
# Sublime Text
DOMAIN,www.sublimetext.com,REJECT
DOMAIN,sublimetext.com,REJECT
DOMAIN,license.sublimehq.com,REJECT
# MacWk.com End
AND,((PROTOCOL,UDP), (DEST-PORT,443)),REJECT-NO-DROP
PROCESS-NAME,v2ray,DIRECT
PROCESS-NAME,clash,DIRECT
PROCESS-NAME,ss-local,DIRECT
PROCESS-NAME,privoxy,DIRECT
PROCESS-NAME,trojan,DIRECT
PROCESS-NAME,trojan-go,DIRECT
PROCESS-NAME,naive,DIRECT
PROCESS-NAME,fdm,DIRECT
PROCESS-NAME,Thunder,DIRECT
PROCESS-NAME,Folx,DIRECT
PROCESS-NAME,DownloadService,DIRECT
PROCESS-NAME,qBittorrent,DIRECT
PROCESS-NAME,Transmission,DIRECT
PROCESS-NAME,fdm,DIRECT
PROCESS-NAME,aria2c,DIRECT
PROCESS-NAME,Folx,DIRECT
PROCESS-NAME,NetTransport,DIRECT
PROCESS-NAME,uTorrent,DIRECT
PROCESS-NAME,WebTorrent,DIRECT
PROCESS-NAME,"WebTorrent Helper",DIRECT
# Local Area Network 局域网
RULE-SET,LAN,DIRECT
DOMAIN-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/private.txt,DIRECT
DOMAIN-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/reject.txt,REJECT
RULE-SET,SYSTEM,DIRECT
DOMAIN-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/tld-not-cn.txt,Proxy
DOMAIN-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/gfw.txt,Proxy
DOMAIN-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/greatfire.txt,Proxy
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/surge-rules@release/telegramcidr.txt,Proxy
# 实用规则片段集
# RULE-SET,https://cdn.jsdelivr.net/gh/Hackl0us/SS-Rule-Snippet@master/Rulesets/Surge/Basic/Apple-News.list,Proxy
RULE-SET,https://cdn.jsdelivr.net/gh/Hackl0us/SS-Rule-Snippet@master/Rulesets/Surge/Basic/Apple-proxy.list,Proxy
RULE-SET,https://cdn.jsdelivr.net/gh/Hackl0us/SS-Rule-Snippet@master/Rulesets/Surge/Basic/Apple-direct.list,DIRECT
RULE-SET,https://cdn.jsdelivr.net/gh/Hackl0us/SS-Rule-Snippet@master/Rulesets/Surge/Basic/CN.list,DIRECT
RULE-SET,https://cdn.jsdelivr.net/gh/Hackl0us/SS-Rule-Snippet@master/Rulesets/Surge/Basic/common-ad-keyword.list,REJECT
RULE-SET,https://cdn.jsdelivr.net/gh/Hackl0us/SS-Rule-Snippet@master/Rulesets/Surge/Basic/foreign.list,Proxy
RULE-SET,https://cdn.jsdelivr.net/gh/Hackl0us/SS-Rule-Snippet@master/Rulesets/Surge/App/social/Telegram.list,Proxy
RULE-SET,LAN,DIRECT
# 最终规则
FINAL,Proxy,dns-failed
[Host]
[URL Rewrite]
^https?://(www.)?(g|google).cn https://www.google.com 302
[MITM]
skip-server-cert-verify = true
tcp-connection = true
其中节点自己换一换就可以用了。不行找 ai 跑一下自己的节点信息替换进去。
欢迎大家指正补充分流策略。
链式代理配置,其他如果自建的节点也可以按此方式配置:
最近折腾 Nexus,发现默认部署的最新版本首页有组件数量限制的展示,之前一直没有留意,经过一番了解之后,发现 Nexus 社区版的权益,也在进一步收紧,如果公司打算部署一个 Nexus,做好版本选择就非常关键。
Nexus 的组件限制,大致有如下几个版本节点:
3.66.0 版本中增加了组件和请求数等相关监测指标。3.76.1 版本,监测功能正常工作,当组件达到 10w 个会有建议提醒,但不会限制使用。3.77.0 版本开始,组件数 10w ,日请求 20w 规则正式生效,当某个指标达到上限之后,会进入 30 天 宽限期,宽限期内读写正常,如果指标降低到上限以内,到期后正常使用,否则将会无法写入。3.87.0 版本开始,组件数上限降为 4w ,日请求数降为 10w 。版本详细介绍,以及上限验证结果,详见博文: https://wiki.eryajf.net/pages/b6b711/
除了记录了对应版本,我还针对历史镜像做了归档,有需要的同学可以自取。