Skip to main content

workspace/

  1. workspace/
    ├── .synapse/                              # 系统目录
    │   ├── config.yaml                       # 全局配置
    │   ├── index.db                          # SQLite 索引
    │   └── hooks/                            # Git hooks
    ├── personal/                              # namespace
    │   ├── .synapse.yaml                     # namespace 配置
    │   ├── 10/                               # Area 10: 个人管理
    │   │   ├── 001/                          # Category 001: 任务
    │   │   │   ├── 10.001.0001-task-完成报告.md
    │   │   │   └── 10.001.0002-task-学习计划.md
    │   │   └── 002/                          # Category 002: 笔记
    │   │       └── 10.002.0001-note-学习笔记.md
    │   └── 11/                               # Area 11: 会议
    │       └── 001/
    │           └── 11.001.0001-meeting-周会.md
    ├── work-project/
    │   ├── .synapse.yaml
    │   └── 20/
    │       └── 001/
    │           ├── 20.001.0001-meeting-需求评审.md
    │           └── 20.001.0002-task-开发任务.md
    └── _inbox/                                # 特殊 namespace
        └── 00/
            └── 000/                          # Inbox 固定使用 00.000
                ├── 00.000.0001-unprocessed-快速记录.md
                └── 00.000.0002-unprocessed-临时想法.md
    


    **设计说明**:
    - **双层分桶**:Area → Category,避免单目录大量文件
    - 每个 Category 目录最多 9999 个文件,人眼可管理
    - 查询走 SQLite 索引,目录层级不影响性能
    - Area/Category 子目录由系统自动创建

    ---

    ## 4. 用户界面

    ### 4.1 统一命令设计

    CLI 和 TUI 使用统一的命令/操作命名:

    | 操作 | CLI 命令 | TUI 快捷键 | 说明 |
    |------|----------|------------|------|
    | 新建 | syn new [type] | n | 创建新资源 |
    | 列表 | syn list [type] | l | 列表视图 |
    | 查看 | syn show <id> | Enter | 查看详情 |
    | 编辑 | syn edit <id> | e | 编辑资源 |
    | 删除 | syn delete <id> | d | 删除资源 |
    | 搜索 | syn search <query> | / | 搜索过滤 |
    | 日历 | syn calendar | c | 日历视图 |
    | 时间线 | syn timeline | t | 时间线视图 |
    | 图谱 | syn graph | g | 图谱视图 |

    ### 4.2 CLI 命令示例

    
    # TUI 启动
    syn
    
    # 资源操作
    syn new task --title "完成设计" --priority high --due 2024-01-15
    syn new note --title "会议记录"
    syn list task --status todo
    syn show 10.001.0015        # 完整 ID
    syn show 10.1.15            # 短 ID(自动补零)
    syn show 15                 # 最短 ID(当前 Namespace 内唯一)
    syn edit 10.001.0015
    syn delete 10.001.0015
    syn search "kubernetes" --type note --tag devops
    
    # Inbox 操作
    syn inbox list
    syn inbox process
    syn inbox move <id> --to <namespace> --type <type>
    
    # 回顾操作
    syn review daily
    syn review weekly
    
    # Namespace 操作
    syn ns list
    syn ns new my-project
    syn ns switch work-project
    


    ### 4.3 TUI 快捷键

    | 快捷键 | 功能 |
    |--------|------|
    | n | 新建资源 |
    | e | 编辑(外部编辑器) |
    | d | 删除 |
    | a | 归档/取消归档(切换 archived 状态) |
    | / | 搜索/Fuzzy Finder |
    | Enter | 查看详情 |
    | Space | 切换活跃状态(见 §4.5 状态循环) |
    | r | 刷新 |
    | q | 退出/返回 |
    | ? | 帮助 |
    | Ctrl+P | 命令面板 |
    | l | 列表视图 |
    | c | 日历视图 |
    | t | 时间线视图 |
    | g | 图谱视图 |
    | 0 | 切换到 Inbox |
    | 1-9 | 切换 Namespace |

    ### 4.4 命令面板 (Command Palette)

    参考 VS Code / Obsidian 的交互逻辑,区分不同模式:

    | 快捷键 | 模式 | 功能 |
    |--------|------|------|
    | Ctrl+P | 文件跳转 | Fuzzy Search Title/ID |
    | Ctrl+Shift+P> | 命令执行 | 执行命令 |
    | # | Tag 搜索 | 按标签过滤 |
    | @ | 范围搜索 | 按 Namespace/Area 过滤 |

    **交互示例**:
    `
    ┌─────────────────────────────────────────────┐
    │ 设计文档 │ ← 默认:文件跳转
    ├─────────────────────────────────────────────┤
    │ 10.001.0015 - 完成项目设计 │
    │ 10.002.0003 - 设计规范笔记 │
    └─────────────────────────────────────────────┘

    ┌─────────────────────────────────────────────┐
    │ > review │ ← 命令模式
    ├─────────────────────────────────────────────┤
    │ syn review daily │
    │ syn review weekly │
    └─────────────────────────────────────────────┘

    ┌─────────────────────────────────────────────┐
    │ #urgent │ ← Tag 搜索
    ├─────────────────────────────────────────────┤
    │ 10.001.0015 - 紧急任务 [urgent, work] │
    └─────────────────────────────────────────────┘