Commit Graph
53 Commits
Author SHA1 Message Date
tianma-if 46f1c7d764 feat(speech): extract video-note subtitles from a workspace speech service
Video notes keep a hidden marker, and the note list can queue subtitle extraction. The desktop app downloads the audio with yt-dlp and sends it to the selected OpenAI-compatible speech service.
2026-10-07 11:36:12 +08:00
tianma-if 871a9325d5 feat(web): replace the AI dialog with a companion sidebar
Notes open a right-hand assistant that can attach files and asks before changing note content. Desktop can talk to a local ACP agent without handing over the note directory.
2026-09-29 22:19:55 +08:00
tianma-if 16205e0173 fix(web): remove the custom note palette
Stored custom palettes read as native. Font size, line height, and palette no longer show a caption. Custom CSS notes that it syncs.
2026-09-29 18:46:43 +08:00
tianma-if b8a0b88d88 fix(web): tint only links, code, and bold in note palettes
Named hues leave body text, quotes, rules, tables, and code chrome on the native styles. Bold uses the palette accent. The green option is removed, and a saved emerald choice reads as native.
2026-09-29 17:29:16 +08:00
tianma-if 53290535ff feat(web): share note size, line height, and palette
Keep the native editor theme, store column width on this device, and publish account font size, line height, palette, and custom CSS to the editor, public shares, and WeChat paste. Highlight custom CSS with CodeMirror.
2026-09-29 16:20:57 +08:00
tianma-if c7f6e342be feat(web): add table attachments and a public entry form
Store attachment files in object storage and keep only resource references in the table. A separate public form link appends one row without showing existing records.
2026-09-23 13:03:12 +08:00
tianma-if f1949e795f feat(sharing): show the author's built-in font on public shares
Store the selected built-in note font on the account and apply it to the shared note body. System and custom font names keep the default face, so a share downloads a font only after one is chosen.
2026-09-23 00:09:28 +08:00
tianma-if 086d85d9d7 fix(notebooks): collapse duplicate inbox notebooks from 0046
0046 only looked for nb_inbox or {workspace}_inbox, so a historical slug inbox got a second empty 等待分类. Keep the notebook with notes, soft-delete extras, and unique-index one active inbox per workspace.
2026-09-19 16:06:16 +08:00
tianma-if dcfd11468d feat(sharing): add optional password protection for public note shares
Allow owners to turn on an auto-generated access password when sharing a note. Visitors must unlock the share page before reading the note or its attachments; existing public links stay open until a password is enabled.
2026-09-17 14:44:43 +08:00
tianma-if f5e9bc1a44 feat(ai): call model APIs from the client instead of the worker
Keep Cloudflare requests short for Agent, tag suggestions, plugin generate, and Paw checks. The instance only prepares credentials and executes tools; CORS failures still fall back to the existing proxy.
2026-09-16 22:45:07 +08:00
tianma-if 36f11471d3 feat(ai): give Agent a timeline, pinned context, and resumable runs
Show tool receipts in chat, pin notes with @, wire saved memory, and
let interrupted Agent turns continue. Split tool-side narration from
the user-facing answer.
2026-09-16 16:58:27 +08:00
tianma-if 0e5be33a44 feat(plugins): sync the install list across Web and desktop
Keep plugin and theme membership on the workspace so browsers and desktop apps can re-download verified packages. Settings, secrets, and native mobile runtimes stay out of this catalog.

Related Issue: #396
2026-09-14 10:41:56 +08:00
tianma-if bb43940135 feat(ai): replace social starter prompts with note workflows
Keep six factory prompts, swap Xiaohongshu and Twitter presets for extract-todos and continue-writing, and use four-character Chinese names.
2026-09-13 22:11:35 +08:00
tianma-if cc874cd3f9 fix(sync): keep desktop pull working without a slug inbox
Identify the workspace inbox by stable id, restore it when missing, and apply notebooks before memos so a renamed or deleted inbox cannot abort the whole pull.

