Posts for: #Tools

在手机上用自己电脑里的 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 上什么都没暴露。

[阅读全文]

Hedy 不开源,有哪些开源 AI 听课助手?

需求很明确。

工具要在 Mac 上同时听到电脑声音和麦克风,边听边显示逐字稿。讲师提到新概念、数字或者值得怀疑的判断时,AI 能主动补充解释、联网查证、提出反例,也能结合提前提供的个人资料给出提示。课程结束后,再把录音、逐字稿和笔记存下来。

重点放在课程进行中的实时提示:AI 跟着一起听,及时提醒哪里值得多想一步。会后转写和总结工具不在这次比较范围内。

Hedy 已经覆盖实时转写和自动建议等主要功能,但它是商业闭源产品。本文把它作为参照,再检查三个开源项目:Raven、Anarlog 和 Meetily。

以下信息截至 2026 年 8 月 8 日,来自产品官网、文档和公开源码。本文没有一小时中文课程的实测数据,无法比较实时识别准确率和延迟。

Hedy:商业闭源的参照

Hedy 能实时转写谈话,根据不同场景给出自动建议,还提供面向学生的课程模式。用户可以配置 Session Context,让 AI 预先知道个人背景、目标和词汇。

它的免费版每月 5 小时,每次 Session 的实时建议只覆盖前 30 分钟。Pro 版月付 12.99 美元,年付 99.99 美元,还有 299 美元的终身版。

Hedy 没有开放客户端源码。使用条款把软件、算法和设计列为公司专有资产,并明确禁止反编译、反汇编和尝试推导源码。

Hedy 提供 REST API 和 Webhook,但它们主要用于把 Session 结果接到其他工具。官方集成文档列出的实时事件包括 suggestion.created,可以收到 Hedy 已经生成的建议;包含完整逐字稿的 session.ended 在 Session 结束后触发。官方集成文档未列出可供外部程序消费的实时逐字稿流,也没有说明自动建议会在课程中联网查证。

Hedy 可以直接用来验证自动提示是否有用。它没有开放源码,无法在客户端基础上继续改造。

Raven:已有会中 AI 悬浮层

Raven 使用 MIT 许可证,支持 macOS 和 Windows。它同时采集系统音频和麦克风,在本机完成回声消除,再把两路音频分别交给 Deepgram 实时转写。

[阅读全文]

让 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 屏幕上的鼠标也跟着动;你打字,字就落在它的屏幕上。坐在电脑前的人能实时看到你点了哪里、开了哪个窗口、敲了什么,像看直播。

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

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