Skip to main content

# config.yaml

  1. # config.yaml
    media:
      provider: s3  # s3 | github | local
      
      # 凭证配置
      credentials:
        # 方式 1:环境变量(推荐)
        aws_access_key_env: AWS_ACCESS_KEY_ID
        aws_secret_key_env: AWS_SECRET_ACCESS_KEY
        # 方式 2:配置文件(不推荐,敏感信息)
        # aws_access_key: "AKIA..."
        # aws_secret_key: "..."
      
      s3:
        bucket: your-bucket
        region: us-east-1
        prefix: synapse/           # 存储前缀
        # 最终路径:s3://your-bucket/synapse/{resource_id}/{filename}
      
      github:
        repo: user/media
        branch: main
        token_env: GITHUB_TOKEN    # GitHub Personal Access Token
      
      local:
        path: ~/synapse-media      # 本地存储路径(.gitignore 隔离)
        base_url: file://~/synapse-media
    


    ### 8.5 TUI 集成(预留)

    在编辑模式下:
    - Ctrl+V`:检测剪贴板图片 → 自动调用 `syn media paste → 插入链接

    ---

    ## 9. 自动化工作流

    ### 9.1 本地自动化(优先)

    对于生成类任务,优先使用**本地 Hook**,无需等待网络:

    
    # 本地执行,立即生成并打开
    syn review daily      # → 生成今日回顾,直接打开编辑
    syn review weekly     # → 生成周报,直接打开编辑
    syn review monthly    # → 生成月报,直接打开编辑
    syn standup           # → 生成站会报告
    
    # LLM 辅助生成(可选)
    syn review daily --llm     # → 使用 LLM 生成摘要
    syn review weekly --llm    # → 使用 LLM 生成周报
    syn review monthly --llm   # → 使用 LLM 生成月报
    


    #### 9.1.1 Review 资源类型与存储

    Review 生成的资源是 note 类型,存储在配置的 review Area/Category 下:

    
    personal/
    └── 90/                    # Area 90: 回顾与复盘
        ├── 001/               # Category 001: 每日回顾
        │   ├── 90.001.0001-note-2024-01-15-daily-review.md
        │   └── 90.001.0002-note-2024-01-16-daily-review.md
        ├── 002/               # Category 002: 每周回顾
        │   └── 90.002.0001-note-2024-W03-weekly-review.md
        ├── 003/               # Category 003: 每月回顾
        │   └── 90.003.0001-note-2024-01-monthly-review.md
        └── 004/               # Category 004: 站会报告
            └── 90.004.0001-note-2024-01-15-standup.md
    


    **Frontmatter 示例**:
    
    ---
    jd_number: "90.001.0015"
    type: note
    namespace: personal
    title: "2024-01-15 每日回顾"
    tags: [review, daily]
    created: 2024-01-15T18:00:00Z
    modified: 2024-01-15T18:30:00Z
    review_type: daily          # daily | weekly | monthly | standup
    review_period: "2024-01-15"
    llm_generated: false        # 是否使用 LLM 生成
    ---
    


    **本地 Hook 配置**:
    
    # config.yaml
    hooks:
      review_daily:
        command: "python ~/.synapse/hooks/daily_review.py"
        auto_open: true   # 生成后自动打开编辑器
      review_weekly:
        command: "python ~/.synapse/hooks/weekly_review.py"
        auto_open: true
      review_monthly:
        command: "python ~/.synapse/hooks/monthly_review.py"
        auto_open: true
      standup:
        command: "python ~/.synapse/hooks/standup.py"
        auto_open: true
    
    review:
      area: "90"              # Review 存储的 Area
      daily_category: "001"   # syn review daily
      weekly_category: "002"  # syn review weekly
      monthly_category: "003" # syn review monthly
      standup_category: "004" # syn standup
      llm:
        enabled: true
        prompt_template: "~/.synapse/prompts/review.md"
    


    ### 9.2 GitHub Actions 模板(远程)

    用于**跨设备通知**和**长期归档**:

    | 模板 | 触发 | 功能 |
    |------|------|------|
    | daily-standup | 工作日 9:00 | 昨日完成、今日计划、阻塞问题 |
    | weekly-review | 周五 18:00 | 周报生成 |
    | due-reminder | 每天 8:00 | 到期/逾期提醒 |
    | inbox-reminder | 工作日 17:00 | Inbox 清理提醒 |
    | monthly-retro | 每月 1 日 | 月度复盘归档 |
    | graph-sync | push 触发 | 图谱同步 |

    **设计理念**:
    - **本地 Hook**:生成类(review, standup)→ 即时响应,无网络依赖
    - **GitHub Actions**:通知类、归档类 → 跨设备、定时触发

    ---

    ## 10. 知识图谱(优先级低,预留设计)

    > ⚠️ 本章节为预留设计,待后续迭代完善。初始版本不实现图谱功能。

    ### 10.1 预留接口

    
    syn graph                    # 启动图谱视图(TUI)
    syn graph export             # 导出图谱数据
    syn graph sync               # 同步到 Nebula Graph(如配置)
    


    ### 10.2 数据模型(预留)

    **节点类型**:Resource, Namespace, Tag, Person, TimePoint, Chunk

    **边类型**:RELATED_TO, BELONGS_TO, CREATED_BY, ASSIGNED_TO, TAGGED_WITH, BLOCKED_BY 等

    ### 10.3 GraphRAG 集成(预留)

    - 使用 Nebula Graph 存储知识图谱
    - 支持 LLM 驱动的图谱查询和推理
    - 自动发现资源间的隐含关系

    ---

    ## 11. 邮件集成(优先级低,预留设计)

    > ⚠️ 本章节为预留设计,待后续迭代完善。初始版本仅支持手动创建邮件资源。

    ### 11.1 手动创建(初始版本支持)

    
    syn new email --subject "项目进度汇报"
    


    - 支持剪贴板粘贴邮件内容
    - 自动解析标题和正文
    - 发件人/收件人需手动填写

    ### 11.2 API 集成(预留)