Skip to content

Repository files navigation

何处 · Whereabouts

记录东西放在哪的极简工具 — A minimal tool to remember where you put things.

License: MIT Platform Language


中文

这是什么

"何处"是给「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.appApplications → 双击启动。

首次打开会提示「无法验证开发者」(因为没付费 Apple Developer 证书),按指南 txt 里的步骤放行即可: 系统设置 → 隐私与安全性 → 滚到底部 → 「仍要打开」

从源码构建

# 装 xcodegen(如果还没装)
brew install xcodegen

# clone 后生成 Xcode 项目
xcodegen generate

# 用 Xcode 打开
open Whereabouts.xcodeproj

ad-hoc 签名 build:

xcodebuild -scheme Whereabouts -destination 'platform=macOS' -configuration Release \
  CODE_SIGN_IDENTITY=- CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO \
  DEVELOPMENT_TEAM='' build

项目结构

Whereabouts/
├── 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)


English

What is it

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.

Features

  • 📝 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)

Tech

  • SwiftUI + SwiftData (macOS 14+ / iOS 17+)
  • Xcode project generated by xcodegen (project.yml is the source of truth)
  • Localization via String Catalog (Localizable.xcstrings)
  • Whereabouts.xcodeproj/ is not committed — run xcodegen after cloning

Install

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.

Build from source

brew install xcodegen
xcodegen generate
open Whereabouts.xcodeproj

Or 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='' build

License

MIT © 2025 Bam Cope

Built with Claude Code.

About

何处 Whereabouts —— 一句话记下东西放哪了。macOS + iOS,SwiftUI + SwiftData,自然语言录入 + 可选 AI 理解。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages