Skip to main content

┌─────────────────────────────────────────────┐│ @work-project/20 │ ← 范围搜索├─────────────────────────────────────────────┤│ 显示 work-project namespace Area 20 资源 │└─────────────────────────────────────────────┘

  1. ┌─────────────────────────────────────────────┐
    @work-project/20 │ ← 范围搜索
    ├─────────────────────────────────────────────┤
    │ 显示 work-project namespace Area 20 资源 │
    └─────────────────────────────────────────────┘
    
    
    ### 4.5 上下文感知交互
    
    | 视图 | `Enter` | `Space` | `e` |
    |------|---------|---------|-----|
    | Task 列表 | 查看详情 | 切换 status: `todo` → `in-progress` → `done` | 编辑 |
    | Meeting 列表 | 查看详情 | 切换 status: `scheduled` ↔ `completed` | 编辑 |
    | Email 列表 | 查看详情 | 切换 status: `unread` → `read` → `replied` | 编辑 |
    | Note 列表 | 查看详情 | (无活跃状态循环,使用 `a` 键归档) | 编辑 |
    | Calendar (日) | 资源详情 | 同上(根据资源类型) | 新建事项 |
    | Inbox | 查看详情 | (unprocessed 状态不可切换) | 编辑后处理 |
    
    **Space 状态循环**(仅限活跃状态):
    - Task: `todo` → `in-progress` → `done` → `todo`
    - Meeting: `scheduled` ↔ `completed`(二元切换)
    - Email: `unread` → `read` → `replied` → `unread`
    - Note: **无 Space 循环**(仅有 `active`/`archived` 两态,使用 `a` 键切换)
    
    **终态处理**(`archived` / `cancelled`):
    - `archived` 和 `cancelled` 是**终态**,不参与 Space 循环
    - 当资源处于终态时,Space 键**无响应**(或显示提示"资源已归档/取消")
    - 进入/退出终态:使用 `a` 键(归档/取消归档)或编辑 Frontmatter
    
    | 状态 | 类型 | 进入方式 | 退出方式 |
    |------|------|----------|----------|
    | `archived` | task, email | `a` 键归档 | `a` 键取消归档(恢复到 `todo`/`unread`) |
    | `archived` | note | `a` 键归档 | `a` 键取消归档(恢复到 `active`) |
    | `cancelled` | meeting | 编辑 status 字段 | 编辑 status 字段 |
    
    **`a` 键行为**:
    - 活跃状态 → `archived`(归档)
    - `archived` → 恢复到默认活跃状态(task→`todo`, email→`unread`, note→`active`)
    
    ### 4.6 编辑器配置
    
    | 平台 | 默认 | 可选 |
    |------|------|------|
    | Windows | notepad | typora, vscode |
    | Linux | vim | typora |
    | macOS | vim | typora |
    
    ### 4.7 日历视图
    
    **时间来源**:
    - task: `due` / `start_date`
    - meeting: `datetime` / `duration`
    
    **条带说明**:每个条带代表一个资源,高度表示时间跨度,颜色表示类型/优先级。
    
    **交互**:
    - `↑↓` 在同一天的条带间切换选中
    - `←→` 在日期间导航
    - 选中条带时,底部显示资源摘要
    - `Enter` 查看资源详情
    
    

    Calendar - Week (2024-W03) [personal]
    ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐
    │ Mon 15 │ Tue 16 │ Wed 17 │ Thu 18 │ Fri 19 │ Sat 20 │ Sun 21 │
    ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
    │ ▓▓▓▓ │ ██ │ ▓▓▓▓▓▓ │ ████ │ ██ │ │ │
    │ ████ │ │ ▓▓▓▓ │ ▓▓ │ │ │ │
    ├────────┴────────┴────────┴────────┴────────┴────────┴────────┤
    [Wed 14:00] 项目评审会议 (meeting) - 14:00~16:00 │
    │ Attendees: @alice, @bob │
    └──────────────────────────────────────────────────────────────┘
    [↑↓] Select [←→] Navigate [Enter] Details [w/m] Week/Month [q] Back

    图例:▓▓ = meeting (紫色) ██ = task (蓝色) ░░ = note (灰色)
    
    
    **跨天显示**:start_date 到 due 的任务、跨天会议,在每天都显示连续条带。
    
    ### 4.8 时间线视图
    
    **时间来源**:Git commit 时间戳(资源的 `modified` 时间)
    
    **条带说明**:每列代表一天,条带高度表示当天活动密度,每个条带对应一次 commit。
    
    **交互**:
    - `←→` 在时间轴上导航
    - `↑↓` 在同一天的 commit 间切换
    - 选中 commit 时,底部显示 commit 信息和涉及的资源
    - `Enter` 跳转到该资源
    
    

    Timeline - Last 7 Days [personal]
    ─────┬──────┬──────┬──────┬──────┬──────┬──────┬─────────
    │ ▓▓ │ ████ │ ██ │ ████ │ ▓▓ │██████│ ██
    │ ████ │ ▓▓ │ ████ │ ██ │ ████ │ ▓▓▓▓ │ ████
    ─────┴──────┴──────┴──────┴──────┴──────┴──────┴─────────
    Mon Tue Wed Thu Fri Sat Sun

    [Sun 14:32] feat(task): add new task for review
    10.001.0015-task-完成项目设计.md
    ──────────────────────────────────────────────────────────
    [↑↓] Select [←→] Navigate [Enter] Resource [d/w/m/y] Scale [q] Back

    图例:▓▓ = meeting ██ = task ░░ = note (颜色同日历视图)
    
    
    ### 4.9 会话持久化(Session Persistence)
    
    系统在 `.synapse/session.json`(不入 Git)中记录当前上下文状态:
    
    ```json
    {
      "last_active_namespace": "work-project",
      "namespaces": {
        "personal": {
          "last_view": "calendar",
          "selected_date": "2024-01-20",
          "recent_files": ["10.001.0001", "10.002.0005"]
        },
        "work-project": {
          "last_view": "list",
          "filter_state": {"status": "todo", "tag": "urgent"},
          "recent_files": ["20.001.0003"]
        }
      },
      "global_history": [
        "syn show 10.001.0001",
        "syn search kubernetes"
      ]
    }
    


    **行为**:
    - 启动 syn 时,自动恢复到上次退出的 Namespace 和 View
    - Ctrl+Tab 可在最近打开的两个文件/视图间快速切换
    - 每个 Namespace 独立记录筛选状态和最近文件

    ---