Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

在 github 架设 hugo blog(纯浏览器操作)

By: fivestone
11 November 2024 at 21:12

我其实对 Hugo 不熟,不知道这算不算重新发明了一遍轮子。但我搜索「如何在 github 上,用 hugo 架设自己的 blog?」时,搜到的教程,都需要用户在自己的电脑上,安装运行各种 git 和 hugo 的相关命令,感觉对新手并不友好。所以,我试着写了一个流程,让新人完全只需要在网页浏览器上操作,就能快速生成自己的 blog 网站。

所有操作都在 Github 这个项目上进行:
https://github.com/fivestone/hugo-papermod-beginning

这个项目本质上,就是搭了一个空白的 hugo 网站,让用户 fork 到自己的账户下,设置一下就能直接使用。对功能和界面有什么额外要求的话,请自行学习 hugo 的进阶教程。——然后你们就不是需要用这个项目的新人啦~

  • 本项目基于 hugo 博客引擎,和流行的 PaperMod 主题
  • 在 github 上建立的 blog,在墙内是不能直接访问的,需注意

1. 创建 github 账号

首先,注册自己的 github 账号,过程略。注册过程中,你设置的账户名 username,通常就是最终的网站地址 username.github.io,当然以后也可以把自己的域名映射到上面。

2. 架设自己的 blog 项目

注意,这一步,有两种方法

  • 第一种方法:你建一个全新的项目,下载我提供的 .zip 文件,解压后,再手动上传到你的项目。和第二种相比,稍微繁琐一点。但还是希望大家,有条件的话,使用这种方法。
  • 第二种方法,把我的这个项目,fork 到你的项目。这种方法对新人更简便,完全不需要在本地操作文件,只用手机或 pad 就可以完成。但这种 fork 在一起的项目,在进行自动发布 blog 的操作时,是共享同一个操作额度的。如果 fork 的人数非常多,未来可能会被 Github 限制。——要达到这种规模,大概要几千人同时用吧……所以也不需要很在意。
2.1. 第一种方法

注册并登入账号后,新建自己的项目(Repository)。

项目的名称,决定了最终 blog 的网址。假设你的 github 用户名为 username

  • 如果把项目命名为 username.github.io ,则最终的网站地址为
    https://username.github.io/
  • 如果把项目设置成其它名字,如 new-name,则最终的网站地址为
    https://username.github.io/new-name

确认项目为 Public。其它设置都不需要更改,点击绿色按钮创建。

创建项目后,点击「上传已有的文件」

我的 github 项目,下载已经设置好的 hugo 文件包,在本地解压缩 .zip 文件。然后,把里面的所有文件,拖拽上传到你的项目里。

等到 80 多个文件都被上传后,别忘了点击页面底部的 Commit changes 提交。

2.2. 第二种方法

注册并登入账号后,进入项目:
https://github.com/fivestone/hugo-papermod-beginning
点击 Fork,将这个模板复制到你自己的账号下。

和第一种方法一样,这里需要设置你自己的项目名称,假设你的 github 用户名为 username

  • 如果把项目命名为 username.github.io ,则最终的网站地址为
    https://username.github.io/
  • 如果把项目设置成其它名字,如 new-name,则最终的网站地址为
    https://username.github.io/new-name

然后点击 Create fork 创建项目。


3. 配置自动发布 blog

创建新项目后,进入项目的 Settings – Pages 页面,把 Build and deployment – Source,改为 GitHub Actions。

把 Source 从 Deploy from a branch,改为 GitHub Actions 后,进入上方的 Actions 页面。

初次进入 Actions 页面后,会显示 Github 预设的各种配置方案,通过搜索框找到 hugo,然后点击 hugo 方案中的 Configure

系统会自动生成配置文件,不需要做任何改动,点击绿色的 Commit changes 提交。

此时自动发布的 action / workflow 就已经开始运行了,大约 1~2 分钟后,就可以在
https://username.github.io 看到 blog 最初的页面了。

以后,每次对项目里文章或配置文件的更改,都会触发这个 action / workflow,重新生成一遍网站。可以在 Actions 页面,查看 workflow 每次运行的情况。


4. 更改网站基本信息

在 Code 页面,点击编辑 config.yml 页面,把一些预设的网站信息,改成你自己的信息。

对新人来说,需要在 config.yml 文件里更改的,大概有以下几项:

baseURL: https://username.github.io/ # 改成你自己的网址
title: 网站名称
params:
  author: somebody # 作者的署名

  homeInfoParams:
    Title: 网站标题,只显示在首页上
    Content: >
      显示在首页标题下方的一些文字。</br>
      支持一些简单的 html 和 markdown。

更改后,点击绿色的 Commit Changes… 在弹出的页面中,再一次点击绿色的 Commit Changes,保存文件后 1~2 分钟,就可以在 blog 页面上,看到更改后的内容了。


5. 添加、管理文章

所有的 blog 文章,都在 content / posts 目录中。在 Code 页面,进入 content / posts 目录。点击右上角,创建新文件。

所有的文章,均为 .md 结尾的 markdown 文件。文件名对应着这篇文章的网址,譬如,post-20241111.md 文章链接,就是
https://username.github.io/posts/post-20241111/

在文件的开头,如图所示,写入用 — 隔开的,文章的标题和发布日期。

---
title: "新文章的标题"
date: "2024-11-11"
---
然后开始写正文,markdown 格式。

同样,点击绿色的 Commit changes… 保存提交。1~2 分钟后,就可以在 blog 页面上看到新文章了。

content / posts 目录里的所有文件,都可以随意地新增、删除、修改、重命名文件。对应着 blog 文章的增删改、和改变 url 链接。

文章内嵌的图片,建议放在 static 目录下,然后在文章中用 markdown 格式引用。譬如 static / aa.jpg 文件,相应地在 markdown 文件中插入的代码为:

