Wenlan
Wenlan is a source-backed AI knowledge base and LLM wiki for AI work: organize documents and decisions into pages you can find, inspect, and review.
翻訳待ち
Local Tasks Bridge is a free, open-source macOS menu bar app that keeps the Apple Reminders lists you choose in two-way sync with Google Tasks. It runs only on your Mac.
翻訳待ち
生産性Python · SwiftGitHub @siyuanjオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
Local-first macOS bridge between Apple Reminders and Google Tasks
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Two-way sync between Apple Reminders and Google Tasks that runs entirely on
your Mac.
Local Tasks Bridge is a small menu bar app. It copies new items, edits,
completions and deletions between the Reminders lists you choose and the Google
Tasks lists with the same names. There is no server in between: your Mac talks
to Reminders through macOS and to Google directly over HTTPS, and every
credential and sync record stays in your home folder.Read the full README ↗Two-way sync between Apple Reminders and Google Tasks that runs entirely on your Mac.
Local Tasks Bridge is a small menu bar app. It copies new items, edits, completions and deletions between the Reminders lists you choose and the Google Tasks lists with the same names. There is no server in between: your Mac talks to Reminders through macOS and to Google directly over HTTPS, and every credential and sync record stays in your home folder.
[!NOTE] Version 1.0. Builds are ad-hoc signed and not yet notarized by Apple, so macOS asks you to confirm the first launch of a copy downloaded with a browser (steps below). Version 1.0.0 does not include the shared Google sign-in yet: choose your own Google Cloud client in the setup assistant (setup guide). Quick sign-in arrives in a later release, once Google has verified the app.
ltb tool runs the same engine: status, dry
runs, diagnostics, approvals and migration.flowchart LR
subgraph mac["Your Mac — everything runs here"]
rem["Apple Reminders<br/>(your lists)"]
helpers["EventKit helpers<br/>ltb-reminders-export<br/>ltb-reminders-apply"]
engine["Sync engine<br/>(Python, standard library)"]
app["Local Tasks Bridge.app<br/>menu bar · setup · approvals"]
files[("~/.config/local-tasks-bridge<br/>settings · sign-in · sync map")]
rem <--> helpers
helpers <--> engine
app -->|runs and supervises| engine
engine --- files
end
google["Google Tasks API<br/>(your Google account)"]
engine <-->|HTTPS| google
icloud["iPhone · iPad · Watch<br/>via iCloud"] <--> rem
google <--> gapps["Google Tasks · Gmail ·<br/>Calendar · Gemini"]
Each sync cycle reads the selected Reminders lists and the matching Google lists, works out a complete plan of changes in both directions, checks the plan against the safety limits, applies it, re-reads Google to verify titles and due dates, and saves its sync map. Cycles run every minute (every five minutes with the shared sign-in, see below) and right after you change something in Reminders. The details are in docs/architecture.md.
Syncing happens only while the Mac is on, awake and you are logged in. Changes made on your phone or in Google while the Mac sleeps are picked up when it wakes.
The sync engine runs on Python 3.9 or newer. Release builds include their own Python, so you don't need to install anything. An app built from source uses the Python of the Command Line Tools (or Homebrew's); if none is found, the app explains how to install Apple's free Command Line Tools.
curl -fsSL https://raw.githubusercontent.com/siyuanj/local-tasks-bridge/main/install.sh | bash
In mainland China, curl doesn't use the macOS system proxy. Point it at your proxy app first (use the HTTP port it shows), for example:
export https_proxy=http://127.0.0.1:7890
curl -fsSL https://raw.githubusercontent.com/siyuanj/local-tasks-bridge/main/install.sh | bash
The installer downloads the latest release for your Mac's processor, checks it
against the published SHA256SUMS, installs Local Tasks Bridge.app into
~/Applications (or updates an existing copy where it is), links the ltb command into ~/.local/bin and opens the app.
It never uses sudo. Because the app is not downloaded by a browser and the
installer clears the quarantine flag, you won't see the Gatekeeper prompt. You
are welcome to read install.sh first.
Options go after bash -s --, for example
curl -fsSL …/install.sh | bash -s -- --version v1.0.0:
This is the beginning of the README. Read the rest at the original. Read the full README ↗