┌─────────────────────────────────────────────┐
@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 独立记录筛选状态和最近文件

---
 
 
Back to Top