MoreRSS

site iconiMaeGoo | 虹墨修改

95后前端开发者,居住郑州,擅长前端技术,分享个人学习记录。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

iMaeGoo | 虹墨的 RSS 预览

Android 强制锁定屏幕旋转方向

2025-07-11 08:00:00

在使用我的一加平板时,一直被一个问题困扰,由于我的桌面电源在左手边,平板横着放在桌上时,如果需要充电,就需要将 Type-C 接口对准左侧,这就需要先解除旋转锁定,立起平板,待屏幕旋转后,打开旋转锁定,再放平。使其锁定在充电口朝左的横屏状态(技术上称为 SCREEN_ORIENTATION_REVERSE_LANDSCAPE,屏幕方向反横向)。

以前用 iPad Pro 时,我也是一直都这么干的,这倒也没啥,但更麻烦的问题来了。有些 APP 由于代码实现问题,会强制屏幕旋转至某个方向,例如在平板打开美团时,会自动切换到竖屏,打开苍雾世界时,会自动切换到充电口朝右的横屏,退出应用时又会自动切回来。于是当我需要以上场景使用这些 APP 时,必须拖着充电线把平板转来转去,不够大的桌面,不够长的充电线,加上 13 寸 1 斤重的平板,让这一切显得格外艰难。

无法忍受的我便去寻找解决方案,有没有什么模块,能让旋转锁定真正发挥『锁定』的作用,让屏幕不受 APP 影响地保持在一个方向?

找到了 Orientation Lock,这个只有 65 个 star 的软件可能鲜为人知,但作者 tuyafeng 的另一个软件『Via 浏览器』大家应该都听过。Orientation Lock 的体积只有 60 KB,非常符合该作者的风格,只需要悬浮窗权限,不需要 adb 不需要 root 也不需要安装模块。打开 APP,选择『反转横屏』,然后授予悬浮窗权限,好了,现在各个 APP 都可以在反横屏状态下使用了,解决了我的大麻烦!

附上下载地址:https://github.com/tuyafeng/OrientationLock/releases/download/1.0.0/OrientationLock_v1.0.apk

腾讯代码托管服务 Coding 将停服

2025-06-27 09:00:00

腾讯云本周宣布 Coding 将在今年 9 月 1 日起停止免费版服务,2028 年 9 月 30 日彻底停止服务。

原公告:https://cloud.tencent.com/document/product/1726/116235

对此我居然一点也不感到意外,毕竟也不是被背刺一回两回了,就是花了点时间把 Coding 上面的代码迁移到阿里云 Codeup。

公告上说推荐迁移到他们的新一代产品《云原生构建》,我试了一下,连 SSH 都不支持,只能 HTTPS 方式克隆,直接告辞。

微信快速找出自己创建的群聊

2025-05-08 13:00:00

微信本身没有筛选自己创建的群聊的功能,需要将微信的数据库解密,然后通过 SQL 语句查询。

下载所需工具

  1. 微信 4.0.3.22 Windows 版本,最新版本的不行,下载地址: https://github.com/cscnk52/wechat-windows-versions/releases/tag/v4.0.3.22 (如果这个地址没了就自己再找)

  1. wechat-dump-rs,下载地址: https://github.com/0xlane/wechat-dump-rs/releases
  2. DB Browser for SQLite,下载地址: https://sqlitebrowser.org/dl/#windows

解密数据库

  1. 登录微信,保持微信运行
  2. 打开 cmd,cd 到 wechat-dump-rs.exe 所在目录
  3. 执行 wechat-dump-rs.exe -a
  4. 如果看到 decryption complete!! 就成功了,output to 后面就是解密后的数据库路径

打开数据库

  1. 到 DB Browser for SQLite 的安装目录,打开 DB Browser for SQLCipher.exe

  1. 打开数据库,定位到上一步 output 的目录,打开 contact/contact.db

  1. 点执行 SQL
  2. 粘贴以下语句,点执行
1
2
3
4
5
6
SELECT chat_room.owner, contact.nick_name
FROM chat_room
LEFT JOIN contact
ON chat_room.username = contact.username
WHERE chat_room.owner = "换成你的微信号"
AND contact.is_in_chat_room != 2;
  1. 就可以看到所有自己创建的微信群了