![](https://username.github.io/aa.jpg)

有经验的用户,也可以使用其它更有效的组织方式。


6. 其它注意事项

  • 生成的 blog 对应的 rss 订阅地址为
https://username.github.io/index.xml
  • 如果是用第二种方法,直接 fork 的项目,以后在这个 blog 项目里,会一直看到,图片里这样的消息,提示要把你对项目的更改,反馈给原本的我的项目。——不用理会就是了。

TimeLapseCam – 让抽屉里的闲置安卓手机变身为延时摄影神器

By: Anonymous
15 October 2024 at 12:59

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

TimeLapseCam 是一款 4MB 大小,只需要 6.0 就可以运行的 Android 延时摄影,可以在屏幕关闭的情况下继续录制延时,还能自定义调整分辨率、定时录像、禁用快门声,没有录制限制,堪称闲置安卓手机的最佳伙伴。

Contribute to woheller69/TimeLapseCamera development by creating an account on .

谁抽屉里还没有一两部淘汰下来的安卓手机呢?(没有请举手)

如果,我是说如何还能开机,那么拿出来试试这款应用,说不定解锁了新姿势。

TimeLapseCam 是一款简单易用,但暂无中文界面的 Android 延时摄影应用,不过其已经配置的很好了,打开就能用。
设置界面
默认一秒拍摄一张照片、不限时,直到你点击停止。可以修改拍照间隔,最长 10 分钟一张,也支持自动结束时间,最长 46 个小时。

还能定时开始拍照,以及关闭屏幕后继续拍照。

在 TimeLapseCam 中打开 REST API 之后,就能用浏览器打开 http://192.168.2.182:8085/rest,看到如何使用 API:

REST API v1:
GET /1/ctrl/status: Get current state: [stopped/running]
GET /1/ctrl/start: Start recording
GET /1/ctrl/stop: Stop recording
GET /1/ctrl/param: Get parameter
GET /1/device/battery: Get battery percentage
GET /1/current/img: Current / last recorded image
GET /1/current/imgcount: Image count
GET /1/current/lastimg: Last image: Name, Timestamp and URL
GET /1/img/list: List image folders
GET /1/img/listhtml: user clickable HTML page
GET /1/img//list: List folder / images
GET /1/img///list: List folder / images
GET /1/img//…/: Download image

比如:http://192.168.2.182:8085/1/img/TimeLapseCam/2024-10-15/TimeLapseCam0.mp4 可以直接播放最近一段视频

Stirling PDF – 免费开源的 PDF 编辑工具,拥有超过 30 个的全面功能

By: Anonymous
16 October 2024 at 12:50

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

Stirling PDF 是一站式的 PDF 编辑,让用户能对 PDF 文件进行各种编辑操作,包括分割、合并、转换、重新组合、新增影像、旋转、压缩等等,特色是免费、开源GitHub〕,过程中文件只会存在用户的设备上,若在处理时有暂存于服务器的内容在下载后会即时从服务器删除,不会记录保存或追踪任何资料,相较于在线工具来说是更安全、的解决方案。

1 Locally hosted web application that allows you to perform various operations on PDF files – Stirling-Tools/Stirling-PDF

Stirling PDF 提供多元的 PDF 编辑功能,涵盖文件组织、格式转换、安全性、检视与编辑等工具,满足各类文件处理需求,用户无需额外下载、安装软件,只要通过即可进行操作,Stirling PDF 有中文在内等多国语言界面〔在我写这篇文章时中文字串翻译率已达 93%〕,进入、找到对应的功能后就能直接进行编辑。

这项服务目前可以做到的功能包括:

1. 文件组织

2. 格式转换

3. 签名与安全性

4. 检视与编辑

5. 进阶功能

顺带一提,Stirling PDF 还有提供 Windows 版本,可以在没有连上的情况下使用,如果有兴趣的朋友可以在 GitHub 找到下载链接,原则上两者功能差不多,无论在线版或 Windows 程序都不用付费、也无广告干扰。

Stirling PDF

进入 Stirling PDF 网站后先从右上角语言选择「中文」。

Stirling PDF – 免费开源的 PDF 编辑工具,拥有超过 30 个的全面功能

接着从上方「工具」就能看到完整功能,依照类型分为:组织、转换为 PDF、从 PDF 转换、签名与安全性、检视与编辑和进阶工具,也可以直接从首页输入功能名称列出相关工具。

有一个 PDF 万用工具是整合旋转、裁切、分割、移除、新增图片等功能,进入后先点击左下角新增要编辑的 PDF 文件。

加入后 PDF 页面预览就会显示于下方,每一页都可单独旋转、删除或调整页数,将光标到页面中间时还会出现其他编辑选项,例如裁切或是加入图片,其实操作上很直觉,稍微摸索一下就会。

编辑完成别忘记点击右上角「下载」保存新的 PDF 文件。

另一个压缩 PDF 也是很常在在线工具看到的功能,选择文件、设置压缩比或是自动模式〔自动调整质量以使 PDF 达到指定大小〕,就能快速压缩 PDF 以获得更小的文件容量。

点击压缩后就会开始处理,完成后自动跳出下载提示,我以大约 9 MB 的 PDF 文件、手动模式 3 级测试后获取一个约 2.5 MB 的新文件,压缩成效相当好,而且图片并没有失真或模糊等情形。

另一个也很常用到的功能是「分割 PDF」,可以将 PDF 指定页面删除、或只是留下需要的页面,使用方法也很简单就不多加赘述,Stirling PDF 会有预先设置的示例提示,用户照着格式稍作修改后就能完成相关编辑任务。

如果要说 Stirling PDF 有没有比较特殊、少见的功能,有一个「自动涂黑」工具很有用,用户只要输入要涂黑的文字,选择 PDF 后就会自动将识别到的文字涂黑,确保隐私和安全性,同时也省去手动编辑文件的时间,操作上更有效率哦!

下图就是使用自动涂黑工具识别、涂黑的 PDF 文件示例,指定文字就会被涂黑处理。

copyparty – 免费开源强大的文件服务器,支持 WebDAV、FTP、媒体播放等超多功能

By: Anonymous
19 October 2024 at 12:16

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

copyparty 是一款功能非常丰富的多功能文件服务器,主要用来你电脑、服务器、设备里的文件,并通过、WebDAV、FTP 等方式访问,还支持播放音乐、上传文件、权限设置等功能。

几乎可以在任何有 Python 环境的地方运行,还支持 Docker 托管,以及 系统下的单可执行程序,甚至可以在 中运行。虽然运行很容易,但我不敢说它简单易用。

Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps – 9001/copyparty

copyparty 给自己的定位是「便携式文件服务器,具有断点续传、重复数据删除、WebDAV、FTP、TFTP、零配置、媒体索引器、缩略图++,全部集成在一个文件中,无依赖。」

所有的功能集中在一个 .py 文件中,718 KB,直接运行就可以了。Windows 系统有编译好的 .exe 单可执行文件,双击也即开机用。其他平台直接 python copyparty-sfx.py 就行了。

就是文档太啰嗦了…看不下去。

直接运行就可以在浏览器访问 http://127.0.0.1 了,默认会使用 80/443 端口,打开就是这样的:

可以上传、、播放、听歌、看图片…非常纯粹的文件分享。有一种 Alist 的感觉,不过它不支持网盘。

只需要在启动的时候添加一个用户,就能设置权限了,包括只读、文件夹限制等等:

这一行的意思是创建了三个用户:u1/u2/u3,为它们挂载文件夹 music,对 u1/u2 两个用户只读,u3 用户可以写。

但注意有参数后,访问端口就变化了(3923)。

copyparty 默认开启了 WebDAV,只需要在你的 WebDAV 客户端里直接连 http://ip:3923 就行了。

甚至,你可以通过 WebDAV 把这个文件夹映射为 Windows 的网络磁盘,不过 Windows 默认需要 https,改一下注册表就好了。

而 FTP 则需要在启动的时候添加 --ftp 21 参数,用户名密码和上面的设置相同,不设置就支持匿名访问。

Continue – 开源免费的 AI 编程辅助工具,支持自定义本地模型

By: Anonymous
11 October 2024 at 13:21

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

前段时间体验了 Cursor,其中的 Cursor Tab 和 @Codebase 功能确实很强,我现在已经开始付费使用了。

不过也有开发者朋友跟我聊到,Cursor 是很厉害,但是 20 美元/月的价格实在太贵了,如果便宜一点就好了。

所以我给他推荐了一些国内的 代码补全插件——

现有的 AI 编程助手已经有多家巨头在竞争了。光我试用过的就有许多:海外产品有 Copilot、Amazon CodeWhisperer,国内产品有字节的豆包 MarsCode、阿里的通义灵码、讯飞的 iFlyCode 等等。

目前国内的这几家都是或者免费试用中,应该可以满足大多数的需求。最后他看了一圈,来了一句:「难道没有的吗?」

于是我去了解了一下,还真有这样的开源插件:Continue。

⏩ Continue is the leading open-source AI code assistant. You can connect any models and any context to build custom autocomplete and chat experiences inside VS Code and JetBrains – continuedev/cont…

🏠 Continue 官网

Continue 是一款 VSCode 和 JetBrains 插件,它本身不提供 AI 模型,但它提供了多种接入 AI 模型的方法,来实现多种场景下的功能。

相比直接用商业插件,用开源插件配合商业模型,更有「用多少花多少」的安心感。更不用说 Continue 还支持连接到本地的模型,如果你的 CPU、显卡性能足够,完全可以在本地跑一个 3B 级别小模型来实现 AI 补全。

首先,安装 Continue 插件非常简单,只需要在 VS Code 的扩展市场中找到并安装即可。

🔗 Continue – VSCode Marketplace

插件的配置就要稍微研究一下了。

由于代码助手的场景很多样,不同的模型的侧重点也不同,不能用一套 API 打天下。

比如最常见的 Tab 补全,表现最好的是 3B 大小的模型,因为速度最快。而 Chat 模型则可以用一些 GPT 4o、Claude 3.5 Sonnet 这样的常用对话模型。

Continue 目前根据用途,将模型分为下面这 4 种(下面链接内有更详细的解释):

目前在线模型中,我比较推荐的还是 DeepSeek,DeepSeek 支持 Chat 和 AutoComplete Model,并且价格也比较低廉,很适合个人使用。

你可以先在 DeepSeek 官网 注册账号并申请 API Key。

拿到 API Key 之后,你就可以根据 Continue 提供的 DeepSeek 配置文件 ,在 Continue 中进行如下配置下面这些配置。

首先在左侧打开 Continue,点击下方的配置按钮,会出现 json 格式的配置文件。

Chat model 配置,可以配置多项。

Autocomplete model,只能配置 1 个。

注意 JSON 格式非常严格,你需要确保你的写法是准确的。

Embeddings model 可以不用配置,VSCode 中 Continue 提供了一个默认配置(使用了 Transformers.js),在默认情况下会在本地计算机运行,无需额外配置。

Reranking model 也是可选配置。主要是对 @Codebase 功能有帮助,能够在向量搜索中找到最相关的代码片段。Continue 推荐使用 Voyage AI 的 rerank-1 (需要申请 Token)。为了简化配置步骤,你可以暂时用 Continue 提供的 Voyage AI 的免费试用配置。后面再按照 详细的配置文档 进行配置。

注意,上面这些只是最基础的配置,如果你有一些特别的需求,比如你希望它始终提供多行的代码补全,就需要附上额外的参数 multilineCompletions 等。再比如 @Codebase 的时候你想让它检索更大范围需要配置 nRetrieve 参数。这部分配置我推荐你自行研究一下它的文档——

🔗 Continue 自动补全文档

🔗 Continue @Codebase 文档

在线模型的使用中,Continue 确实能满足我对本地代码补全的要求。

当你使用 Tab,生成效果和速度跟文章开头提到的那些商业插件不相上下。

当你使用 Chat 面板时,也能给出格式准确的回答。

但是在 AutoComplete 功能方面还是差了一些,相比 Cursor Tab 那种只需要敲 Tab Tab 的模式,爽快感差了一截,但已经能够满足日常使用的需求。

Continue 的官网上还展示了一个 Actions 功能,包括了 @Codebase 和斜杠命令如 /edit/test 等,从动图上看效果还是很棒的。

我也体验了 @Codebase 的功能,它也会对当前代码库中的内容进行检索,检索的范围似乎比 Cursor 小一些,导致 @Codebase 的结果和体验也比 Cursor 要差一些。

但这不太严谨,只是个人体感,毕竟代码内容千差万别,Prompt 也不同,Cursor 的模型更强(默认 Claude 3.5 Sonnet),加上我没有在 Continue 中完整配置 Reranking model,多个原因共同作用下,才导致的效果不佳。

瑕不掩瑜,我认为 Continue 还是很大程度上满足了日常开发的需求。

接下来再看看 Continue 的舒适区,结合本地模型配置,用自己电脑的性能去跑模型。

本地模型我只推荐自定义 Autocomplete model,因为体量更好,速度更快。过大体量的 Chat model 在本地跑速度还是太慢,生成一条回复能急死人,回复质量也远不如在线模型。

我用的设备是 Macbook Pro M2,模型则是用 LM Studio 来加载和启动。 用户可以有其他选择,比如推荐 Jan。

根据 Continue 的推荐,它推荐我们使用开源模型 StarCoder2-3B 作为自动补全模型,我还尝试了 DeepSeek Coder 的 1.3B 模型和 6.7B 模型。

我的个人感受和 Hugging Face 地址都附在下方。

StarCoder2-3B (适合 Tab 补全,速度快,效果好)

🔗 second-state/StarCoder2-3B-GGUF 模型下载

deepSeek-coder-1.3B (适合 Tab 补全,速度快,但输出效果一般,存在格式错误)

🔗 TheBloke/deepseek-coder-1.3b-instruct-GGUF 模型下载

deepSeek-coder-6.7B(响应过慢,不适合代码补全)

🔗 TheBloke/deepseek-coder-6.7B-instruct-GGUF 模型下载

所以我的最后还是乖乖用了 StarCoder2-3B。

上面的下载链接列表里,我推荐选择 xxx-Q5_K_M.gguf。这些文件名通常与大语言模型的量化方法有关,目的是减少模型推理的计算复杂度,同时保持较高的精度。过高可能会导致速度变慢。

当你把 StarCoder2-3B 模型放到 LM Studio 的模型目录中并启动后,LM Studio 会在 localhost:1234 上启动一个 AI 服务器后端(Jan 的端口是 1337)。

然后你需要回到 Continue 插件配置中,配置如下信息——

这里常见的错误是,你必须满足 JSON 格式要求。tabAutocompleteModel 后面是 {},意味着只能配置一个,所以记得把刚刚配置的 DeepSeek 删掉。

这样一来,就可以纯用本地电脑性能实现自动补全了,不用为商业 AI 服务花一分钱了。

我分别在 Macbook Pro M2 和 RTX 3070Ti 的配置下进行了尝试。

在使用 GPU 时,代码补全速度非常快,几乎和云端解决方案没有区别。

而在 CPU 环境下,虽然响应速度稍有下降,但依然能流畅运行。

可以看到,速度方面非常 OK,代码质量也基本满足要求。甚至从响应速度上说,比在线版本还要快不少。

这种本地处理的方式尤其适合对有较高要求的开发者,因为所有的处理都在本地进行,不用担心代码被上传到云端。

不过,需要注意的是,Continue 对硬件配置还是有一定要求的。尤其是当你使用更复杂的模型时,低配置的机器可能会有些吃力并且发热严重。

因此,如果你希望获得更好的体验,还是建议使用配置较高的开发环境。

总体来说,Continue 是一款非常值得推荐的 VS Code 插件,特别适合那些重视隐私、性,并希望利用本地 AI 模型提高开发效率的开发者。

虽然在性能上需要依赖较高的硬件配置,但它提供的灵活性和本地化的处理能力,完全可以弥补这一点。

如果你有兴趣尝试 AI 驱动的代码补全,并且希望数据完全掌控在自己手中,那么 Continue 无疑是一个非常好的选择。

Windows 11/10 系统优化和推荐应用

By: Anonymous
27 September 2024 at 13:51

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

有人说 11 适合大多数普通用户,即便个人需求不同,也可以在此基础上进一步调整(折腾)。仔细一想,更新使用 Windows 11 这段时间我确实进行了不少调整,稳定使用好一阵子之后,许多折腾过程被我逐渐淡忘。

于是想着写下本文作为记录,以便回顾,顺带给也有意深入调整 Windows 11 的朋友一些参考。

Windows 10 在初次使用的时候可以跳过网络连接设置,选择「离线账户」。这样可以避免微软账户的一些设置,但也会导致一些功能无法使用。而 Windows 11 在安装时──至少从 UI 来看──会强制要求连接网络并登录 Microsoft 账户。

如果你只想通过离线账户使用,或碰上微软服务抽风偏偏又无法登录的情况,在这一步可通过 Shift + F10 调出命令行,输入 oobe\BypassNRO。命令执行后系统将自动重启,此后初始化过程中的网络配置会额外出现「我没有 Internet 连接」选项,再点击「继续执行受限设置」后续即可配置离线账户。而如果你已经联网,看到强制要求登录 Microsoft 账户界面后才寻找使用离线账户账户的方法,此时只通过上面的命令是不够的——至少从我唯一的一次经历来看输入命令后重启后仍然会自动配置好网络,此时则需要先输入 devmgmt 打开设备管理器、禁用无线网卡,然后再输入 oobe\BypassNRO

截至目前通过这些额外的手段还是能够使用离线账户,但微软如此收窄用户选择的空间,很难不让人揣测其意图,甚至给人留下一种不断侵蚀用户和选择权的糟糕印象,毕竟在线账户只会让微软更轻松地收集各种用户,包括使用习惯、偏好设置等个人信息,而这些收集行为也不只在本设备,通过在线账户,微软也能更轻松地跟踪用户在不同设备间的行为,构建更完整的用户画像……收集到的数据则可以用于精准投放、出售给第三方广告商、通过与其他微软服务的集成二次扩大数据共享范围。

要知道 Microsoft 账户隐私设置界面着实复杂,迈过离线账户的坎,后面想要完全控制自己的隐私选项难度就不低了。

除了预装系统的 OEM 设备,新设备至少第一次的完整的更新是必要的,这些更新包含正常使用的驱动等。如果 Windows 更新无法为你下载安装特定版本的驱动,你也可以前往对应设备厂商的官网手动下载安装,如: 

至于特殊的「鸡生蛋」情况──无线网卡驱动──没有无线网卡驱动无法联网、无法联网就无法通过 Windows 更新升级无线网卡驱动,可以通过 USB 网卡或者手机共享网络连接,或者直接下载驱动到 U 盘,然后在设备管理器中手动更新。对于 OEM 设备可以去对应官网寻找驱动支持,对于个人 DIY PC 主要前往主板官网下载最新驱动,当然如果你知道具体网卡型号(例如常用的 Intel AX210)也可以直接去对应官网下载。

说到 OEM 设备,OEM 厂商关于硬件的支持性应该优于更广泛的 Windows。倘若 OEM 厂商有提供完整的硬件驱动管理工具,这些工具优先级应该高于 Windows Update。为避免 OEM 驱动管理与 Windows 更新工作重复、覆盖乃至冲突,可以按照如下流程操作:

说回 Windows 更新本身。对于目前桌面端主要使用的三大(类)系统──WindowsmacOS、各 Linux 发行版──相较于更加专用的各 Linux 发行版和产品线单一又严格由 Apple 控制淘汰周期的 macOS,兼容性最好的 Windows 在更新上也更容易受兼容性带来的多样性所困,从而很难实现更新行为和质量的一致性。这也是为什么每每听闻 Windows 更新问题时,总有人说「从来没遇到过」,也总有另一些人抱团抱怨仿佛 Windows 都快完全不可用了那般。

其实如今没必要过于抵制 Windows Update,更新内容本身带来的问题几乎没法举例,更多主要是更新过程中的意外。如果你很清楚自己在做什么,也可以尝试推迟 Windows 更新。除了在更多选项中至多推迟五周外,还可以通过修改注册表推迟任意长度时间:

你可以填写一个很大的天数,然后在需要更新的时候点击 Windows 更新中点「继续更新」即可方便地跳过更新推迟,在此之前不会收到任何更新检测或提示,更不会自动更新。

上述通过注册表推迟更新的操作可以通过脚本完成:

再配合任务计划程序实现自动化。这样就可以根据自己的节奏推迟更新、累计更新,例如每六周推迟五周等。

至于彻底禁止 Windows 更新,其实上文提到的通过注册表推迟到一个不可能的天数便可达到类似效果,除此以外还可以通过编辑组策略、修改更新服务器到一个空地址、借助诸如 Windows Update Blocker 等第三方工具等。这里不再一一赘述。

本篇围绕 Windows 11 系统本身的设置调整展开,尽量不涉及第三方软件、工具,若非要涉及也是主要是在辅助调整设置(例如把隐藏的系统设置项调出来)而不提供额外功能。

任务栏、开始菜单最直接的调整在「设置 > 个性化」中。

在任务栏设置中,我们要做的第一件事就是把塞满广告和各种无用信息的小组件整体关闭,然后根据个人习惯调整其他设置,比如我会将搜索仅显示图标、任务栏左对齐、永远合并任务栏按钮。

在开始菜单设置中,记得关掉第一面的所有推荐内容,并在「文件夹」中打开设置方便快速进入。

搜索栏在任务栏中的开始菜单附近,但是它的设置项目却在「隐私和安全性 > 搜索权限」中。而微软也往此处插入了一些「推荐内容」,需要在关闭设置项目最后的「显示搜索要点」。

Windows 11 中,即便解锁任务栏,我们也不能像 Windows 10 那般将任务栏拖动到屏幕左右侧,只能在底部。虽然通过修改注册表可以强行改动任务栏位置,但是会导致 UI 错位。更推荐的方法是使用第三方工具将整个任务栏回退到 Windows 10 模式,例如后面会介绍的 ExplorerPatcher。 

除了任务栏和开始菜单,很多人在 Windows 11 中最先接触到的变化可能是右键菜单。其实如果不带成见来看,Windows 11 的右键菜单在设计上更加简洁、更符合整体设计语言,且按钮排布更加宽松,没有按钮增多时密密麻麻的视觉压迫感,也更适合触摸操作等非精确点击。

问题是,宽松的按钮排布,代价是并非所有功能都能直接在右键菜单中找到,部分功能被隐藏在「显示更多选项」中,且这些更多选项并非像「新建」那样以二级菜单展开,而是完全退回到类似 Windows 10 的右键菜单。在桌面/文件资源管理器按住 Shift 右键也能直接唤出这种经典风格的右键菜单,除了真的需要考虑触摸可用性,为什么不一开始就显示完全呢?

倘若你不想节外生枝使用复杂插件,其实直接修改注册表的方法也并不繁琐。

注销或重启文件资源管理器即可生效,右键菜单将恢复到 Windows 10 风格。

在我自己的日常使用习惯中,无论在 Windows 还是 macOS,虚拟桌面都是高频使用的功能。对于临时被打断或者由于时间问题没有完成的工作,在确保保存后我会将其原封不动放在原位置并新建一个虚拟桌面继续其他工作。同时在处理多个任务时候,我也会尽可能保证一个虚拟桌面内是一个相对独立的任务,相当于在标签页、窗口之上再加一层桌面维度,检索时更加快捷。

如此频繁的使用,自然容易在 Windows 10 升级到 Windows 11 感受到一些细微的变化。对于单次虚拟桌面切换来说动画是更加丝滑了——Windows 11 非线性动画的加速、减速比起 Windows 10 更加自然。但多次切换就有点灾难了,在 Windows 10 按住 Ctrl + Win 并多次按左右方向键时,滑动动画经历「加速 > 连续的桌面滑动(哪怕有来回)> 减速」停到目标桌面,而在 Windows 11 中,多次切换时,每次都会经历完整的「加速 > 减速」动画,相当于把单次切换简单的拼接起来,这样的动画在频繁切换时会显得有些拖沓。

以上都是针对快捷键切换虚拟桌面的情况,对于触控板切换来说动画都是尽量跟手的,而连续切换之间的停顿也符合直觉(毕竟触控板没法像快捷键那样连续多次按方向键,中间肯定也有停顿对应)。

网络上暂时没有找到将动画回退到 Windows 10 版本的方法,所以我简单粗暴地关闭了这个动画——在「设置 > 辅助功能 > 视觉效果 > 动画效果」开关可以关闭虚拟桌面切换动画,但是这样也会波及其他动画效果;在高级系统设置(cmd/Win + R: sysdm.cpl)中的性能设置中视觉效果页关闭「对窗口内的控件和元素进行动画处理」也可以关闭虚拟桌面切换动画,但同样也会波及诸如 Win + Tab 窗口动画效果,不过从描述来看想必波及的范围更小。

我个人有个癖好是桌面不出现任何图标、任务栏只留一个文件资源管理器、所有应用在开始菜单以磁帖排布。在注意力有些散漫的时候 Win + D 回到桌面欣赏下壁纸休息——不得不承认 Windows 11 背景设置中的「Windows 聚焦」挺好看,同时又不会过分吸睛,应该是和 Bing 每日壁纸同源的。

在「设置 > 个性化 > 主题 > 桌面图标设置」中可以关闭桌面图标。遗憾的是当清空桌面图标后,角落「Learn about this picture」更加显眼,且没有显式关闭设置,除了再次借助 ExplorerPatcher,也可以通过修改注册表实现:

这样桌面就只剩下壁纸了。如果你第一次这么设置会发现有一尴尬之处──回收站怎么进?确实一般情况下回收站都是放在桌面的。这时可以通过在文件资源管理器的地址栏中输入 shell:RecycleBinFolder 打开回收站,然后将其固定到快速访问中,这样就可以在文件资源管理器的侧边栏方便访问回收站。

硬件部分关于屏幕、缩放、渲染等内容会占用太多篇幅且涉及技术原理部分可操作性不强。这里直接给结论:

Windows 10 之时我还能接受通过 noMeiryoUI 软件方式修改默认系统字体为更纱黑体,配合 MacType 软件实现更好的字体渲染效果(一定程度上抵消 ClearType 在高分屏的负优化)。虽然 noMeiryoUI 依然兼容 Windows 11,Windows 11 上更多的系统组件、官方应用并不默认遵守该设置,导致字体修改效果十分有限。

因此在 Windows 11 上我选择一种比较 dirty 但是好用的手段──将其他字体(例如更纱黑体)重新打包成伪装的「微软雅黑」并移动至 Windows 字体文件夹下以欺骗系统。chenh96/yahei-sarasa 提供了一个截止本文修改时仍运行良好的 Python 脚本自动将更纱黑体伪装为微软雅黑和宋体。

目前主要有三种方法将伪装字体替换系统默认字体:

这里仅展示第一种方法,不需要任何额外工具。在 Windows 恢复模式中的命令行使用 xcopy 将伪装的微软雅黑移动到相应文件夹下:

覆盖后重启即可。请特别注意不要在任何有用于演示、汇报用途的 Windows 设备上进行此操作,以免一些不必要的麻烦。

Windows 的色彩管理仍是一个相对混乱的领域,短期内是不指望能和 macOS 相提并论。但是 Windows 11 还是比前代 Windows 10 在 HDR 支持上有 明显改进,至少算是过了及格线。

在开启 HDR 之前,还请确保屏幕至少支持 HDR 600 标准,HDR 400 可以当作不支持看待(注意区别于 HDR true black 400,这是 OLED 标准,甚至严格过 HDR 1000)。OLED 和 MiniLED 屏幕往往效果更好。

全局开关在「设置 > 系统 > 显示 > HDR」。开完先别急,点击下面的「HDR Display Calibration」,这里可以矫正 HDR 显示效果。

「自动 HDR」功能可以将仅支持 SDR 的游戏转化为 HDR 输出,效果挺不错。但如果你的设备使用较新的 N 卡,那更推荐关闭此功能 Windows 11 的自动 HDR,用 NVIDIA 内的 RTX HDR 替代。由于 HDR 会尽可能用尽显示器硬件性能,不能通过调整显示器亮度来改变内容整体亮度,在开启 HDR 显示时只能通过设置「SDR 内容亮度」将桌面调整至不开 HDR 相近效果。

在开启 HDR 模式下就是纯 HDR 信号输出,不存在区域渲染,原本 SDR 内容也会通过算法转化为 HDR 输出,这其中必然是会丢失信息的。目前消费级 HDR 显示器素质良莠不齐。如果在开启 HDR 模式看 SDR 内容时发现颜色「寡淡」,有可能是眼睛已经被各种「鲜艳模式」惯坏了,毕竟在开启 HDR 后系统会自动对 SDR 内容做 sRGB 限缩,从某种意义上这才是「正确」的颜色,除此以外就是显示器还跟不上,前者可以尝试常驻 HDR 模式适应,后者建议常用 Win + Alt + B 快捷开关 HDR 仅在消费 HDR 内容时开启。

「Wintel 联盟」现在似乎已经很少提起,当初意图取代 IBM 公司在个人计算机市场上的主导地位,直至现在 Microsoft 和 Intel 的合作依然紧密。Intel 新大小核处理器在 Windows 10 上有许多调度问题促使其用户不得不选择 Windows 11。

如果你在电源设置中发现缺少某些设置项目,除了一个个查注册表,更方便的方法是通过 PowerSettingsExplorer 这个仅调用 Power Management Functions 接口的小工具来调出那些被隐藏的选项。在 Windows 11 中与大小核调度策略有关的隐藏高级电源设置有:

在「高性能」电源计划中,这三个的设置按顺序是「0 – 自动 – 自动」,调度策略是「大核 > 小核 > 大核超线程」;如果将后两个设置同时设为「高性能处理器」,那么调度策略变为「大核 > 大核超线程」。总体而言异类策略 0 优先使用大核,对应的异类策略 1 优先使用小核。异类策略 4 比较奇怪,它是「节能」电源计划的默认设置,但是在烤鸡、游戏挂机等测试场景大小核调度策略几乎和「高性能」一致,怀疑是高负载场景积极调度、中低负载再节能的策略。

其实预设的几种电源计划均挺符合直觉的,没必要过于纠结。即便有极端省电需求也不建议完全小核优先,其实该设置中的所谓「高效处理器」也就是小核还真未必比限制后的大核能效比高。看看对功耗更加敏感的移动端,都有越来越多大核的势头,乃至天玑的全大核构想。当然移动端大核甚至还没够到桌面端的小核,不能简单横向比较。不过时至今日我依然对桌面端异构架构持保守态度。

以上都是针对 Intel 新处理器的情况,对于 AMD 全大核处理器,Windows 11 的大小核调度反而引入额外问题导致游戏场景表现甚至不如 Windows 10。众所周知,锐龙 CPU 各核心都有成为 CPPC 属性,代表各个核心的「体质」,在 AMD 官方工具 Ryzen Master 中可以查看的金、银核心分别就是 CPPC 最高的两个核心,而 Windows 11 会将 CPPC 最低核心视为小核(高效处理器)进行调度。通过上述真正大小核的 Intel 处理器上观测的不同异类调度策略并在 AMD 全大核处理器上对应测试,发现 Windows 11 对 AMD 处理的调度的确遵循 N-1 个高性能处理器和 1 个高效处理器的策略。这样默认的调度策略会更不倾向调用所谓的小核,这种不对称可能会导致更多的跨核行为、特别是游戏场景频繁地 L3 缓存争用造成无端性能损失。

之前的民间偏方,在 BIOS 开 PBO、XMP/EXPO 的同时顺手把 CPPC 关掉,或许也是由此而来。

早在去年 UP 主 @开心的托尔酱 在 关于 Windows 系统对 AMD 的负优化—异类线程调度 就有提到这个问题。而在最近 AMD 在社区更新 关于 Zen 5 游戏性能提升远不及理论的回应,宣布 Windows 11 24H2 将通过优化「branch prediction」 来提升 AMD Zen3/4/5 系列处理器的性能表现,部分游戏甚至有 10% 以上提升,要知道 Zen 5 由于相较于前代提升过于微妙有被戏称「Zen 5%」,更有特例 5700X3D 在 Windows 11 上性能表现比 Windows 10 差 15%……该说锐龙 CPU 首发一如既往地一言难尽呢、还是说与 Windows 合作不够紧密呢?

当然,尽管 Windows 几个电源设置的预设符合直觉无需额外调整,电源设置里还是有很多可玩性的,例如不用重启调整 CPU 睿频参数等。具体不再展开,感兴趣可以参阅 Windows 电源设置注释

Windows 11 在「设置 > 账户 > Windows 备份」中可以设置包括文件、设置等备份选项,但似乎必须绑定微软账户使用,对于离线账户并不友好。且这种方法不支持备份系统。

个人认为更好用的还属控制面板中的「备份和还原(Windows 7)」,不仅支持对系统分区全量备份,还支持制作系统镜像和系统恢复盘。虽然 Windows 在 知识库 中鼓励大家尽可能使用设置取代控制面板,无奈前者体验还偏偏不如后者。

此外,Dism++ 也提供系统备份功能,同时支持不添加文件的增量备份(不算快照)。Dism(Deployment Imaging and Management)是 Windows 自带的一个工具,用于安装和维护 Windows 映像,Dism++ 只是将常用命令封装成 GUI 便于操作,并没有额外单独实现,这种备份也算是半官方方法。

还有两个系统功能看似很好用但是我不推荐:一是系统检查点,它本意主要用于系统更新失败的回滚,很难说胜任纯粹的系统备份,对个人文件的行为很奇怪经常在回滚的时候搞得一团糟;而文件历史,它默认备份整个用户目录,需要自己一个个排除,且该功能仅放置于控制面板,微软对此也并不算上心,一个 bug 三五年不修。

话说回来,目前单独备份系统的意义远不如备份文件,通过链接把一些应用的数据文件夹(例如微信保存的文件)link 到其他分区、外置存储乃至云端上,更多链接操作留到后续关于快捷创建链接的工具那一部分。

Windows 11 正常要求硬件支持 TPM 2.0。TPM 芯片是一种安全加密处理器,包含多个物理安全机制以防篡改。BitLocker 会将专用密钥存储在 TPM 芯片内,在除了更改 TPM、BitLocker 检测到 BIOS 或 UEFI 配置、关键操作系统启动文件或启动配置的更改之外的情况下,BitLocker 会自动解锁,用户登录无需进行任何额外交互即可解锁。无其他加密手段建议对系统盘开启 BitLocker,这已经是 Windows 集成最高、最无感的方式。

关于几个关键问题:

如果真有换设备需求,但是事先忘记解锁 BitLocker,会导致无法访问数据吗?

不会。在创建加密的时候 BitLocker 同时会创建恢复密码,可以将其打印或存在安全位置。检测到硬件更改后 BitLocker 进入恢复模式,用户输入恢复密码可以重新访问数据。

备份工具是否支持 BitLocker 加密盘?

对于基于文件系统的备份方式来说,理论上解锁后 BitLocker 是透明的,先解锁再备份即可。对于分区的备份方式,理论上可以不解锁整个区拷走,但是加密后不知道哪一部分是空的会导致备份文件更大且不好压缩,虽说 BitLocker 通过长长一串恢复密码也可以离线挂载,但不建议盲目还原。

BitLocker 是否会影响性能?

理论上会,但实际上体感不明显。别单看开 BitLocker 后硬盘读写速度有的下降超 10%,解密过程应是压力越大损耗越明显,所以不能根据硬盘测速这一极端压力情况下的性能损耗来界定 BitLocker 的性能损耗。

BitLocker 闭源,微软可以添加后门,如何保证安全?

你说得对,可以尝试开源方案 VeraCrypt,支持 Windows 11 系统加密,在普通分区加解密上还提供更好的跨平台支持,但是 VeraCrypt 不支持 TPM 且由于理念不合永远不会支持,在和 Windows 集成上肯定也不如 BitLocker 无感。看你愿不愿意拿所谓的安全换便利了。

平心而论,这个软件本身并没有什么问题,但是大陆用户对「电脑管家」的 PTSD、早期仅在中国区推送和不事先提醒地静默安装才是其被人诟病的原因。

后来,我的区域美国、语言英语的 Windows 11 也被推送,Reddit、Discord 也有相关讨论,才得知微软打算全球推送。单看软件本身,清理、加速、系统保护项、应用管理、常用小工具(截图、字幕、翻译、词典、以图搜图等)还有快捷修复建议,其实就是可能原本在设置里藏很深的 Windows 已有功能的拿出来,不需要联网也没有广告,不像小组件和 Office Plus 那样尽塞垃圾。

如果抛开前两点,静默安装也确实不厚道,用户的诟病并非完全无端。不过实现手段其实不是 Windows 更新而是 Edge 后台下载安装包安装。所以它就单纯是个软件,看不惯直接卸载就好。Edge 自从某次我重装系统后,在搜索 Chrome、进入 Chrome 官网时用大半个页面阻挠我安装 Chrome 我就已经心留芥蒂,出了这一茬直接让我彻底禁用 Edge,还不能简单卸载,留到后面 Remove MS Edge 插件部分。

除了深入设置、注册表、组策略等方法调整系统外,还有一些第三方插件可以帮助我们更好地使用 Windows 11。当然这里提到的插件依然主要针对系统调整,不发散到更广泛的效率提升上。

Windows 本身其实一直缺乏一个好用的包管理器,不提不如 Linux 各发行版的,就连 HomeBrew 类似产品都没有。微软官方推行的 WinGet 严格意义上称不上包管理器,它并没有提供统一的包格式,而是依赖于各个软件的安装程序下载下来静默安装,正如 HomeBrew Cask。Scoop 才稍微有些包管理器的感觉,安装同时也能自动配置环境变量,在迁移时备份还原更方便。如果不介意添加多余的工具,用 UniGetUI 可以一次性管理 WinGet, Scoop, Chocolatey, Pip, Npm, .NET Tool 和 PowerShell Gallery 多个包管理器。

仅关于 Scoop 的安装,在 PowerShell 中输入以下命令即可:

倘若你还希望使用 UniGetUI,可以在 PowerShell 中输入以下命令通过 Scoop 安装:

Windows 并不像 macOS 通过三个应用分别控制桌面、Dock 栏、Finder,而是通过一个「资源管理器」一并控制。而 Windows 11 相较于 Windows 10 许多令人不满的改动──任务栏、开始菜单、右键菜单──都可以通过介入资源管理器来调整。

虽然前面系统设置部分已经提到部分调整手段,但是这些调整往往需要手动修改注册表等隐藏更深的手段。如果你不想折腾,亦或是觉得这些调整不够全面,可以尝试 ExplorerPatcher 这款开源插件,不仅可以将任务栏、开始菜单、右键菜单一并调回 Windows 10 风格,还有许多诸如 Office Key、禁止文件高级搜索、取消窗口圆角等功能。

虽然在部分时刻,例如系统更新后,ExplorerPatcher 偶有失效,但考虑到开源插件能做到这种程度,完全配得上其自称的「增强 Windows 上的工作环境」宗旨,无需吝啬赞美。

开源项目 Power plan switcher 可以在系统托盘中切换电源计划,支持快捷键、自动切换等功能。

一般来说对于长期接通电源或者没有续航焦虑的设备可以常驻「高性能」或「卓越性能」电源计划,这些计划的默认设置已经十分符合直觉,无需额外微调。

而对于笔记本电脑,它有时接通电源有时使用电池,前往控制面板翻出电源计划设置十分麻烦。PowerPlanSwitcher 可以不仅在系统托盘中切换电源计划,还支持在电源状态变化(从 AC 供电到电池供电)时自动切换对应电源计划。

官方称该软件支持 Windows 10,但实际上在 Windows 11 上也能正常使用。

Microsoft PowerToys 是一组实用工具,可帮助高级用户调整和简化其 Windows 体验,从而提高工作效率。

——Microsoft PowerToys

作为一款出现在 Microsoft 知识库的官方工具,可能考虑到不用像 Windows 那样背负沉重的历史包袱,PowerToys 工具箱中的绝大多数功能都轻量、专一且直击用户需求,被誉为 Windows 用户必备瑞士军刀,且在 GitHub 上完全开源,算是微软给我留下正面印象的产品之一。

早在 Windows 95 时代,PowerToys 就集成了包含了 Tweak UI 在内的共计 15 个小工具,Tweak UI 可以调整 Windows 中原本需要修改注册表才能访问的较为晦涩的设置。微软在 2019 年接管并重新推出 PowerToys,目前也已经有如下我认为很好用的功能:

同时还有诸如 Color Picker、Image Resizer、Text Extractor 等一众小工具,让你免去管理一堆小工具的烦恼、也减少众多工具中出现某几个断更的风险。PowerToys 也有丰富的 第三方插件,例如 PowerTranslator 在 PowerToys Run 中直接翻译文本、
EverythingPowerToys 在 PowerToys Run 中通过 Everything 检索文件、
ChatGPTPowerToys 在 PowerToys Run 中调用
PowerToys-Run-Spotify 在 PowerToys Run 中让 Spotify 放歌等等。

各个工具具体用法这里不再赘述,PowerToys 每个工具页面都有详尽的描述。

单看 PowerToys Run 中的文件搜索功能其实比较孱弱,而 Windows 资源管理器的搜索效果更是惨不忍睹。Everything 通过访问 NTFS 文件系统的 USN 日志,在数秒内检索 TB 级别硬盘,并实时监测所有文件的增改情况,同时支持通过正则表达式进行文件精确匹配,还可通过插件与 PowerToys Run 联动。

自从某次我重装系统后,Edge 在搜索 Chrome、进入 Chrome 官网时用大半个页面阻挠我安装,反而彻底让我将 Edge 定位明确为 Chrome 下载器。更改默认浏览器后某些链接还是会给我跳转到 Edge 打开,之后还闹出自动下载静默安装微软电脑管家一事。

不过 Edge 是不能够简单直接卸载的,可能会导致一些依赖系统 WebView 的应用出问题,而且可能在某次重启后惊觉 Edge 又回来了。

Remove MS Edge 这个工具旨在通过可执行文件或批处理脚本以静默方式彻底卸载 Microsoft Edge,并提供保留 WebView 选项。

虽然 PowerToys 的 Keyboard Manager 也能完成一些键盘映射的工作。但是 AutoHotKey 作为完整脚本语言,功能更加强大,可以实现更多的自定义功能。

例如我对于大写锁定键的需求很小,但是却又有频繁的中英文输入法切换和自定义快捷键需求。自定义快捷键时一般会引入 Hyper 键 的概念,在 Windows 上即同时按下 CtrlShiftAltWin 四个键,这样可以避免与系统快捷键冲突。

我希望产生下述行为:

这种行为仅通过 PowerToys Keyboard Manager 是难以实现的,但是通过 AutoHotKey 可以轻松实现:

同样的,在 macOS 中文输入法会自动将 Shift + [/] 映射为部分中文排版更推荐的直角引号「/,而 Windows 自带输入法并没有这个功能。除了更换输入法、全局替换掉某个键、设置字典打出一对引号等方法,通过 AutoHotKey 识别当前输入法状态并映射不同的按键不失为一种更优雅的解决方案。

Windows 上也有自带的 Win + V 的高级剪贴板功能,甚至可以和微软账户绑定实现云同步。但是这个功能对我而言比较花里胡哨,UI 确实更加现代化也与系统保持一贯风格。不过系统自带的剪贴板历史过于循规蹈矩,保存的历史条目太少不说,在隐身浏览器模式下乖乖不记录。Ditto 作为一款开源剪贴板增强工具,UI 更加简洁紧凑,可以保存更多历史记录、支持搜索、支持自定义快捷键、同时还有清除格式等高级粘贴功能。

配合 AutoHotKey 设置的 Hyper 键,我一般通过 Hyper + V 调出 Ditto 剪贴板历史记录。

C++ 编写的小工具具有不俗的性能,在保存 300 条目且不随时间清空的情况下,调出和检索都察觉不到卡顿,且占用极低只用个位数 MB 内存。

macOS Finder 中,Quick Look 赋予空格快速预览文件夹属性或者多种文档内容功能——俗称「一指禅」。Windows 用户一直垂涎这种功能,虽然 Windows 资源管理器也可以通过侧边栏预览,但是这种方式开启后任何选中都会预览,占用大量资源,同时支持的文件内容类型也有限,还会有反馈带来奇怪 bug。

这催生了 Windows 同名第三方开源插件 QuickLook,行为几乎与 macOS Quick Look 一致,通过空格快速预览,同时支持通过 引入插件的插件 形式支持预览 markdown、jupyter notebook、电子书等更多格式文件,并且支持在 Directory Opus、FilesOneCommander 等第三方文件管理器中使用。

MacBook 触控板和妙控板凭借着超大的触控面积、以假乱真的震动体验和 macOS 软硬结合,造就了曾经以及当下最优秀的触控板体验。许多 macOS 用户或许和我一样并不愿意使用鼠标,而是更倾向于触控板。其中稍微有些弯弯绕绕就属 macOS 的三指拖拽,如此好用的功能就藏在辅助功能里。

当然随着微软给出精确式触控板的驱动和建议硬件规格,也体现出 Windows 对于触控板的上心,目前绝大多数 Windows 设备触控板也都支持精确式触控板,相当一部分产品日用体验已足够优秀。可惜的是即便系统对于多点触控的支持已经覆盖从二指到四指,但是三指和四指滑动手势略有重合且使用频率不高,Windows 也没有给出类似 macOS 的三指拖拽功能。

好在可以通过插件 ThreeFingerDragOnWindows 在 Windows 上实现 macOS 的三指拖拽,依赖 .NET 运行环境实现。使用前请确保通过触摸板设置中禁用「轻点两次并拖动以多选」行为和所有默认的三指轻扫行为,这样拖动操作才不会受到干扰。

相较于 Windows 10 主题色、背景和明暗模式的割裂设置,Windows 11 将更统一、更完善的「个性化 – 主题」设置提到更优先位置,并提供若干预设主题。但是 Windows 11 仍然没有 macOS 那样的自动切换深色模式功能。Windows Auto Dark Mode 支持通过设定固定时间或跟随该定位的日出日落时间自动切换深色模式,同时可以自定义深色、浅色模式对应主题。

在前文提到:

目前单独备份系统的意义远不如备份文件,通过链接把一些应用的数据文件夹(例如微信保存的文件)link 到其他分区、外置存储乃至云端上……

所谓「链接」,在文件系统中指的是软链接(符号链接)和硬链接──两种创建文件引用的方法。软链接(符号链接)是指向另一个文件或目录的路径,可以跨文件系统,类似于快捷方式;如果原文件被删除,软链接会失效。硬链接是直接指向文件数据的引用,两个文件共享相同的物理数据块,它们的内容完全一致,删除一个硬链接并不会影响到文件的实际数据,只有所有硬链接都删除时,数据才会被清除。硬链接只能在同一文件系统中创建,其实文件管理器上的几乎所有文件都可以被看作是硬链接。

更详细关于链接的介绍可以参阅少数派文章 符号链接、硬链接及其在 Windows 上的应用举例。我对 Link Shell Extension 的初识也正是在这篇文章中。一个最常见的案例是,对于 小而美 微信可以将其 Files 文件夹移动至 OneDrive,然后通过符号链接将其链接回原位置,这样既可以保证微信正常运行,又可以实现微信保存的文件备份。该插件的多版本硬链接功能会自动分析和前一次的差异并对不变的内容创建硬链接,实现增量备份,但该功能不能链接到外部存储,仅适合在同盘做备份版本管理。

特别注意,少数派文章中介绍的「中键拖动」快速创建链接操作适用于 Windows 11,正确操作应当修改为使用右键拖动。

虽然 Windows 自带输入法对于绝大多数用户已经足够好用。但是我有跨设备需求,特别是需要兼容 macOSWindows 双系统,这导致明明两者的系统自带输入法都可圈可点我都率先排除。而高度自由、高度定制的 RIME 进入我考虑范围。在 Windows 上通过 Weasel、在 macOS 上通过 Squirrel 实现 RIME 输入法的部署,在 Linux 上还有诸如 ibus-rime 等多种版本。

但 RIME 的高度自由伴随的也是较高准入门槛。好在开源项目 oh-my-rime 及其 配套配置教程 算是相当程度上降低这种门槛。但这种打包配置并未限制你设置自由度,你依然可以根据自己的需求自行修改配置文件,例如取消 Shift 切换中英文、更改翻页快捷键和以词定字快捷键等等。

许多功能和其他配置在 oh-my-rime 项目教程中也有提及,这里单独展开讲一下多设备同步。虽然该教程中也完整提到同步设置,但是同步行为是要用户手动触发的,而平时工作中很可能忘记触发。更优雅的方案是通过 Windows 的计划任务触发同步:

开源许可证选择器 – 轻松比较、选择合适的开源许可协议

By: Anonymous
3 October 2024 at 16:45

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

如果常在查找程序或浏览 源码,会每个项目底下都有一个 LICENSE 文件,这也是程序使用的许可协议,若想使用这个项目的源码或相关资料就必须了解许可方式,简单来说,许可协议规范的是什么可以做、什么不能做,必须遵守才能合法使用。

比较常见的有 GNU 通用公众许可协议〔GPL〕、Apache 许可协议、MIT 许可协议和 BSD 许可协议等,大家一定都曾经听过或看过。

不过许可协议本身就很复杂,即使去查找维基百科或上的资料也不一定可以短时间看懂,有开发者将许可变得更简单,通过问答选择题来推荐开源许可,以互动方式显示最适合的开源许可选项,同时以更浅显易懂的解释、条列出优缺点,在更短时间内找出最适合的许可方式。

开源许可证选择器〔Open Source License Chooser〕是为需要选择许可的用户提供指引,将枯燥的法律术语转为更容易被大众理解的语言,除此之外,有「许可比较器」最多可将三种许可加入比较功能,以表格方式列出彼此之间的差异。

如果你不是开发者,纯粹想知道指定的开源许可信息,也可以在「开源许可选择器」获取相关说明。

Choose the perfect open source license for your project with our humorous and easy-to-understand guide. No legal jargon, just straight talk!

进入「开源许可选择器」后先从右上角 Language 切换语言,有英文和简体中文语系。

接着从左边开始回答问题,完成后右边就会显示适合的许可许可证。

问题有五题,每一题都会有三个选项,主要就是分为是、否或是不确定,例如是否希望别人使用你的源码赚钱、别人能否修改你的源码、是否担心遇到专利流氓、是否会通过网络提供服务、是否在意其他开源项目的相容性,描述上都很平易近人,即使没有任何法律背景也很容易理解。

开源许可证选择器 – 轻松比较、选择合适的开源许可协议

这项服务一共收录 15 种开放源码许可,会依照用户的回答推荐许可方式,例如下图就有 MIT License 和 Apache License 2.0 两种,它会有一段简单介绍、趣味解释〔以其他更生活化的方式描述此许可〕,更重要的是下方会有优点和缺点、使用量和示例项目。

React、Angular 使用的是 MIT 许可协议,目前已超过 140 万个网站使用。

可以点击「了解更多」连到许可官方网页以获取更多信息〔或者以名称去 查找〕。

从「许可比较」功能可以选择最多三个许可类型,以表格方式列出更易于比较,包括描述、允许商业使用、网络服务相容、修改限制、优点、缺点、使用量和示例项目,支持可加入比较的开源许可有:

如果想知道开源许可被使用的比例,也可参考「许可使用情形图表」页面,主流是 MIT License、Apache License 2.0、BSD 3-Clause License 和 GNU GPL-3.0到图表上会显示使用量。

OpenAI 推出全新 Canvas 工具,帮助用户更好地写作和编程 ,以及完整「Canvas」 的系统提示词泄露

By: Anonymous
1 October 2024 at 15:21

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

推出了一款叫做 Canvas 的新,用来帮助用户更好地与 协作写作和编程。

OpenAI 推出全新 Canvas 工具,帮助用户更好地写作和编程 ,以及完整「Canvas」 的系统提示词泄露

写作的快捷方式包括:

编程的快捷键包括:

模型功能

详细介绍:https://openai.com/index/introducing-canvas/

你是 ChatGPT,由 OpenAI 训练的大型语言模型。

JAILBREAK PROMPTS FOR LIBERATING MODELS. Contribute to elder-plinius/L1B3RT45 development by creating an account on .

3 款 Chrome 插件,检查谁在用你的 Cookie

By: Anonymous
23 August 2024 at 12:09

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

等每个弹出一个 Cookie 弹窗让你选择给不给用 Cookie,倒不如用插件一举解决这个烦恼。

🏪 接受所有 Cookies – Chrome 应用商店

这个插件解决的不是 Cookie 本身, 而是减少 Cookie 弹窗给用户带来的影响。

这个插件安装完毕后无需任何配置,它会自动处理大部分情况。在大多数情况下,扩展功能会阻止或隐藏与 Cookie 有关的弹出式窗口。(比如装完插件后试试打开 StackOverflow,左下角的弹窗就消失了)

具体点讲,它把网站通常要求使用的 Cookie 分为三类:技术、分析和营销。

当网站需要正常工作时,这款插件会自动判断,是接受 Cookie 政策,还是接受所有 Cookie,或是只接受必要的 Cookie。以尽可能减少对你的干扰。

WhoUsesCookies 这个插件能够看到 Chrome 插件使用的 Cookie 范围,并允许立即将插件禁用。

🔗 WhoUsesCookies – Github

因为 Cookie 中存储的信息可能包括用户的登录状态、浏览偏好,甚至是敏感的加密货币钱包数据。如果某个恶意扩展插件获得了读取 Cookie 的权限,它可以轻松获取并滥用这些敏感信息。

这个插件目前没有在 Chrome 商店上架,你需要手动安装。

插件安装完毕后,只需点击浏览器工具栏中的「谁在用 Cookie」图标,即可查看哪些已安装的浏览器插件拥有 Cookie 访问权限。用户可以根据检测结果,决定是否禁用某些不必要或存在潜在风险的插件。

为了避嫌,插件还在 页面提供了「手动插件的性」的方法。用户可以自行检查插件的权限设置。以下是如何在 系统上手动检查插件权限的步骤:

通过这种手动检查的方法,用户可以进一步验证插件是否存在未授权的权限请求,从而确保使用安全。

在日常浏览网页的过程中,我们的浏览器会收集并存储站点数据,如 Cookie、IndexedDB 和 LocalStorage 等。这些数据虽然有助于提升浏览体验,但也会占用存储空间。

如果你想在离开某些网页的同时立即清除 Cookie,但又在常用的网站里保留 Cookie(因为 Cookie 通常还会被用于维持登录状态),可以试试 Cookie AutoDelete 插件

🏪 Cookie AutoDelete – Chrome 应用商店

🔗 Cookie-AutoDelete – GitHub

使用 Cookie AutoDelete 插件很简单,为了充分发挥它的功能,可以遵循它的使用文档做一些配置:

📄 插件使用文档

RTranslator – 一款 Android 开源离线本地实时同传翻译 APP

By: Anonymous
24 June 2024 at 13:56

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

RTranslator 是一款适用于 、离线、实时的翻译应用程序。RTranslator 使用 Meta 的开源 模型 NLLB 进行翻译,使用 的开源 AI 模型 Whisper 进行语音识别,是一款可以直接在手机上运行的开源离线本地实时 AI 同传翻译 ,在境外也不用担心因为手机无信号或无流量而无法使用了。

Open source real-time translation app for Android that runs locally – niedev/RTranslator

如果双方手机都安装了 RTranslator 这个模式可以实现(几乎)实时的语音翻译对话。适用于会议或者长对话场景。

RTranslator – 一款 Android 开源离线本地实时同传翻译 APP

对话模式更适合长对话,对讲机模式则适用于临时对话场景,比如问路或者买东西时的对话。

就是个正常的翻译器,复制文字进去,选择什么语言翻译到什么语言,点翻译就给你翻译。

下载 Microsoft Store 商店上的付费应用

By: Anonymous
4 June 2024 at 13:00

DUN.IM BLOG

DUN.IM BLOG

出于学习目的,提到的所有均来自互联网,和作者无任何关联,作者也不对其负任何直接的或者间接的责任。

下面以 Diarium 软件为例,演示一下安装的过程。

Microsoft 应用链接搜索你想要的

下载 Microsoft Store 商店上的付费应用

找到应用并点击进入,然后复制该应用的 URL

例如,Diarium 对应的链接是https://apps.microsoft.com/detail/9nblggh4vzz1?hl=zh-cn&gl=CN

打开以下网站: Microsoft Store – Generation Project (v1.2.3) [by @rgadguard & mkuba50] (rg-adguard.net) 在搜索框粘贴前面复制的链接,并点击搜索。

在搜索结果中,下载前几个文件中后缀为.appx或者.msixbundle的文件,一般是大小较大的那个。 下载过程中,可能会提示下载的文件有风险,点击保留在此设备。 直接打开文件,应该会显示安装按钮,点击安装即可。 安装完毕后,可能就直接可以用了,当然如果提示你不可用,请按照下面的步骤继续。

下载 Release WSAppBak v1.1 · Wapitiii/WSAppBak (github.com) 下载后解压到一个合适的目录,然后打开WSAppBak.exe。 前面软件已被安装,但是不是无法使用吗,使用 everything 等软件,可以搜索diarium.exe文件所在位置。 定位到 diarium 的目录(这个目录名称可能包括一些看上去是乱七八糟的字母和数字),复制目录链接,注意不是~~.exe~~。 粘贴目录链接,回车

输出目录任意,可以写./output。 要求填写密码,直接选择None

打开 WSAppBak 目录下的output文件夹,或者你自定义的文件夹。分别打开.pfx.cer文件并安装,遇到储存位置请选择「本地计算机」。

要求设置密码的时候,直接跳过;其他设置不用改,直接点确认就行了。 两个文件安装完后,点击目录下生成的.appx文件,然后点击安装(或者是点击重新安装)。 这里我安装的时候,提示安装失败,这时候可卸载先前安装的软件,然后再安装生成的.appx文件,就可以正常使用了

在 GitHub 中隐藏自己账号的邮箱地址

By: Anonymous
5 June 2024 at 15:17

DUN.IM BLOG

DUN.IM BLOG

在介绍隐藏前首先咱们要知道,如何查看开发者的邮箱。

PS:以上仅为举例,邮箱地址已经打码,请不要去尝试骚扰他。

上边这个办法对很多人都很有效,但有些人你使用上述「小」看到的邮箱却是下图这样的,这明显不是一个正常的邮箱地址。

这其实就是 GitHub 保护开发者推出的邮箱功能。那么如何开启 GitHub 隐私邮箱呢?

如果你有一些涉及自动化提交的程序(比如一些 action 操作),需要将提交邮箱地址改成那个 GitHub 专用的隐私邮箱地址,不然会触发阻止推送设置,导致自动提交失败。

这个只能防止你之后的 git 操作记录不泄露你的真实邮箱,你之前的记录还是会被保留的。

Whisky – 开源免费的 macOS 玩 Windows 版 steam 游戏解决方案

By: Anonymous
24 May 2024 at 21:34

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

苹果在 2023 年的 WWDC 中推出了 GamePorting Toolkit(简称 GPTK)。GPTK 是一个让开发者可以将他们的 PC 游戏直接在 上运行的。GPTK 通过提供一个兼容层,模拟 环境,让游戏可以在 macOS 上运行。它支持 DirectX 12,使得游戏在图形处理方面可以达到与 Windows 系统相当的水平。

这不仅方便了开发者评估游戏的运行效果,也大大减少了将游戏从 PC 移植到 上所需的时间。有了 GPTK,Mac 用户终于有机会体验到更多的 PC 游戏

尽管 GPTK 是一个强大的工具,但苹果提供的操作指南对普通用户来说有些复杂。因此,社区开发者们迅速行动,将这一配置过程简化成更易操作的工具。其中,Whisky 相对用起来最容易。

A modern Wine wrapper for macOS built with SwiftUI – Whisky-/Whisky

Whisky 的使用步骤

Whisky 并不能让 macOS 运行一切 Win 游戏,相关内容在其官方文档的「常见问题」章节有说明如下:

Stacher – 基于 yt-dlp 的免费跨平台视频下载工具,支持几乎所有视频音乐平台

By: Anonymous
22 May 2024 at 14:26

DUN.IM BLOG

DUN.IM BLOG

Stacher – 基于 yt-dlp 的免费跨平台视频下载工具,支持几乎所有视频音乐平台

Stacher 是最近新问世的免费网络视频下载,支持 和 Linux,本身也是知名开放源码项目 yt-dlp〔由 youtube-dl 分支〕图形化界面〔GUI〕版本,大家都知道 yt-dlp 是终端里的下载工具,使用上会有一定的门槛,将它套用图形化后操作界面后就会更符合大众使用,支持超过 1200 种网络服务,之前曾介绍过的类似软件还有「Hitomi Downloader 」和「Seal」。

Stacher 已经有针对 Windows 和 Linux 三大操作系统推出对应的版本,只要从官方找到需要的版本后下载即可使用,本身没有自带中文界面,但在操作上不会困难,只需要将视频网址复制、粘贴后就能获取文件,也能够选择各种常见视频、格式。

利用 Stacher 可以下载 YouTube、Twitter、Instagram、TikTok、Bilibili、Pornhub 等网站视频,在使用时没有太多复杂难懂的设置,也支持包括 3GP、AAC、FLAC、FLV、M4A、MP3、MP4、OPUS、VORBIS、WAV、WEBM 等格式,最简单的方法就是维持默认值「最佳画质 + 音频」,就能获取包含影像、声音的视频文件咯!

值得一提的是 Stacher 还能针对要下载的平台提前设置账号密码,也有设置浏览器 Cookie 选项,无论是遇到任何状况只要适当设置应该都能顺利获取视频,如果平时会需要从网络平台储存视频的话可以试试看。

其他 YouTube 网络视频下载工具整理:

Stacher. A youtube-dl frontend.

进入 Stacher 网站后跳到下载区,选择要下载的程序版本,支持 WindowsmacOS 和 Linux,要注意的是都只适用于 64 位操作系统。

我使用 Stacher 的 Mac 版本进行操作教程,Windows 版本应该大同小异,进入后会有说明画面,可以得知应用程序是一个图形化界面下载器,以 yt-dlp 作为内核,因此在使用时会自动安装 yt-dlp。

进入 Stacher 主画面后会自动更新相关元件,上方是网址列,将视频网址复制、粘贴后就能进行下载。

从右上角可选择要下载、保存的文件格式,视频格式有 3GP、FLV、M4A、MP4、WEBM,格式有 AAC、FLAC、MP3、OPUS、VORBIS、WAV,建议直接维持默认值「BEST」就会自动获取最佳画质和音频。

下载时会显示视频略缩图、标题、文件大小、下载速率和预计完成时间,试着下载 YouTubeFacebook 和 Instagram 都能正确获取视频,而且下载速度很快。

完成后在视频上方点击右键、从菜单找到「Open Download Location」就能进入下载路径并找到视频文件。

另外,在右上角也能提前设置视频下载后的保存路径。

下载视频的网址列右侧有一个提前设置账号、密码功能,如果要存取的视频需要账号密码可提前设置,另一个选项可以选择浏览器 Cookie 来源,若无法正确下载视频的话就试试看调整这两个选项。

在 Stacher 设置画面能提前调整下载保存的视频路径、视频文件格式等选项,还有像是字幕下载、网络速度限制或是音质等等,可设置的项目很多,不过如果没有特殊需求只需要维持默认值即可。

前面有提到 Stacher 是使用 yt-dlp 作为内核,支持的服务超过 1000+ 个〔支持列表〕,基本上所有常见常用服务应该都能够利用这个应用程序下载,在测试时除了 YouTube 也下载 Facebook、Instagram 视频,也都能够顺利获取视频文件。

Stacher 是一款功能强大、操作简单的免费网络视频下载工具,非常适合新手使用。如果有下载网络视频的需求,不妨试试看 Stacher。

noTunes – 开源免费简单的 macOS 应用,阻止 Apple Music 启动,并自定义播放器

By: Anonymous
17 May 2024 at 18:05

DUN.IM BLOG

DUN.IM BLOG

noTunes 是一个专为 用户设计的程序,它提供了一种简单的方法来阻止 iTunes 或 Music 的自动启动。以下是它的一些关键特性:

在终端中运行以下命令来安装 noTunes

GitHub 仓库的 Releases 页面直接下载 noTunes-3.4.zip 文件,并解压以完成安装。

点击菜单栏中的 noTunes 图标来切换其活动状态:

noTunes – 开源免费简单的 macOS 应用,阻止 Apple Music 启动,并自定义播放器

右键点击菜单栏中的 noTunes 图标,然后选择「隐藏图标」。

如果隐藏了 noTunes 的菜单栏图标,可以通过以下方法之一来恢复:

如果菜单栏图标可见,右键点击图标并选择「退出」。如果图标被隐藏,可以通过「活动监视器」退出应用程序,或者在终端中运行以下命令:

将 YOUR_MUSIC_APP 替换为你的音乐应用程序名称或 URL,然后在终端中运行以下命令:

或者,如果你想要打开一个网站,例如 YouTube Music:

要禁用替代应用设置,运行以下命令:

遵循上述步骤,你可以有效地管理 noTunes 应用程序,以阻止或允许 iTunes 或 Apple Music 的启动,并根据需要自定义你的音乐播放体验。

noTunes 是一个为 macOS 用户提供巨大便利的工具。它不仅解决了一个普遍的痛点,即不必要的应用程序启动,还提供了定制和控制的灵活性。无论你是一个追求效率的专业人士,还是一个希望音乐播放器更加符合个人喜好的音乐爱好者,noTunes 都是一个值得安装的应用程序。

实用 AI 提示词优化高级指南,新加坡首届 GPT-4 提示工程大赛冠军分享 [译]

By: Anonymous
7 May 2024 at 16:02

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

上个月,我非常荣幸地在新加坡政府科技局(GovTech)组织的首届 GPT-4 提示工程大赛中脱颖而出,这场比赛吸引了超过 400 名杰出的参与者。

提示工程是一门将艺术与科学巧妙融合的学科 — 它不仅关乎技术的理解,更涉及创造力和战略思考。这里分享的是我在实践中学到的一些提示工程策略,这些策略能够精准地驱动任何大语言模型为你服务,甚至做得更多!

作者的话: 在写作本文时,我特意避开了那些已经广泛讨论和记录的常规提示工程。相反,我更希望分享一些我在实验中获得的新洞见,以及我个人在理解和应用这些技巧时的独到见解。希望你能从中获得乐趣!

本文涵盖以下主题,其中 🔵 代表初学者友好的技巧,而 🔴 代表高级策略。

在使用大语言模型时,有效的提示构建至关重要。CO-STAR 框架,由新加坡政府科技局科学与 AI 团队创立,是一个实用的提示构建工具。它考虑了所有影响大语言模型响应效果和相关性的关键因素,帮助你获得更优的反馈。

这里有一个 CO-STAR 框架为何有用的现实案例。

假设你担任媒体经理,需要草拟一条 帖子,用以推广公司的新产品。 未使用 CO-STAR 的快速提示可能是这样的:

这是 GPT-4 的回答:

这一输出虽足够,但显得过于泛化,缺乏必要的细节和针对性吸引力,未能真正触及公司目标受众的心。

下面是一个应用 CO-STAR 模板的示例,它提醒我们在制定提示时,要考虑到任务的其它方面,特别是之前快速提示中缺少的风格语调受众

通过运用 CO-STAR 框架,GPT-4 的响应变得更具针对性和效果:

CO-STAR 框架指引您以有组织的方式提供所有关键任务信息,确保响应完全针对您的需求并进行优化。

分隔符是特殊的符号,它们帮助大语言模型 (LLM) 辨识提示中哪些部分应当被视为一个完整的意义单元。

这非常关键,因为你的提示是作为一个长的 Token 序列一次性传给模型的。通过设置分隔符,可以为这些 Token 序列提供结构,使特定部分得到不同的处理。

需要注意的是,对于简单的任务,分隔符对大语言模型的回应质量可能无显著影响。但是,任务越复杂,合理使用分隔符进行文本分段对模型的反应影响越明显。

分隔符可以是任何不常见组合的特殊字符序列,如:

选择哪种特殊字符并不重要,关键是这些字符足够独特,使得模型能将其识别为分隔符,而非常规标点符号。

这里是一个分隔符使用的示例:

在上述示例中,使用 ### 分隔符来分隔不同的部分,通过大写的章节标题如 对话示例 和 输出示例 进行区分。引言部分说明了要对 {{{CONVERSATIONS}}} 中的对话进行情绪分类,而这些对话在提示的底部给出,没有任何解释文本,但分隔符的存在让模型明白这些对话需要被分类。 GPT-4 的输出正如请求的那样,仅给出情绪分类:

使用 XML 标签作为分隔符是一种方法。XML 标签是被尖括号包围的,包括开启标签和结束标签。例如,{tag}{/tag}。这种方法非常有效,因为大语言模型已经接受了大量包含 XML 格式的网页内容的训练,因此能够理解其结构。

以下是利用 XML 标签作为分隔符对同一提示进行结构化的例子:

在指令中使用的名词与 XML 标签的名词一致,如 conversationsclasses 和 examples,因此使用的 XML 标签分别是 {conversations}{classes}{example-conversations} 和 {example-classes}。这确保了模型能够清晰地理解指令与使用的标签之间的关系。 通过这种结构化的分隔符使用方式,可以确保 GPT-4 精确地按照您的期望响应:

_在开始前,我们需指出,本节内容仅适用于具备系统提示功能的大语言模型 (LLM),与文章中其他适用于所有大语言模型的部分不同。显然,具有此功能的最知名的大语言模型是 ,因此我们将以 ChatGPT 为例进行说明。_

首先,我们来厘清几个术语:在讨论 ChatGPT 时,这三个术语「系统提示」、「系统消息」和「自定义指令」几乎可以互换使用。这种用法让许多人(包括我自己)感到混淆,因此 发表了一篇文章,专门解释了这些术语。简要总结如下:


图片来自 Enterprise DNA Blog

尽管这三个术语表达的是相同的概念,但不必因术语的使用而感到困扰。下面我们将统一使用「系统提示」这一术语。现在,让我们一探究竟!

系统提示是您向大语言模型提供的关于其应如何响应的额外指示。这被视为一种额外的提示,因为它超出了您对大语言模型的常规用户提示。

在对话中,每当您提出一个新的提示时,系统提示就像是一个过滤器,大语言模型会在回应您的新提示之前自动应用这一过滤器。这意味着在对话中每次大语言模型给出回应时,都会考虑到这些系统提示。

系统提示一般包括以下几个部分:

例如,系统提示可能是这样的:

每一部分对应的内容如下图所示:

系统提示已经概括了任务的总体要求。在上述示例中,任务被定义为仅使用特定文本进行问题解答,同时指导 LLM 按照{"问题":"答案"}的格式进行回答。

这种情况下,每个用户提示就是您想用该文本回答的具体问题。

例如,用户提示可能是"这篇文本主要讲了什么?",LLM 的回答将是{"这篇文本主要讲了什么?":"文本主要讲述了……"}

但我们可以将这种任务进一步推广。通常,与只询问一个文本相比,你可能会有多个文本需要询问。这时,我们可以将系统提示的首句从

改为

如此,每个用户提示将包括要问答的文本和问题,例如:

此处,我们使用 XML 标签来分隔信息,以便以结构化方式向 LLM 提供所需的两个信息。XML 标签中的名词,text 和 question,与系统提示中的名词相对应,以便 LLM 理解这些标签是如何与指令相关联的。

总之,系统提示应提供整体任务指令,而每个用户提示则需要提供执行该任务所需的具体细节。在这个例子中,这些细节就是文本和问题。

在之前的讨论中,我们通过系统提示来设定规则,这些规则一经设定,将在整个对话中保持不变。但如果你想在对话的不同阶段实施不同的规则,应该怎么做呢?

对于直接使用 ChatGPT 用户界面的用户来说,目前还没有直接的方法可以实现这一点。然而,如果你通过编程方式与 ChatGPT 互动,那么情况就大不相同了!随着对开发有效 LLM 规则的关注不断增加,一些允许你通过编程方式设定更为详细和动态的规则的软件包也应运而生。

特别推荐的一个是由 NVIDIA 团队开发的NeMo Guardrails。这个工具允许你配置用户与 LLM 之间的预期对话流程,并在对话的不同环节设定不同的规则,实现规则的动态调整。这无疑是探索对话动态管理的一个很好的资源,值得一试!

你可能已经听说过 OpenAI 在 ChatGPT 的 GPT-4 中为付费账户提供的高级数据分析插件。它让用户可以上传数据集到 ChatGPT 并直接在数据集上执行编码,实现精准的数据分析。

但是,你知道吗?并不总是需要依赖这类插件来有效地使用大语言模型 (LLM) 分析数据集。我们首先来探讨一下仅利用 LLM 进行数据分析的优势与限制。

正如你可能已经知道的,LLMs 在执行精确的数学计算方面有所限制,这让它们不适合需要精确量化分析的任务,比如:

正是为了执行这些量化任务,OpenAI 推出了高级数据分析插件,以便通过编程语言在数据集上运行代码。 那么,为什么还有人想仅用 LLMs 来分析数据集而不用这些插件呢?

LLMs 在识别模式和趋势方面表现出色。这得益于它们在庞大且多样化的数据上接受的广泛训练,能够洞察到复杂的模式,这些模式可能不是一眼就能看出来的。 这使它们非常适合执行基于模式查找的任务,例如:

对于这些基于模式的任务,单独使用 LLMs 可能实际上会在更短的时间内比使用编程代码产生更好的结果!接下来,我们将通过一个例子来详细说明这一点。

我们将使用一个流行的实际Kaggle 数据集,该数据集专为客户个性分析而设计,帮助公司对客户基础进行细分,从而更好地了解客户。 为了之后 LLM 分析的方便,我们将这个数据集缩减至 50 行,并仅保留最相关的几列。缩减后的数据集如下所示,每一行代表一位客户,各列展示了客户的相关信息:

设想你是公司营销团队的一员,你的任务是利用这份客户信息数据集来指导营销活动。这是一个分两步的任务:首先,利用数据集生成有意义的客户细分;其次,针对每个细分提出最佳的市场营销策略。

这是一个实际的商业问题,其中第一步的模式识别能力是 LLM 可以大显身手的地方。 我们将按以下方式设计任务提示,采用四种提示工程技术:

下面是 GPT-4 的回复,我们将继续将数据集以 CSV 字符串的形式传递给它。

随后,GPT-4 按照我们要求的标记符报告格式回复了分析结果:

为了简洁,我们选择两个由大语言模型生成的客户群体进行验证——“年轻家庭”和“挑剔的爱好者”。

年轻家庭

– 大语言模型生成的描述:出生于 1980 年后,已婚或同居,中等偏低的收入,育有孩子,常做小额消费。

– 此群体包括的数据行:3、4、7、10、16、20 – 深入查看这些数据行的详细信息,结果显示:


年轻家庭的完整数据 — 作者图片

这些数据完美对应大语言模型确定的用户描述。该模型甚至能够识别包含空值的数据行,而无需我们预先处理!

挑剔的爱好者

– 大语言模型生成的描述:年龄跨度广泛,不限婚姻状况,高收入,孩子情况不一,高消费水平。

– 此群体包括的数据行:2、5、18、29、34、36 – 深入查看这些数据行的详细信息,结果显示:


挑剔的爱好者的完整数据 — 作者图片

这些数据再次精准匹配大语言模型确定的用户描述!

本例展示了大语言模型在识别模式、解读及简化多维数据集以提炼出有意义的洞见方面的强大能力,确保其分析结果扎根于数据的真实情况。

为了全面考虑,我使用同一提示尝试了相同的任务,不过这次我让 ChatGPT 通过编程方式进行分析,启用了其高级数据分析插件。插件应用 K-均值等聚类算法直接对数据集进行处理,以便划分不同的客户群体,并据此制定营销策略。

尽管数据集仅含 50 行,多次尝试均显示错误信息且未产生任何结果:

当前情况表明,虽然高级数据分析插件能够轻松完成一些简单任务,如统计描述或生成图表,但在执行需要较大计算量的高级任务时,有时可能因为计算限制或其他原因而发生错误,导致无法输出结果。

答案因分析的具体类型而异。

对于需要精确的数学运算或复杂的规则处理的任务,传统的编程方法依然更加适用。

而对于依赖模式识别的任务,传统的编程和算法处理可能更加困难且耗时。大语言模型在这类任务中表现优异,能提供包括分析附件在内的额外输出,并能生成 Markdown 格式的完整分析报告。

总的来说,是否采用大语言模型取决于任务本身的性质,需要平衡其在模式识别上的强项与传统编程技术提供的精确度和特定性。

在本节结束前,让我们重新审视用于生成此数据分析的提示,并详细解析关键的提示工程技巧:

大语言模型(LLM)擅长处理简单的任务,对于复杂的任务则表现不佳。因此,在面对复杂任务时,把它分解成一步步简单的指令是至关重要的。这种方法的核心思想是,明确告知 LLM 你自己执行该任务时会采取的每一个步骤。

例如,具体步骤如下:

这样的分步指导,比起直接要求 LLM「对客户进行分组并提出营销策略」的方式,能显著提高其输出的准确性。

在提供步骤时,我们会用大写字母标记每个步骤的输出,这样做是为了区分指令中的变量名和其他文本,方便后续引用这些中间输出。

例如数据聚类(CLUSTERS)聚类描述(CLUSTER_INFORMATION)聚类命名(CLUSTER_NAME)营销策略(MARKETING_IDEAS)策略解释(RATIONALE)

此处我们请求一个 Markdown 格式的报告,以增强响应的可读性和结构性。利用中间步骤的变量名,可以明确报告的构架。

此外,你还可以让 ChatGPT 将报告以可下载文件形式提供,便于你在编写最终报告时参考使用。

在我们的首个提示中,你会发现我们并没有直接将数据集交给大语言模型(LLM)。反而,提示只给出了数据集分析的任务指令,并在底部添加了这样的话:

随后 ChatGPT 表示它已理解,并在下一个提示中,我们通过 CSV 字符串的形式将数据集传递给它:

但为什么需要将指令与数据集分开处理呢?

这样做可以帮助大语言模型更清晰地理解各自的内容,降低遗漏信息的风险,尤其是在指令较多且复杂的任务中。

你可能遇到过这样的情况:在一个长的提示中提出的某个指令被「偶然遗忘」了——例如,你请求一个 100 字的回答,但大语言模型却给出了更长的段落。

通过先接收指令,再处理这些指令所对应的数据集,大语言模型可以更好地消化它应该做的事情,然后再执行相关的数据操作。

值得注意的是,这种指令与数据集的分离只能在可以维护对话记忆的聊天型大语言模型中实现,而非那些没有这种记忆功能的完成型模型。

在本文结束之前,我想分享一些关于这次非凡旅程的个人思考。

首先,我要衷心感谢 GovTech Singapore 精心策划这场精彩的比赛。如果你对 GovTech 如何组织这场独一无二的比赛感兴趣,可以阅读 Nicole Lee——比赛的主要组织者撰写的这篇文章

其次,我要向那些出色的竞争对手们致以最高的敬意,每个人都展现了特别的才能,让这场比赛既充满挑战又富有成效!

我永远不会忘记决赛那一刻,我们在舞台上激烈竞争,现场观众的欢呼声——这是我将一直珍视的记忆。 对我而言,这不只是一场比赛;这是一次才华、创造力及学习精神的盛会。我对未来充满期待,并激动于即将到来的一切!

撰写本文让我感到非常愉快,如果你在阅读时也享受这份乐趣,希望你能花一点时间点赞并关注! 期待下一次的相遇!

在 Windows 平台开启 Netflix 4K + Dolby Vision + Dobly Atoms 支持

By: Anonymous
26 April 2024 at 19:11

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

Netflix 4K 播放的必要条件:

一、显示器

至少支持 4K 60Hz 的显示器或电视机,且显示器上至少有 HDMI2.0 及以上接口、DP1.3 及以上接口或者雷电 3 及以上接口。

二、线材

至少支持 HDMI2.0/2.0a 或至少支持 DP1.4的传输线。现在推荐直接买HDMI2.1或者DP2.0的传输线。

三、独立显卡

如果想要在上使用独立显卡观看 Netflix 4K ,需要开启 Edge 浏览器的硬件加速设置(默认开启),关闭硬件加速之后浏览器渲染网页和播放视频都将使用

CPU

而不是独立显卡,的分辨率也会一直保持在 720P。

NVIDIA:需要至少 GeForce GTX 1050或更高版本显卡、3GB 或更高的显存和387.96更新的驱动程序

AMD:由于 AMD 对 DRM 防盗版机制的跟进非常缓慢,目前仅旗下Polaris系列显卡(例如RX470/480/570/580/590),或者Navi系列显卡(例如RX5500/5600/5700)支持 Netflix 4K,Vega系列所有显卡因为不支持Microsoft Playready3.0 DRM,所以全部不支持 Netflix 4K;对于支持的显卡,需要Adrenalin 2019 Edition 19.8.1或更新的驱动程序。

四、核心显卡

独立显卡已经达标可忽略此项。

Intel:虽然 Netflix 官网写的是需要至少Kaby Lake第 7 代或更新的酷睿 CPU。据我实测,带有UHD610的奔腾甚至赛扬这类低端处理器也能外接显示器看 4K,所以推测只要是比HD630出的晚的核显(即 2018 年或之后出的核显)应该都支持 Netflix 4K。AMD:带有核显的所有 AMD Ryzen CPU 都支持。

五、Windows 系统版本

NVIDIA 核显或独显:Windows10 1709 或更新系统版本(包含 Windows11)。

AMD 核显或独显:Windows10 1809 或更新系统版本(包含 Windows11)。

六、观看

使用 Windows 10/Windows 11 微软商店中的 Netflix App 或 Microsoft Edge 浏览器。 各浏览器支持的最高分辨率:

查看分辨率方法:

全屏时可能无法触发快捷键,需要退出全屏。

很遗憾,我的联想笔记本被 Netflix 认为不支持 4K。使用 Edge/Netflix App 播放时,一开始的最高分辨率为 1920*1080,播放数分钟后会切换到 2560*1440,但是始终无法达到 3840*2160

但是硬件应该是支持的,因此可以尝试在 Edge 浏览器上强制开启。

插件下载:

Netflix-4K-DDPlus https://github.com/lkmvip/netflix-4K-DDplus

插件 解压: 解压后文件夹 Edge 在 edge://extensions/ 中开启开发者模式:

开发者模式 导入: 成功导入 Edge 浏览器使用开发者模式导入的插件会导致 Edge 在启动时提示「处于开发者模式下的插件」,可以选择 「14 天内不再提醒」 或其他方法永久禁用此提示。

应用商店链接:

来自设备制造商的 HEVC 视频扩展 https://apps.microsoft.com/detail/9n4wgh0z6vhq?hl=zh-cn&gl=cn

HEVC 扩展 如果按钮为「打开」则表示已安装,可跳过此步骤,下同。 如果无法安装,可到:

Microsoft Store – Generation Project (v1.2.3) [by @rgadguard & mkuba50] https://store.rg-adguard.net/

输入应用商店链接,选择后缀为.appxbundle的文件下载安装。

应用商店链接:

Dolby Vision(杜比视界) https://apps.microsoft.com/store/detail/dolby-vision/9MVMZ93N61T9

Dolby Vision

应用商店链接:

Dolby Access(杜比全景声) https://apps.microsoft.com/store/detail/dolby-access/9N0866FS04W8

Dolby Access 耳机杜比全景声 在任务栏右键点击右下角的音量-空间音效,选择Dobly Atmos。杜比全景声尽量戴耳机使用,体验沉浸感。 Dolby Atmos

Netflix 自制片(封面左上角带有 N 字的)都支持 4K,例如:

尸战朝鲜 https://www.netflix.com/title/81312457

如果有此标识则以成功启用双杜比: 双杜比 播放时按上述快捷键查看分辨率: 调试信息 如有上述参数则为成功。

各分辨率网速要求:

可在 Fast.com 测试网速: Fast.com 2.1Gbps 当然,看 4K 并不需要这么快 XD。

在 更改流媒体套餐 处查看当前套餐: 各级别套餐和限制 需要高级套餐才能观看 Netflix 4K。 如果支持 4K,还需要在 账户-播放设置 中设置「每个屏幕的使用情况」为「高」或「自动」(默认): 设置每个屏幕的数据使用情况

Seal – 基于 yt-dlp 的安卓开源音、视频下载应用,支持几乎所有在线平台

By: Anonymous
21 April 2024 at 11:24

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

Seal 是一款安卓在线,基于著名的开源下载 yt-dlp,支持从数千个视频平台下载视频,内置了 aria2 下载器。

🦭 Video/Audio Downloader for , based on yt-dlp, designed with Material You – JunkFood02/Seal

又是一款将原本需要在电脑进行处理的活,迁移到了安卓手就上进行。

Seal 在 GitHub 开源,上架 f-droid,主要功能:

尝试了一下,效果还是非常不错的,有几个点:

Cobalt.tools – 开源无广告免登录音视频下载工具,支持 YouTube、Tiktok、Instagram 等多平台

By: Anonymous
15 April 2024 at 16:38

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

Cobalt.tools 不同于其他同类型服务,主打的是零广告、无追踪器也没有令人烦躁的废话,界面相当干净,用户需要做的就是把音网址贴上即可获取文件,它同时也是项目,可以从 找到源码和相关信息,而且还有很详尽的更新信息,看得出来开发者相当用心维护、使这项服务正常运作。

save what you love. Contribute to wukko/cobalt development by creating an account on GitHub.

Cobalt.tools 当前支持的服务涵盖多数我们在日常生活会用到的影音平台。

在贴上网址后默认会为视频,可以设置中调整视频画质,包括 360p、480p、720p、1080p、1440p、4k 和 8k+ 的 MP4 格式,音频部分则有 MP3、OGG、WAV 和 OPUS 格式,用户还能设置选择要使用的文件名格式〔在文件名加入视频标题和相关信息〕,有需要从网络下载、保存视频的话不妨试试看。

程序的生成器,比较有趣的是还能制作 Facebook 贴文、Twitter 推文或是 YouTube 频道的画面截图。 简单介绍几…

cobalt is your go-to place for downloads from social and media platforms. zero ads, trackers, or other creepy bullshit. simply paste a share link and you're ready to rock!

进入 Cobalt.tools 会对它干净、简洁的界面印象深刻,直接将视频链接贴上、按下回车或点击右侧「»」符号就会自动下载为 MP4 格式〔默认为 Auto 自动模式,若要下载为音频格式可选择 Audio〕。

点击 Cobalt 网页下方「Settings」就会进入设置页面,首先会看到视频的画质选项,最低 360p、最高可达 8k+,不过依然要看视频来源能否达到该画质,若不行就会退而求其次自动选择最接近的选项替代。

另外,在下方还有针对 Twitter 自动从 Gifs 转换为 .gif,以及 YouTube 解码器选项,可以选择 h264、av1 或 vp9,会对应不同的格式和画质,如果没有特别需要其实不用调整。

在「Audio」分页能选择不同的下载音频格式,包括 MP3、OGG、WAV 和 OPUS,想要下载静音视频的话也能勾选「Mute audio」,即可将视频的音频部分静音、只保存影像内容。

在杂项设置中还能调整外观颜色〔自动、暗色和浅色模式〕,比较有用的是「文件命名风格」,可调整不同的自动命名方式,例如在文件名加入标题、信息和来源信息。

Cobalt.tools 是一个全自动的网络影音下载工具,在下载前不会有任何选项,记得使用前先到设置页面进行调整,完成后回到首页,将视频网址贴上后就能下载视频,非常简单。

有时候会遇到如下图的错误信息,代表 Cobalt 无法从该链接找到任何视频,这有可能是视频有区域限制或被屏蔽浏览,请稍候再试或选择其他替代服务。

❌
❌