云同步工作原理
Kanban Pro is a local-first application. Every project is a folder on your filesystem containing Markdown ticket files and a .kanban/ configuration directory. There are no accounts, no proprietary cloud services, and no sign-ups.
To collaborate with others, simply place your project folder inside a cloud-synced directory — iCloud Drive, Dropbox, Google Drive, OneDrive, or any network drive. Every participant opens the same folder in Kanban Pro, and changes propagate automatically through the cloud provider's file sync.
提示
No Kanban Pro account is required. Syncing uses the filesystem directly — if your cloud provider can sync a folder, Kanban Pro works with it.
设置共享项目
- Choose a cloud folder. Open Finder and navigate to your cloud provider's sync directory (e.g.
~/Library/Mobile Documents/com~apple~CloudDocs/for iCloud Drive,~/Dropbox/for Dropbox, or the Google Drive / OneDrive mount in your Finder sidebar). - Create a project folder. Create a new folder for your project, e.g.
Team Board. - Open it in Kanban Pro. Launch Kanban Pro, click Open Folder, and select the folder you just created. Kanban Pro will initialise the
.kanban/directory and you can start adding columns and tickets. - Share the folder. Use your cloud provider's sharing features to invite collaborators. On iCloud Drive, right-click the folder and choose Share. On Dropbox or Google Drive, use the sharing dialog. On OneDrive, right-click and select Share → Share with OneDrive. Each collaborator should then open the same synced folder in their own copy of Kanban Pro.
提示
When sharing, set permissions to Can Edit (not Can View) so collaborators can create and update tickets.
推荐的文件夹布局
When Kanban Pro initialises a project, it creates the following structure inside your chosen folder:
.kanban/ — project configuration
board.json — columns, settings, custom fields
locks/ — active edit locks (see below)
activity/ — activity log entries
attachments/ — uploaded images and files
KAN-1.md — ticket (Markdown + YAML frontmatter)
KAN-2.md
KAN-3.md
Each ticket is a plain Markdown file with YAML frontmatter for metadata (status, priority, assignee, tags, custom fields). You can read, edit, or back up these files with any tool — including AI coding agents that work directly with the filesystem.
Real-Time Sync & Conflict-Free Editing
Kanban Pro monitors the project folder for filesystem changes using a real-time file watcher. When a collaborator saves a ticket or updates the board configuration, the change is detected within seconds and the UI refreshes automatically.
How conflicts are avoided
- Ticket locking: When you open a ticket for editing, Kanban Pro creates a small lock file inside
.kanban/locks/. Other users see the ticket as locked and cannot overwrite your changes. Lock files sync through your cloud provider so all collaborators see the same lock state. - Atomic writes: Each ticket is a single Markdown file. Kanban Pro writes to a temporary file first, then renames it into place — preventing partial updates even if the cloud provider syncs mid-write.
- Write-finish detection: Kanban Pro waits for files to stabilise (2 seconds for tickets, 1 second for board config) before reading them. This ensures cloud sync has finished writing before the app processes the change.
- Last-write-wins for board config: Column order, settings, and custom field definitions are stored in
board.json. If two users change board settings simultaneously, the last write wins — but this is rare in practice since board configuration changes infrequently.
了解锁定文件
The .kanban/locks/ directory contains temporary lock files that indicate which tickets are currently being edited and by whom. Each lock file is a small JSON document:
{
"ticket": "KAN-42",
"user": "Alice",
"device": "Alice-MacBook",
"timestamp": "2026-03-09T10:30:00Z"
}
Lock files are created when a ticket is opened for editing and removed when the editor is closed. They enable Kanban Pro to show a visual indicator on locked tickets so collaborators know someone is working on them.
Resolving stale locks
If Kanban Pro crashes or a device goes offline, a lock file may remain without being cleaned up. This is called a stale lock.
Stale lock?
If a ticket appears locked but no one is editing it, you can safely delete the corresponding file in .kanban/locks/ using Finder or the terminal. Kanban Pro will detect the removal and unlock the ticket.
Kanban Pro also detects locks older than 24 hours and flags them as potentially stale in the UI, giving you the option to force-unlock directly from the app.
云提供商注释
iCloud Drive
iCloud Drive works seamlessly with Kanban Pro. macOS keeps recently-accessed files downloaded locally, so your board loads instantly. If a ticket file has been evicted from local storage (shown as a small .icloud placeholder in Finder), macOS downloads it on demand — you may notice a brief delay when opening very large projects for the first time.
Sharing an iCloud Drive folder
- Open Finder and navigate to your iCloud Drive folder in the sidebar.
- Right-click the project folder and select Share → Collaborate.
- Set permissions to "Only invited people" and "Can make changes".
- Enter email addresses of your collaborators and click Share.
提示
To keep project files always available on your Mac, right-click the project folder in Finder and choose Keep Downloaded. This prevents macOS from evicting files to save space.
Dropbox
Dropbox works well with Kanban Pro, but its Smart Sync feature may evict ticket files to save disk space. For best performance, mark your project folder as Available offline so all files stay on your Mac.
Setting up offline access
- Open Finder and navigate to your Dropbox folder.
- Right-click the project folder.
- Select Make available offline.
- A green tick icon confirms the folder is now kept locally.
Sharing a Dropbox folder
- Right-click the project folder in Finder.
- Click Share… (next to the Dropbox icon).
- Click Add people, enter email addresses, and set permissions to Can edit.
- Click Share to send the invitation.
Google Drive
Google Drive for Desktop offers two sync modes. For Kanban Pro, Mirror files mode is strongly recommended because it keeps a complete local copy of your project — ensuring instant access with no download delays.
Switching to Mirror mode
- Click the Google Drive icon in your menu bar.
- Open Preferences.
- Under "My Drive syncing options", select Mirror files.
- Google Drive will download all files to your Mac. This may take a while for large libraries.
警告
The default "Stream files" mode downloads files on demand, which can cause noticeable latency when Kanban Pro reads ticket files. Switch to Mirror mode for the best experience.
Sharing a Google Drive folder
- Right-click the project folder in Finder (inside your Google Drive mount).
- Click Share.
- Enter collaborator email addresses and set access to Editor.
- Click Share to send the invitation.
OneDrive
OneDrive for Mac works well with Kanban Pro. Like other cloud services, OneDrive offers a Files On-Demand feature that can evict files from local storage. For best results, set your project folder to Always Keep on This Device.
Keeping files available locally
- Open Finder and navigate to your OneDrive folder.
- Right-click the project folder.
- Select Always Keep on This Device.
- A green tick icon confirms the folder will remain downloaded.
Sharing a OneDrive folder
- Right-click the project folder in Finder.
- Select Share → Share with OneDrive.
- Enter collaborator email addresses and set permissions to Can edit.
- Click Send.
提示
Avoid special characters in folder or file names (:, *, ?, |) — OneDrive does not support them and they can cause sync errors.
Network Drives & NAS
Kanban Pro works with any mounted network volume (SMB, AFP, NFS). Ensure the drive remains mounted while working. If the network connection drops, Kanban Pro will pause file watching and resume when the volume is available again.
最佳实践
- Keep project folders available offline. Mark your project folder as "Available offline", "Mirror files", "Always Keep on This Device", or "Keep Downloaded" depending on your cloud provider. This avoids delays caused by on-demand file downloads.
- Keep the folder structure shallow. Avoid deeply nested directories — a flat layout improves sync reliability across all providers.
- Check sync status before closing your Mac. Look for sync-in-progress icons in Finder or the menu bar. Shutting down mid-sync can leave partial files that confuse collaborators.
- Maintain free storage. Keep at least 10–15% free disk space on your Mac and at least 20% free cloud storage. Low storage can stall sync or trigger file eviction.
- Use the same cloud provider across the team. Mixing providers (e.g. one person on iCloud, another on Dropbox) requires each person to have their own copy — they will not sync with each other.
故障排除
- Changes not appearing: Check that your cloud provider is actively syncing. Look for sync status icons in Finder or the cloud provider's menu bar icon. Kanban Pro refreshes within seconds of detecting a file change — if the file has not synced yet, the app cannot see it.
- Ticket stuck as locked: See the stale locks section above. You can force-unlock from the app (for locks older than 24 hours) or manually delete the lock file in
.kanban/locks/. - Missing tickets after sync: Some cloud providers delay syncing new files. Wait a moment and check your provider's sync status. If the issue persists, verify the folder is set to sync offline. On iCloud Drive, check that files have not been replaced by
.icloudplaceholder files. - Slow initial load: If your cloud provider streams files on demand, the first load may take longer while files are downloaded. Switch to offline or mirror mode for best performance.
- Sync paused unexpectedly: Some cloud providers pause syncing when your Mac is on battery power or has low disk space. Check your provider's menu bar icon for pause indicators and resume syncing if needed.
- Conflicted copy files appearing: If you see files named with "conflicted copy" in Finder, two people likely edited the same file while offline. Open both files to compare, keep the correct version, and delete the conflicted copy.