将扣子空间生成的 jsx 格式网页部署到自己的服务器

2025-04-29 08:00:00

扣子空间生成的网页是 jsx 格式的,在扣子空间内可以正常打开,如果想要部署到自己的服务器,则需要经过编译。

为此,我写了一个模板,只需将扣子空间生成的 jsx 重命名为 coze.tsx(注意后缀要改为 tsx)放入本项目 src 目录,即可编译出可静态部署的 dist 产物。

详细步骤

  1. 从扣子空间下载 jsx 文件

  1. 下载 模板工程
  2. 安装 Node.js
  3. 进入本项目所在目录,运行 npm install -g pnpm 安装 pnpm 包管理器
  4. 运行 pnpm install 安装依赖
  5. 将扣子空间生成的 jsx 重命名为 coze.tsx(注意后缀要改为 tsx),放入 src 目录,覆盖原有的 coze.tsx 文件

  1. 检查 coze.tsx 中的 import 语句,确保所有第三方包都已经安装,举例:如果 coze.tsx 中有 import Mermaid from 'mermaid';,就执行安装 pnpm install mermaid
  2. 运行 pnpm run dev 查看效果

  1. 运行 pnpm run build 编译
  2. 编译完成后,在 dist 目录下即可找到编译后的产物

扣子空间邀请码

2025-04-24 08:00:00

字节跳动出了一个类 Manus 的 AI Agent 工具,叫扣子空间,目前是邀请码内测机制,在此分享几个邀请码。

邀请码使用地址: https://space.coze.cn

用完记得评论说下已使用,如果邀请码都已使用,可以评论提醒我补充更多的邀请码。

1
2
3
4
5
Q4RA5622 已激活
54W9053G 已激活
4YUTZNOV 已激活
XFZKRCIZ 已激活
HZFQRQVC 已激活

续 1

发出来才 3 分钟不到就全被用了,然而没一个人留言。有真正需求的可以关注博客页面左边的公众号(虹墨iMaeGoo)私信我获取。

续 2

我的所有 20 个邀请码都发放完毕了,你可以通过其他渠道获得邀请码 - https://docs.qq.com/sheet/DUkdXa1JtQWtlSXJp

续 3

更多邀请码放出

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
8D01YILO 已激活
SCFBW27F 已激活
GPI4P0OL 已激活
EDW7VRLW 已激活
3HIZ37XF 已激活
Q4RA5622 已激活
54W9053G 已激活
4YUTZNOV 已激活
XFZKRCIZ 已激活
HZFQRQVC 已激活
D7FWIMJ4 已激活
H9ZM7KQ1 已激活
94PYYP6R 已激活
5HO53HQL 已激活
4YQYH3BC 已激活
C5QJ9RUZ 已激活
42BGV4OD 已激活
C5IKZ13G 已激活
F4R5RQWX 已激活
P449LTOC 已激活
RAL58FKV 已激活
H7K47ET3 已激活
IP765WVL 已激活
H8WDAT20 已激活
ST25AOYY 已激活
V0NRUE3G 已激活
KM0M6HN1 已激活
S97PP4AU 已激活
HE830CXE 已激活
I2ODIZ9M 已激活
CCLLI44L 已激活
MLNM7A0J 已激活
BB2HDWAE 已激活
MLS3IYRN 已激活
9LL7XO6G 已激活
WDIE546J 已激活
96OSOHQT 已激活
EDJ182QW 已激活
LUPTYN8S 已激活
OSIF6AYZ 已激活
BED56SSX 已激活
2M7GCFDZ 已激活
CSDP4RGF 已激活
YIMVWMDB 已激活
HFZAHFQV 已激活
1ZP0HMH5 已激活
HHF0R59D 已激活
8QPRC46N 已激活
G9GAKQ1V 已激活
VN8YCOSM 已激活
BKIE162P 已激活
K4U0ALR0 已激活
ZEC6EJN8 已激活
8LFS25M2 已激活
CGGCT0JK 已激活
33XCKI66 已激活
N32IX2ED 已激活
5BM48I2I 已激活
XJ8YJ9BQ 已激活
FG677MC8 已激活
CPQAI352 已激活
3FL0OJ28 已激活
FQQ6GR3O 已激活
HZX6TK2L 已激活
HEVFPIR7 已激活
BOLFJACA 已激活
7R7NYYSU 已激活
MZRZF6OO 已激活
N65LQH12 已激活
XH8QCFBT 已激活

