Chatgpt的最佳实践

Chatgpt的最佳实践

题记:本文介绍如何使用Chatgpt解决实际问题

实践一

Arc的Windows版本最近更新了一个侧栏迷你播放器,但是有一个致命问题:就是某些网站播放音频时,播放器无法正确获得歌曲标题,我发现它显示的标题来自相应标签自己的标题,而我是用的网页音乐播放器是am,am不会根据当前播放的歌曲改变标签标题,因此mini播放器也就无法显示正确的歌曲标题,但是打开网页控制台就可以找到歌曲的标题作者等信息所对应的元素属性名字,这意味着可以通过撰写一个js脚本,使得标签标题随着歌曲信息的元素属性更名,每一秒检查一次,并将其挂载在油猴扩展运行,于是我向ChatGPT描述了我的需求,并得到了一段可行的代码。
https://chatgpt.com/share/5d0af45f-3da2-480f-b534-ff2efff075dd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// ==UserScript==
// @name AMTITLE
// @namespace http://tampermonkey.net/
// @version 2024-05-25
// @description try to take over the world!
// @author You
// @match https://music.apple.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=apple.com
// @grant none
// ==/UserScript==

function updateTitle() {
var audioElement = document.getElementById('apple-music-player');

if (audioElement) {
var trackTitle = audioElement.title;

if (trackTitle) {
document.title = trackTitle;
}
}
}

// 设置一个定时器定期检查音乐名称
setInterval(updateTitle, 1000); // 每秒检查一次

这以后am的标签名字可以动态的随歌曲名字变化,因此mini播放器也可以做到了。

实践二

arc浏览器并不支持中文输入法,这就导致了不管是手动重命名标签或文件夹,还是搜索,都需要在中文部分后打一个空格,再回车才能好使,因此如果有一个脚本能够省去按空格这一步将会很方便,考虑到使用中文输入一整句话的时候并不是一次打完整句话,而是需要不断按空格,却只用按一次回车,因此把回车键绑定为“输入两次空格并延时n毫秒再输入空格”,就可以正常的在arc中使用中文输入法,两次空格是因为用输入法的过程中输入英文单词如果没有识别出来需要按回车来让它以字母的形式打出来而不是一段怪异且不成文的中文,这样子一个空格和一个回车则无法正确在中文部分后面添加到空格,则无法正确搜索。

要实现这个脚本需要用到autohotkey,因为ahk v1已经被废弃,所以采用了v2,向ChatGPT描述了需求后,得到了想要的脚本代码,运作无误,很好,但是有一个问题就是这个脚本是全局的,意味着使用其他软件的时候同样奏效,这就很麻烦,所以添加了一个要求,“只有聚焦到特定窗口的时候才会生效”,得到相应代码后,运作无误,问题解决。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#Requires AutoHotkey v2.0

; 设定窗口标题
TargetWindowTitle := "Arc"

; 监听回车键,只在指定窗口生效
#HotIf WinActive(TargetWindowTitle)

Enter:: {
; 发送一个空格
Send(" ")
; 等待300毫秒
Sleep(150)
; 发送回车
Send("{Enter}")
}

#HotIf

总结

以上两个ChatGPT实践帮助我省去了深入了解js和ahk语法的功夫,因此我有更多的余裕专注于其他事情,我只需要想办法搞清楚我的需求,并清楚的表述出来一切问题就能迎刃而解,综上所述使用chatgpt解决实际问题最重要的还是分析清楚问题的关键,才有可能得到理想答案,事半功倍。