[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81741":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":13,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":15,"starSnapshotCount":15,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},81741,"clawdex","openclaw\u002Fclawdex","openclaw","Contacts for Claws","https:\u002F\u002Fclawdex.sh",null,"Go",36,7,29,0,3,4,9,2.71,"MIT License",false,"main",true,[25,26,27],"agents","contacts","go","2026-06-12 02:04:19","# 🧩 clawdex\n\n![clawdex banner](docs\u002Fassets\u002Freadme-banner.jpg)\n\nLocal-first contact crawler and markdown archive CLI.\n\n`clawdex` is a local-first contact crawler and markdown archive CLI. The app lives in this\nrepo; your contacts live in a separate private Git-backed markdown repo.\n\nContacts stay local by default. To back up or sync across machines, configure a\nprivate Git remote you own:\n\n```bash\nhttps:\u002F\u002Fgithub.com\u002F\u003Cyou>\u002Fbackup-clawdex.git\n```\n\n## Setup\n\nInstall from Homebrew after the first tagged release:\n\n```bash\nbrew install steipete\u002Ftap\u002Fclawdex\n```\n\nOr build locally:\n\n```bash\ngo install github.com\u002Fopenclaw\u002Fclawdex\u002Fcmd\u002Fclawdex@latest\n```\n\n```bash\nclawdex init ~\u002F.clawdex\u002Fcontacts\nclawdex config set repo_path ~\u002F.clawdex\u002Fcontacts\nclawdex config set git.remote https:\u002F\u002Fgithub.com\u002F\u003Cyou>\u002Fbackup-clawdex.git\n```\n\nOr set the backup remote during initialization:\n\n```bash\nclawdex init ~\u002F.clawdex\u002Fcontacts --remote https:\u002F\u002Fgithub.com\u002F\u003Cyou>\u002Fbackup-clawdex.git\n```\n\n`init` creates a data repo:\n\n```text\nclawdex.toml\npeople\u002F\nindex\u002F\n.clawdex\u002Frepairs\u002F\n```\n\nConfig is stored at `~\u002F.clawdex\u002Fconfig.toml` by default. `--repo DIR` or\n`CLAWDEX_REPO=DIR` overrides the configured contacts repo for one run.\n\n## Examples\n\n```bash\nclawdex person add \"Sally O'Malley\" --email sally@example.com --tag friend\nclawdex note add sally --kind dm --source whatsapp --text \"Follow up about dinner\"\nclawdex person list\nclawdex person show sally\nclawdex person avatar set sally ~\u002FPictures\u002Fsally.jpg\nclawdex person avatar show sally --path\nclawdex timeline sally\nclawdex search dinner\nclawdex export vcard --all --include-avatars -o contacts.vcf\nclawdex git status\nclawdex git commit -m \"sync: update contacts\"\nclawdex git push\n```\n\n## Imports And Sync Safety\n\nApple and Google imports write only to the local markdown data repo.\n\n```bash\nclawdex import apple --dry-run\nclawdex import apple --avatars\nclawdex import google --account steipete@gmail.com --dry-run\nclawdex import google --account steipete@gmail.com --avatars --dry-run\nclawdex import birdclaw --min-messages 4 --dry-run\nclawdex import discrawl --min-messages 4 --dry-run\n```\n\nApple direct import uses macOS `Contacts.framework`. Linux builds still support\nmarkdown, notes, search, Git, Google via `gog`, and vCard export.\n\nAvatar imports are opt-in with `--avatars`. Apple reads thumbnails from\nContacts.framework. Google uses `gog contacts raw --person-fields photos`,\nfetches the selected photo URL bytes, then stores thumbnails as local files\nunder each person directory and records only metadata in `person.md`. Manual\navatars are not overwritten by Apple\u002FGoogle imports.\n\nBirdclaw and Discrawl DM imports read local archives only. They import DM\nconversations with more than `--min-messages` messages, add source-specific\ntags, and store stable pointers under `accounts.x` or `accounts.discord`.\n\n`sync apple` and `sync google` are preview-only placeholders for now. Remote\naddress-book writes need a conflict report before they become active. Notes stay\nlocal-only and are never written to Apple or Google.\n\n## Markdown Repair\n\nPeople and note files use YAML frontmatter plus a Markdown body. `clawdex`\nparses strictly first, then does best-effort repair when frontmatter is damaged:\n\n- salvage known scalar keys such as `id`, `name`, `created_at`, and note fields\n- infer missing IDs and timestamps\n- preserve the Markdown body\n- copy the original file under `.clawdex\u002Frepairs\u002F`\n- append damaged metadata to the body under `Recovered metadata`\n- warn about missing or stale avatar files and repair avatar metadata when the\n  image still exists\n\nPreview repairs:\n\n```bash\nclawdex doctor --repair --dry-run\n```\n\nApply repairs:\n\n```bash\nclawdex doctor --repair\n```\n\n## Storage\n\n```text\npeople\u002F\n  sally-o-malley\u002F\n    person.md\n    avatars\u002F\n      avatar.jpg\n    notes\u002F\n      2026-05-08T09-15-00Z-whatsapp.md\n    attachments\u002F\nindex\u002F\n  emails.json\n  phones.json\n  handles.json\n```\n\nThe `index\u002F*.json` files are derived and rebuildable. Markdown is canonical.\n\n## Releases\n\nTagged releases are built by GoReleaser for macOS, Linux, and Windows. The\nrelease workflow also dispatches `steipete\u002Fhomebrew-tap` to update\n`Formula\u002Fclawdex.rb` after the GitHub release assets are published.\n\nRelease checklist: [`docs\u002FRELEASING.md`](docs\u002FRELEASING.md).\n","clawdex 是一个本地优先的联系人爬取和 Markdown 存档命令行工具。它使用 Go 语言编写，支持通过私有 Git 仓库备份和同步联系人数据，确保数据的安全性和隐私性。核心功能包括添加、编辑、搜索联系人及其相关信息（如笔记、头像等），并能够从 Apple 和 Google 导入联系人数据。此外，还提供了导出 vCard 文件的功能以及与 Git 的集成来管理版本控制。clawdex 适合需要高效管理和备份个人或团队联系信息的用户，在保持数据本地化的同时也便于跨设备同步。",2,"2026-06-11 04:06:12","CREATED_QUERY"]