Midscene.js:AI驱动的自动化测试工具

2025-03-19 08:00:00

字节有一个很实用但不怎么火的项目,叫 Midscene.js,Chrome 商店上的安装数仅有 1 万,它是一个由多模态模型驱动的前端自动化测试插件。

Midscene.js 一共就三大 API:Action、Query、Assert

Action 交互

描述步骤并执行交互。例如,在 GitHub 上交互:查找 GitHub 上的 Twikoo 项目,点进详情页,点个 Star——

Query 提取

从 UI 中“理解”并提取数据,返回值是 JSON 格式,想要什么数据结构,它都可以给你。例如,在面试题宝典网站上提取:string[],所有面试题目——

Assert 断言

判断是否符合指定条件。例如,在智能家庭页面断言:电脑是关着的——

大模型支持情况

项目最初仅支持 GPT-4o 模型,跑一行用例的成本在 ¥0.1 左右,还挺贵的,后来支持了 Qwen-2.5-VL 和 UI-TARS,成本就大幅降低了。以下就以千问模型为例,带领大家上手这个神奇的插件。

安装

可以直接从 Chrome 商店安装:
https://chromewebstore.google.com/detail/midscene/gbldofcpkknbggpkmbdaefngejllnief

配置

从浏览器右上角的插件菜单中打开 Midscene.js 的侧边栏,会提示 No config,点击按钮会弹出 Env Config 的设置框,在里面配置以下变量

1
2
3
4
OPENAI_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
OPENAI_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
MIDSCENE_MODEL_NAME="qwen-vl-max-latest"
MIDSCENE_USE_QWEN_VL=1

其中的 OPENAI_API_KEY 需要你自己申请,申请的地址是:
https://bailian.console.aliyun.com/?apiKey=1#/api-key

以上链接不包含推广,如果你是首次开通阿里云百炼,新用户是有免费额度的,请注意额度的有效期,避免浪费~

测试

接下来用自然语言随便写一条指令,点击 Run 按钮,见证 AI 开始接管你的浏览器……

代码集成

接下来我们尝试编写爬虫,组合这三大 API,完成复杂的自动化任务。

建一个新的 Node.js 项目,安装所需的依赖——

1
pnpm install @midscene/web tsx --save-dev

编写脚本 main.ts,执行你想要进行的操作,例如,打开必应,输入 iMaeGoo 点击搜索,并输出搜索结果——

main.ts
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
26
27
import { AgentOverChromeBridge } from "@midscene/web/bridge-mode";

function sleep(ms: number) {
return new Promise((r) => setTimeout(r, ms));
}

async function main() {
process.env.OPENAI_BASE_URL =
"https://dashscope.aliyuncs.com/compatible-mode/v1";
process.env.OPENAI_API_KEY = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
process.env.MIDSCENE_MODEL_NAME = "qwen-vl-max-latest";
process.env.MIDSCENE_USE_QWEN_VL = 1;
const agent = new AgentOverChromeBridge();
// 这个方法将连接到你的桌面 Chrome 的新标签页
// 记得启动你的 Chrome 插件,并点击 'allow connection' 按钮。否则你会得到一个 timeout 错误
await agent.connectNewTabWithUrl("https://www.bing.com");
// 这些方法与普通 Midscene agent 相同
await agent.ai("输入 iMaeGoo 点击搜索");
const result = await agent.aiQuery(
"{title: string, url: string}[], 搜索结果"
);
console.log("搜索结果", result);
await sleep(3000);
await agent.destroy();
}

main();

启动你的 Chrome 插件,点击 Bridge Mode,再点击 ‘Allow connection’ 按钮——

随后运行脚本——

1
pnpx tsx main.ts

可以看到脚本成功打开必应搜索 iMaeGoo 并打印出了搜索结果——