Fixes #378
2026-09-10 11:52:01 +08:00
tianma-if 245ac044b6 feat: learn scoped filing and tagging preferences in Paw mode 2026-09-05 12:22:02 +08:00
tianma-if c5d678c9c7 perf(agent): reduce redundant model context and document implementation 2026-09-03 21:13:34 +08:00
tianma-if 2ead192557 feat(agent): add quiet discoveries and confirmed note actions 2026-09-03 20:30:14 +08:00
tianma-if f4aa8c5467 feat(ai): add lightweight personality and memory companion preview 2026-09-03 13:36:14 +08:00
tianma-if bde35ebb83 feat: add desktop plugin task scheduling 2026-09-02 18:20:10 +08:00
tianma-if 206e9e03d6 feat: support 1 GiB streamed attachments 2026-08-31 17:52:07 +08:00
tianma-if 944980cf67 perf: reduce sync polling and index memo tags 2026-08-20 14:38:51 +08:00
tianma-if 801b8547b5 perf: reduce database writes and improve update notices 2026-08-20 13:53:24 +08:00
tianma-if 9156aed2d6 feat: refine smart tag suggestions 2026-08-17 00:50:21 +08:00
tianma-if 4b43756be2 feat: focus built-in AI prompts 2026-08-15 21:56:17 +08:00
tianma-if b57c2edc64 feat: keep five editable starter templates 2026-08-15 21:32:03 +08:00
tianma-if c9d0785c81 feat: unify editable note templates 2026-08-15 21:02:55 +08:00
tianma-if 55fd32686d feat(ai): complete cross-platform custom prompt behavior 2026-08-12 16:06:28 +08:00
tianma-if e440da9b2f feat(ai): add editable prompt library shared with the assistant
Ship a workspace prompt library with seeded defaults, restore-missing
defaults, and a /ai-prompts management page. The AI assistant now uses
the same prompt text as the library, while keeping freeform custom
instructions and a compact one-row action UI. Also prevent local
wrangler migration rewrites from stripping unauthenticated local access.
2026-08-12 14:57:51 +08:00
tianma-if 0488731acc feat(ai): support multiple providers and models 2026-08-10 15:51:46 +08:00
tianma-if b272e8fc9d feat: add BYO AI note processing 2026-08-10 02:00:29 +08:00
tianma-if b94903fb52 feat: add instance-level S3-compatible object storage
Let instance owners route new uploads to an external OSS while keeping
existing attachments on their original store. Secrets are encrypted with
EDGE_EVER_STORAGE_ENCRYPTION_KEY before being stored in D1.
2026-08-05 12:27:10 +08:00
tianma-if 4d2ae5e27c feat: add revocable note sharing 2026-08-02 21:11:16 +08:00
tianma-if 6fb1d482c6 feat(mcp): improve import identity and reliability 2026-07-31 19:24:10 +08:00
tianma-if ea0f516ab7 feat: add portable login brute-force protection 2026-07-26 21:20:45 +08:00
tianma-if df99373a52 feat: add login device metadata 2026-07-26 12:56:14 +08:00
tianma-if 80aa95cd6a fix: preserve seeded template line breaks 2026-07-25 13:55:51 +08:00
tianma-if fec774bd33 feat: seed default custom template 2026-07-25 12:46:56 +08:00
tianma-if 869812f45c feat: add custom note templates 2026-07-25 11:12:17 +08:00
tianma-if 39cde0d620 feat: refresh demo seed and login device sessions 2026-07-22 13:55:00 +08:00
tianma-if 25ed024c0c 修复示例笔记保存失败 2026-07-21 20:53:10 +08:00
tianma-if 64c3f95991 fix: make D1 migrations remote-compatible 2026-07-21 01:39:22 +08:00
tianma-if eeb694d45d feat(mobile): add SQLite mirror and incremental sync 2026-07-18 05:34:35 +08:00
yoma b0d0686d2c feat: support isolated multi-user workspaces 2026-07-15 17:58:30 +08:00
yoma 7b085fd9f9 Bind memo saves to edit sessions 2026-07-10 19:23:38 +08:00
tianma 35209f6194 Restore default inbox notebook 2026-07-03 03:12:58 +08:00
tianma 7c8fe96446 Replace profile feature with agent prompts 2026-07-01 12:06:23 +08:00
tianma 08cef1c981 Add AI profile snapshots 2026-06-30 17:59:24 +08:00
tianma ba8b5b531a Allow copying active API tokens 2026-06-30 12:38:23 +08:00
tianma 881efe3a8b Refine notebook defaults and sidebar UX 2026-06-27 23:58:03 +08:00
tianma 5fde1e90bf feat: add memo revision history 2026-06-26 23:34:43 +08:00