记录东西放在哪的极简工具 — A minimal tool to remember where you put things.
"何处"是给「J 人」准备的极简物品定位工具:你只要写一句话——「充电宝在卧室抽屉」、「双立人菜刀是 2024 年在山姆买的」——它就记下来,以后找东西不再翻箱倒柜。
主打中文自然语言录入:解析器能从一句话里自动抽出物品名、位置、型号、颜色、购买日期、购买渠道,不需要你填表。
- 📝 自然语言录入:一句话写完,自动抽位置 / 型号 / 颜色 / 购买日期 / 渠道
- 🔍 模糊搜索 + 4 行 facet:按位置 / 渠道 / 年份 / 品牌筛
- 🏷️ 标签:Finder 风 9 色调色板,6 个预设(生活用品 / 3C / 厨具 …)
- 📍 位置历史:每一件东西去过哪都留时间线
- 📷 照片:系统 Photos 库 + Finder 文件两个来源
- 🗄 回收站:软删除,右键还原
- ⌘+点击 批量多选 + 删除
- 📊 底部状态栏:物品数 / 房间数 / 使用天数 + 随机 J 人金句
- 💾 JSON 导出 / 导入(含照片 base64)
- 📦 macOS 菜单栏快速录入 popover
- 🌐 中英双语 + 偏好设置内运行时切换
- ☁️ iCloud 同步 —— 规划中(需 Apple Developer Team,Phase 5)
- SwiftUI + SwiftData(macOS 14+ / iOS 17+)
- 项目工程用 xcodegen 生成(
project.yml是 source of truth) - 多语言走 String Catalog(
Localizable.xcstrings) - 仓库里不提交
Whereabouts.xcodeproj/(.gitignore里 ignore),clone 后跑xcodegen生成
下载 Releases 里的 .dmg,双击打开 → 拖 Whereabouts.app 到 Applications → 双击启动。
首次打开会提示「无法验证开发者」(因为没付费 Apple Developer 证书),按指南 txt 里的步骤放行即可: 系统设置 → 隐私与安全性 → 滚到底部 → 「仍要打开」。
# 装 xcodegen(如果还没装)
brew install xcodegen
# clone 后生成 Xcode 项目
xcodegen generate
# 用 Xcode 打开
open Whereabouts.xcodeprojad-hoc 签名 build:
xcodebuild -scheme Whereabouts -destination 'platform=macOS' -configuration Release \
CODE_SIGN_IDENTITY=- CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO \
DEVELOPMENT_TEAM='' buildWhereabouts/
├── Models/ SwiftData @Model: Item, Location, LocationLog, Tag
├── Parsing/ InputParser.swift — 中文 NLP
├── Views/ ItemDetailView, ItemEditView
├── ContentView.swift 主窗口(录入 / 搜索 / facet / 列表 / 状态栏 / 回收站)
├── WhereaboutsApp.swift app entry + 设置 + 菜单栏 + About + Help
└── Localizable.xcstrings 所有 UI 文本(zh-Hans + en)
docs/
├── help.zh-Hans.md / help.en.md 用户帮助文档(app 内 ⌘? 打开)
├── i18n.md i18n 开发者指南
└── CHANGELOG.md 版本历史
工具:Claude Code (Anthropic)
Whereabouts is a minimal item-location tracker for "J-types" who like to know where everything is. Type one sentence — "Charger in the bedroom drawer", "Zwilling knives, bought from Costco in 2024" — and it remembers.
The headline feature is Chinese natural-language input: a parser extracts the item name, location, model, color, purchase date and source from a single sentence. English input currently lands as the item name without extraction — broader NLP planned post-Phase 7.
- 📝 Natural-language input with auto-extraction of location / model / color / purchase date / source
- 🔍 Fuzzy search + 4 facet rows (location / source / year / brand)
- 🏷️ Tags with a Finder-style 9-color palette and 6 presets
- 📍 Full location history timeline per item
- 📷 Photos from Photos library or Finder file
- 🗄 Trash (soft delete + right-click restore)
- ⌘-click / ⇧-click multi-select + batch delete
- 📊 Bottom status bar with item / room / day count + random J-type quote
- 💾 JSON export/import (photos as base64)
- 📦 macOS menu bar quick-add popover
- 🌐 Chinese + English with in-app language switch
- ☁️ iCloud sync — planned (needs Apple Developer Team, Phase 5)
- SwiftUI + SwiftData (macOS 14+ / iOS 17+)
- Xcode project generated by xcodegen (
project.ymlis the source of truth) - Localization via String Catalog (
Localizable.xcstrings) Whereabouts.xcodeproj/is not committed — runxcodegenafter cloning
Download the .dmg from Releases, open it, drag
Whereabouts.app to Applications, and double-click to launch.
On first launch macOS will warn "developer cannot be verified" (the app is signed ad-hoc, not with a paid Apple Developer certificate). The install guide bundled in the DMG walks you through: System Settings → Privacy & Security → bottom → Open Anyway.
brew install xcodegen
xcodegen generate
open Whereabouts.xcodeprojOr build via CLI with ad-hoc signing:
xcodebuild -scheme Whereabouts -destination 'platform=macOS' -configuration Release \
CODE_SIGN_IDENTITY=- CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO \
DEVELOPMENT_TEAM='' buildMIT © 2025 Bam Cope
Built with Claude Code.