Aidee Sync

pending

by barcke

将 Aidee 录音笔记自动同步,按文件夹分类写入.

Updated 11d agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Aidee Sync

中文说明

Sync Aidee (Ideamake) voice recordings and AI summaries into your vault as Markdown files, organized by the same folder groups you use in Aidee. Log in with the phone number linked to your Aidee account; the plugin stores a session token locally and pulls new recordings on a schedule or on demand.

What this plugin does

  1. Connects to Ideamake’s authentication and Aidee APIs (imapi.ideamake.cn).
  2. After you sign in with SMS verification, keeps a per-vault token and a last sync timestamp.
  3. On each run, fetches your recording groups and incrementally imports recordings created after the last sync.
  4. Writes one folder per recording under a root you choose, with hub note, main summary, optional transcript table, and optional extra summary files per template.

This plugin is not affiliated with Obsidian or Ideamake; you need your own Aidee account and network access to their servers.

Data flow (sync plugin disclosure)

No undisclosed uploads. This plugin does not send your Obsidian vault, arbitrary notes, or attachments to the plugin author or to any host other than Ideamake’s Aidee backend that you already use in the Aidee app. All outbound traffic is HTTPS to imapi.ideamake.cn for authentication and Aidee APIs (see src/api.ts for paths).

DirectionWhat is sent or receivedDestination / storageTriggered by
Out → Ideamake (auth)Phone number (request parameter)…/authentication-server — send SMSYou click Send verification code
Out → Ideamake (auth)Phone number + SMS code (JSON)…/authentication-server — loginYou click Log in
Out → Ideamake (Aidee)Session token in header (im-token), plus API parameters (e.g. group codes, recording codes, pagination)…/aidee-server — folders, recordings, summaries, transcriptsOnly after a successful login: Sync now, ribbon sync, or automatic interval sync
In ← IdeamakeJSON: folder list, recording list, summaries, transcript segments, etc.Returned to the plugin in memorySame sync/login flow as above
Written locallyMarkdown files and YAML front matter under your target folderYour vault only (normal Obsidian files)After each successful fetch

Stored on disk (this vault): Obsidian plugin data for Aidee Sync (e.g. phone, API token, lastSyncTime, sync options). The verification code is used only transiently during login and is not persisted by the plugin.

Your consent: Using Send verification code, Log in, or Sync (manual or scheduled) is your explicit choice to contact Ideamake and download Aidee data into this vault. If you do not agree, do not log in or disable/remove the plugin. Ideamake’s own privacy terms apply to data they hold and process.

Requirements

ItemDetail
Obsidian1.4.0 or newer (minAppVersion in manifest.json)
AccountAidee app account (China mainland SMS; same phone as in the app)
NetworkHTTPS access to imapi.ideamake.cn
PlatformsDesktop and mobile (isDesktopOnly: false; desktop uses Node https, mobile uses requestUrl)

Installation

From Obsidian Community Plugins (after approval)

  1. Open Settings → Community plugins and turn off Restricted mode if prompted.
  2. Click Browse, search for Aidee Sync, install, then enable the plugin.

Manual install from GitHub Release

  1. Download the latest release assets: main.js, manifest.json, and (if present) styles.css.
  2. Create a folder {vault}/.obsidian/plugins/aidee-sync/.
  3. Place those files inside that folder.
  4. Reload Obsidian or restart the app, then enable Aidee Sync under Community plugins.

Build from source

git clone <your-repo-url> aidee-sync
cd aidee-sync
npm install
npm run build

Copy the plugin folder (at minimum manifest.json and generated main.js) to {vault}/.obsidian/plugins/aidee-sync/. For local development, npm run dev runs esbuild in watch mode.

Note: main.js is listed in .gitignore; CI or release workflows should commit or attach built artifacts for end users.

How to use (step by step)

1. Open settings

Go to Settings → Community plugins → Aidee Sync (or Settings and select Aidee Sync in the sidebar).

2. Sign in

  1. Enter the mobile phone number registered with Aidee.
  2. Click Send verification code. Wait up to 60 seconds before sending again.
  3. Enter the 6-digit SMS code.
  4. Click Log in. A success notice appears; the plugin saves the token in this vault’s plugin data.

If login fails, check the notice text (network, wrong code, or server message). You can tap Log in again after fixing the issue.

3. First sync

  • Click Sync now in settings, or use the sync icon in the ribbon (left sidebar on desktop).
  • New notes appear under the target folder (default: Aidee).

4. Background sync

After login, the plugin runs sync automatically every N seconds (default 60). Change Sync interval (seconds) if you want less frequent API use.

5. Optional behavior (toggles)

SettingWhen to use
Enrich summariesOn (default): richer main summary via batch API and optional multi-summary fetch. Off: only use the summary text from the recording list (fewer calls; use if enrichment APIs error).
Sync multiple summariesOn: one Markdown file per template/version summary (requires Enrich summaries). Off: fewer requests.
Sync transcript segmentsOn: writes 转写.md with time, speaker, and text. Off: no transcript pages pulled.
Target folderVault path where all Aidee trees are created (default Aidee).

6. Session expired

If the server returns an authentication error (e.g. token invalid), the plugin clears the token and shows a notice. Open settings and log in again with a new SMS code.

Output layout in the vault

Default root: Aidee (configurable).

{targetFolder}/
  {Aidee group name}/
    {Recording title}-{recordingCode}/
      录音.md                    # Hub: front matter + wikilinks to below
      主总结.md                  # Main summary
      转写.md                    # Transcript table (if enabled)
      {Template} - {Title}.md    # Extra summaries (if multi-summary enabled)
  • Uncategorized recordings (no group in Aidee) sync under a folder named 未分类.
  • File names are sanitized for OS rules (\ / : * ? " < > | replaced).
  • YAML front matter includes types such as type: aidee-recording, kind: aidee-main-summary, kind: aidee-transcript, kind: aidee-summary for filtering and graph use.

Limitations & troubleshooting

  • Incremental window: The client requests recent pages of recordings per group and filters by lastSyncTime. Very old items might not appear if they fall outside the fetched window; a full re-import strategy would require a future feature or resetting sync state (not exposed as a button today).
  • SMS / region: Login follows Ideamake’s phone auth; if SMS never arrives, check spam filters and Aidee app parity.
  • Sync failures: Try turning off Enrich summaries or Sync transcript segments to reduce API surface. Check Obsidian Developer Tools → Console for [AideeSync] logs.
  • 401 / login: Re-authenticate in plugin settings.

Privacy & data (summary)

  • See Data flow (sync plugin disclosure) above for the full picture.
  • Credentials and token live in this vault’s plugin data only; vault Markdown from sync stays in your vault unless you sync/copy it elsewhere yourself.

Development

CommandPurpose
npm installDependencies
npm run buildTypecheck (tsc -noEmit -skipLibCheck) + production main.js
npm run devWatch build

Entry: src/main.ts. Stack: TypeScript, esbuild, Obsidian API.

Author & license

  • Author: Barcke — see manifest.json for version and minAppVersion.
  • License: MIT.

If you change the copyright holder, update the LICENSE file accordingly.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.