#!/usr/bin/env python3
"""
add_idea - 快速添加想法到 Obsidian vault inbox
用法:
  add_idea "今天想到的一个点..."
  add_idea  # 进入交互式输入
"""

import sys
import os
from pathlib import Path
from datetime import datetime

VAULT_ROOT = Path("/root/workspace/obsidian-vault")
INBOX_DIR = VAULT_ROOT / "inbox"

def add_idea(content: str, source: str = "cli") -> Path:
    """Add an idea to inbox, return file path."""
    INBOX_DIR.mkdir(parents=True, exist_ok=True)
    
    timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
    # Extract first few chars for filename
    first_line = content.split('\n')[0].strip()
    safe_name = "".join(c if c.isalnum() or c in "_ -" else "_" for c in first_line)[:30]
    filename = f"{timestamp}_{safe_name}.md"
    
    filepath = INBOX_DIR / filename
    
    # Format with metadata
    full_content = f"""<!--
source: {source}
captured: {datetime.now().isoformat()}
-->

{content}
"""
    
    filepath.write_text(full_content, encoding='utf-8')
    return filepath

def main():
    if len(sys.argv) > 1:
        content = " ".join(sys.argv[1:])
    else:
        print("输入想法 (Ctrl+D 结束):")
        content = sys.stdin.read().strip()
    
    if not content:
        print("错误: 内容为空")
        sys.exit(1)
    
    filepath = add_idea(content)
    print(f"✓ 已添加到 inbox: {filepath.name}")
    print(f"  路径: {filepath}")

if __name__ == "__main__":
    main()
