Posts for: #Tech

在手机上用自己电脑里的 AI Agent

DeepSeek 开源了自己的 agent harness,叫 dsh。装上跑一条命令就能用:

npx @deepseek-ai/dsh web

它没有终端界面,只有浏览器 UI,默认起在 http://127.0.0.1:3080。我想在手机上也能用——躺着的时候给它派个活,回到电脑前看结果。

不要直接开放到局域网

第一反应是把它绑到 0.0.0.0,手机连同一个 wifi 就能访问。dsh 直接拒绝了这个参数,报错写得很直白:

--host 0.0.0.0 is intentionally not supported yet for safety: it would expose remote code execution to the network

这不是没做完,是故意堵死的。这类 agent 能跑 shell、能读写你整个文件系统,而它目前没有任何用户认证。裸奔在局域网上,等于把电脑的 shell 交给任何连了你 wifi 的人。

用 Tailscale 反代

正确的做法是:程序继续只绑本地回环,前面放一层带认证的代理。Tailscale 正好干这个。

# 1. 启动,同时声明信任的域名
dsh web --trusted-host 你的机器名.你的tailnet.ts.net

# 2. Tailscale 在前面反代
tailscale serve --bg 3080

完事。手机连上 Tailscale,打开 https://你的机器名.你的tailnet.ts.net/ 就能用,自带 HTTPS 和设备级认证,家里 wifi 上什么都没暴露。

[阅读全文]

让 Mac 保持清醒:caffeinate

macOS 自带一个命令,caffeinate,给机器灌咖啡,不让它睡。跑长任务、下载大文件的时候用,不用去系统设置里改电源选项。

caffeinate

运行后 Mac 不睡眠。Ctrl+C 退出,恢复正常。

常用参数

屏幕常亮:

caffeinate -d

默认只防系统睡眠,屏幕照样熄。加 -d,屏幕也一起保持。

限时,单位是秒:

caffeinate -t 7200

两小时后自动失效,不用手动关。

跟着任务走:

caffeinate -i ./backup.sh

任务跑多久,机器醒多久。任务结束,自动恢复。

合盖

管不了。caffeinate 挡的是空闲睡眠,合盖触发的是另一套强制睡眠,合上照样睡。

接了外接屏、电源和键鼠,macOS 本身就支持合盖运行,不用任何命令,这是官方的 clamshell 模式。

没有外接屏,还想合盖继续跑:

sudo pmset -a disablesleep 1

设置重启后还在。用完改回 0,否则 Mac 塞进包里也不睡,发热耗电。

怕忘关,套一层自动恢复:

sudo sh -c 'pmset -a disablesleep 1; trap "pmset -a disablesleep 0" INT TERM EXIT; sleep 28800'

合盖不睡 8 小时。到点、Ctrl+C、关终端,都会自动恢复睡眠。把 sleep 28800 换成任务本身,就是合盖版的 caffeinate -i

查当前状态:

pmset -g | grep SleepDisabled

1 是不睡,0 是正常。

[阅读全文]

ntfy.sh 是什么

ntfy.sh 是一个很轻的通知服务。手机或电脑先订阅一个 topic,你的服务器、脚本、监控工具或任何程序,只要向 https://ntfy.sh/你的-topic 发一个 HTTP 请求,这条消息就会变成推送通知弹出来。

它适合做小而确定的提醒:备份失败、网站挂了、长任务跑完、家里传感器触发。最简单的用法只有一行:

curl -d "Backup failed" https://ntfy.sh/my-secret-topic

ntfy 是开源项目,可以直接用官方服务,也可以自己部署。默认不需要注册,所以 topic 名字本身就像密码,要取一个不容易被猜到的名字。敏感信息不要随手发到公共服务上。

官网:https://ntfy.sh/

GitHub:https://github.com/binwiederhier/ntfy

Mac 远程桌面:看的是同一个画面

今天我在外面,远程连回我的电脑操作。同事经过,看到那台电脑居然没锁屏——屏幕亮着,鼠标自己在动,窗口一个个开。我才去了解了 Mac 远程桌面是怎么回事。

打开 Mac 的「屏幕共享」连上另一台 Mac,你看到的就是那台机器此刻的屏幕,和坐在它面前的人看到的完全一样。它当下显示什么,你这边就显示什么。我在外面操作,那台电脑的屏幕就同步显示我的每一步——同事看到的"没锁屏",就是我远程操作的实时画面。

你动鼠标,那台 Mac 屏幕上的鼠标也跟着动;你打字,字就落在它的屏幕上。坐在电脑前的人能实时看到你点了哪里、开了哪个窗口、敲了什么,像看直播。

控制权是两人共享的。你能动,坐在跟前的人也能动。要是同事这时顺手去推那台电脑的鼠标,就会和我远程的操作抢起来——光标在屏幕上跳来跳去,谁都使不顺。想配合,得有人先松手。

远程桌面连过去,是两个人共用同一块屏幕、同一套鼠标键盘。人没在跟前,用的还是那台真机。

eink 手机重装后的工具清单

昨天重装了 eink 手机。安装后希望装少而精的几个工具即可:

Telegram、Pocket Casts、Claude、Google Tasks、Brave、YouTube、微信读书、微信输入法、Slax Reader、Slax Note、Dropbox、Gemini、Spotify。