Back to list

OldPhoneDeck

一晚上用 Claude Code 造出:旧 iPhone(甚至 iOS 9 的 4S)变 Mac 的 Stream Deck 式控制面板,手机端零安装全跑在 Safari 里。

VI
Author
@VIBEFIX
ShowcaseProductivityOnlineclaude-code
0
0

Project intro

OldPhoneDeck 是个把吃灰的旧 iPhone 变成 Mac 控制面板的点子,而且它诞生得飞快——作者在 README 里写道:「This project was built in an evening with Claude Code.」(一晚上 + Claude Code)。它致敬的是 Elgato Stream Deck:8 个大按键摆在手机屏幕上,点一下,Mac 上对应的应用就打开;长按任意键还能换绑应用。仓库 25★(2026-10-17 建仓)。

最妙的是它对「旧」的诚意:手机端零安装——不需要越狱、不去 App Store,整个手机 UI 就是一个刻意写成 ES5 的单文件 index.html,在 Safari 里打开就能跑,连卡在 iOS 9 的 iPhone 4S 都能用。Mac 端跑一个 Swift 写的无依赖服务端(oldphonedeck),和手机在同一 Wi-Fi 下用 URL 里的随机令牌通信。应用启动走 NSWorkspace,音乐遥控走 AppleScript(Spotify / Apple Music),网速调用 macOS 内置的 networkQuality,电池信息从 IOKit 和 system_profiler 里读。

功能比看起来厚实:除了 7 个自选应用键,还有一个 Take note 键——口述一句,自动打开 Claude 桌面应用并发起一个全新的对话;Now playing 小组件带封面和播放控制;Internet 小组件实时测速并画流量图;Batteries 小组件同时显示 MacBook、妙控键盘/鼠标/触控板、AirPods 的电量。现代 iPhone 还多两个本事:语音输入做笔记,以及把手机摄像头串进 OBS、麦克风串进 BlackHole,当视频会议的采集设备。

作者的安全提示也很诚实:服务只监听本地网络,每个请求都要校验随机令牌;任何人拿到 Wi-Fi 内的链接就能在你 Mac 上开应用,所以 README 明确警告把 URL 当密码看、绝不要端口转发到公网。运行要求:macOS 14+ 的 Mac(需 Xcode 命令行工具)+ 任意能开 Safari 的 iPhone/iPad(iOS 8/9 到最新),同 Wi-Fi 即可。

OldPhoneDeck turns a dusty old iPhone into a Mac control panel — and it came together fast. In the author's own words: "This project was built in an evening with Claude Code." It's a love letter to the Elgato Stream Deck: 8 big keys on your phone screen, tap one and the app opens on your Mac; hold any key to rebind it. 25 stars on GitHub (created 2026-10-17).

The best part is how seriously it takes "old": zero installs on the phone — no jailbreak, no App Store. The entire phone UI is one deliberately ES5 index.html file running in Safari, so even an iPhone 4S stuck on iOS 9 works. The Mac side runs a dependency-free Swift server (oldphonedeck), talking to the phone over the same Wi-Fi with a random token in the URL. App launching goes through NSWorkspace, music control through AppleScript (Spotify / Apple Music), speed tests through macOS's built-in networkQuality, battery data from IOKit and system_profiler.

There's more under the hood than the keys suggest: a Take note key that dictates a note into a fresh Claude desktop chat; a Now playing widget with artwork and transport controls; an Internet widget with live speed tests and a traffic graph; a Batteries widget showing MacBook, Magic Keyboard / Mouse / Trackpad and AirPods levels. Modern iPhones get voice input for notes, plus camera streaming into OBS and mic routing into BlackHole for video calls.

Security is handled honestly: local-network only, every request validated against a random token, and the README warns to treat the URL like a password and never port-forward it to the internet. Requirements: a Mac on macOS 14+ with the Xcode Command Line Tools, any iPhone/iPad with Safari (iOS 8/9 through latest), both on the same Wi-Fi.

Actions

Visit project URL

Tech stack

swifthtmljs-es5

Project info

Project category
Productivity
Project status
Online
Collaboration intent
None

Comments (0)

ME
0/1000
Loading comments...