{"id":48518169,"url":"https://github.com/dataofmen/x-to-obsidian","last_synced_at":"2026-04-07T20:02:26.508Z","repository":{"id":340699478,"uuid":"1166318411","full_name":"dataofmen/x-to-obsidian","owner":"dataofmen","description":"X.com 북마크를 Obsidian 씨앗 노트로 자동 변환","archived":false,"fork":false,"pushed_at":"2026-02-26T04:11:37.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-26T08:40:33.415Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dataofmen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-25T05:10:00.000Z","updated_at":"2026-02-26T04:11:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dataofmen/x-to-obsidian","commit_stats":null,"previous_names":["dataofmen/x-to-obsidian"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dataofmen/x-to-obsidian","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataofmen%2Fx-to-obsidian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataofmen%2Fx-to-obsidian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataofmen%2Fx-to-obsidian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataofmen%2Fx-to-obsidian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dataofmen","download_url":"https://codeload.github.com/dataofmen/x-to-obsidian/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dataofmen%2Fx-to-obsidian/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31526666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-07T20:02:20.319Z","updated_at":"2026-04-07T20:02:26.503Z","avatar_url":"https://github.com/dataofmen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# X.com → Obsidian 씨앗 노트 동기화\n\nX.com 북마크를 자동으로 Obsidian inbox에 씨앗 노트로 변환합니다.\n비용 없음 · 공식 API 키 불필요 · 완전 로컬 실행.\n\n## 작동 방식\n\n```\n[모바일] X.com 북마크 저장\n              ↓ (X.com 서버 자동 동기화)\n[Mac cron, 15분마다]\n   Safari 쿠키로 인증 → 신규 북마크 수집\n              ↓\n   Ollama 로컬 LLM으로 씨앗 노트 생성\n   (Verbatim Trap 회피 · 함의된 주장 추출)\n              ↓\n   ~/Library/.../iCloud~md~obsidian/.../inbox/ 저장\n```\n\n## 설치\n\n### 1. 이 폴더를 Mac으로 복사\n\n```bash\ncp -r x-to-obsidian ~/\ncd ~/x-to-obsidian\n```\n\n### 2. 패키지 설치\n\n```bash\npip3 install -r requirements.txt\n```\n\n### 3. Full Disk Access 허용 (Safari 쿠키 자동 추출용)\n\nSystem Settings \u003e Privacy \u0026 Security \u003e Full Disk Access \u003e Terminal (또는 iTerm2) 체크\n\n\u003e 이 권한이 없으면 `.env` 파일로 수동 쿠키 설정 가능 (`.env.example` 참고)\n\n### 4. Ollama 모델 확인\n\n```bash\nollama list          # 설치된 모델 확인\nollama pull llama3.2 # 없으면 설치\n```\n\n`settings.json`에서 `ollama_model`을 설치된 모델명으로 변경하세요.\n\n### 5. 환경 점검\n\n```bash\npython3 check.py\n```\n\n모든 항목이 ✓ 이면 준비 완료.\n\n### 6. 테스트 실행\n\n```bash\npython3 main.py\n```\n\n### 7. 자동 실행 등록\n\n**방법 A: launchd (권장)**\n```bash\nbash setup_launchd.sh\n```\n- 컴퓨터 시작/로그인 시 자동 시작\n- macOS 권장 방식\n\n**방법 B: cron**\n```bash\nbash setup_cron.sh\n```\n- 15분마다 실행\n\n둘 중 하나만 선택하세요.\n\n## 생성되는 노트 구조\n\n```markdown\n---\nsource: x.com\nauthor: \"@username\"\ntags: [\"inbox\", \"🌱\", \"태그1\", \"태그2\"]\n---\n\n# 트윗이 함의하는 핵심 주장 한 문장\n\n## 원문\n\u003e 트윗 원문...\n\n## 이 내용이 실제로 주장하는 것\n원문에 없지만 함의된 주장...\n\n## 씨앗 질문\n- 이 주장이 맞다면 무엇이 달라져야 하는가?\n- 어떤 반례가 이 주장을 약화시키는가?\n- 이것이 연결되는 더 큰 패턴은?\n\n## 연결 후보\n[[개념1]] [[개념2]] [[개념3]]\n```\n\n## 로그 확인\n\n```bash\ntail -f sync.log\n```\n\n## 설정 변경\n\n대화형 설정 스크립트를 사용하세요:\n\n```bash\npython3 setup_config.py        # 설정 변경\npython3 setup_config.py status # 현재 설정 확인\n```\n\n설정 가능 항목:\n- `obsidian_inbox`: Obsidian Inbox 경로\n- `ollama_url`: Ollama 서버 URL\n- `ollama_model`: 사용할 LLM 모델\n- `bookmark_fetch_count`: 한 번에 가져올 북마크 수\n\n설정은 `settings.json`에 저장됩니다.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataofmen%2Fx-to-obsidian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdataofmen%2Fx-to-obsidian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataofmen%2Fx-to-obsidian/lists"}