Topmind Stream

by msdp
5
4
3
2
1
Score: 50/100

Description

topmind for obsidian (AI native personal knowledge manangement and streamline notes, suggestions)

Reviews

No reviews yet.

Stats

1
stars
76
downloads
0
forks
10
days
0
days
0
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
42
commits

Latest Version

6 hours ago

Changelog

Topmind Stream v4.18.2

Install

  • Community plugins (after listing): search Topmind Stream
  • BRAT: add topmindspace/topmind-obsidian
  • Manual: copy main.js, manifest.json, and styles.css into <Vault>/.obsidian/plugins/topmind-stream/

Requires

  • Obsidian ≥ 1.13.0
  • Desktop-only

This Release ships only those three files. main.js is the vendored build from the committed lib/ in this tag.

4.18.2 — AI provider controls and homepage header hover

  • 设置里的服务商和模型:新增分组「AI 服务商与模型」。服务商、模型(预设 / 默认 + 自定义模型 ID)、API Key 或 Base URL 改成 Obsidian 原生 control 行。1.13 宿主会画出 control(写回模式、步数、开关一直在),render 回调画出来的服务商 / 模型 / 密钥不会出现在打开的设置页上,所以 4.18.1 只剩「AI 副驾与写回策略」。首次打开即可配置:没有保存密钥、服务商偏好为空时这些行也在。已有单服务商或 ai.manual 的升级仍显示已保存的服务商、模型和密钥。Ollama 只填 URL,Custom 填 URL 加 Key,其余服务商填 Key,并可留空覆盖默认地址。清空文本即清除密钥。
  • 主页 header 按钮 hover:产品页藏起了重复的原生 .view-header,按钮挪到 .tm-toolbar。压过宿主 .clickable-icon:hover 的透明底比我们自己的 :hover 更具体,所以这一排没有悬停底色。悬停现在用 --nav-item-background-hover,并且只作用在 topmind 叶面上。顺手去掉了会改到全库按钮 / 图标的空选择器和裸 button、svg 选择器。
  • styles.css 仍不含 !important。发布资产仍只有 main.js、manifest.json、styles.css。

README file from

Github

Topmind Stream for Obsidian

English (default) | 简体中文

Repository: topmindspace/topmind-obsidian — community plugin home. Kernel engine is inlined at build time from topmindspace/topmind (TOPMIND_SRC / sibling ../topmind / CI .topmind-src).

Obsidian Plugin License: MIT Minimum Obsidian Version Version

Main-area Stream + Background AI Copilot for Obsidian
Capture thoughts instantly, let AI propose organized updates in the background, review & confirm before saving — your Markdown files always remain yours.


Release notes: CHANGELOG.md.

Screenshots

Stream timeline My Profile
Stream timeline My Profile
AI Suggestions Todos
AI Suggestions Todos
AI settings Chinese UI
AI Co-pilot settings Stream timeline (Chinese)

More: profile (Chinese).


What is Topmind Stream?

Topmind Stream brings the core low-friction Personal Stream Workflow of the Topmind engine directly into your Obsidian Vault.

Traditional note-taking often forces you to make frustrating upfront decisions about folders, tags, and structure before writing. Topmind Stream replaces that friction with a seamless capture-and-settle workflow:

收进来 -> 继续做 -> 交付/沉淀 -> 找回/调整
Capture Instantly  ->  AI Proposes in Background  ->  You Review & Confirm  ->  Markdown Files Stay Yours
  • Zero Friction Capture: Jot down ideas, links, or quick snippets without worrying about placement.
  • Local-First & Standard Markdown: No custom databases or proprietary locking. Everything is stored as plain Markdown in your Vault (topmind.yaml + folder categories).
  • Proactive Yet Unobtrusive AI: AI extracts action items, suggests topic emergence, and organizes memory, but never mutates your vault without your confirmation.

Key Features

  • Note it: Open the capture modal (bind a hotkey in Obsidian Settings → Hotkeys). Destinations: this week's stream or Inbox.
  • Stream view: A tab in the Obsidian main area with a compose box (Log it into the period note), a timeline of cards, and AI suggestions.
  • AI Copilot Panel (Sidebar): A tabbed right sidebar unifying all AI capabilities — Chat, Suggestions, Todos, and History (Chat is the agent spine, default tab). Model switching lives only in Chat and Settings. Suggestions tab shows a count badge.
  • AI Chat: Converse with AI about your notes, todos, and stream entries. Context-aware (recent stream, todos, profile). Goal protocol (plan + acceptance criteria + task ledger) · Pause (Esc) mid-turn (finished edits + goal ledger kept; Resume / Abandon), expandable reasoning, clickable path receipts, an honest Verified / Assumed / Could not result footer, and a Task incomplete close (never fake success). IME-safe Enter, and Desktop-parity session compact (60 messages / 24 recent kept full).
  • Weekly Reconciliation: Reconcile your weekly logs, extract pending action items, and refresh suggestions with one click.
  • Background AI Copilot: Extract todos (memory/todo.md), suggest emergent topics, and maintain memory/profile.md. Profile writes fuse near-duplicates (keep the newest wording — never a second live copy) and can compact history — confirm-gated via Suggestions.
  • Quick Settings Access: One-click access to plugin settings from both the sidebar header and the workbench toolbar. Toolbar buttons are icon-only (title tooltips); sidebar header is icon-first. Refresh and Organize use distinct icons. Model switching lives only in Chat and Settings — no model badge on toolbar/sidebar chrome.
  • Writeback Protection: Every AI modification goes through the Kernel writeback-engine (open/locked). Backups and receipts are high-impact only (locked overwrite; delete/archive of locked/core notes). Ordinary open updates do not create Archive copies.

User Core Concepts (≤ 5)

Topmind Stream reduces mental overhead by focusing on 5 plain-language concepts:

Concept Meaning Vault Location
Capture (记一下) Save a quick thought / snippet Weekly Stream Log / 00-Inbox/
Stream (动态) Daily activity & timeline 10-动态/ (weekly file per log)
Topic (专题) Long-term subject folder {Category}/{YYYY-Topic}/
My Profile (我的情况) Memory-plane browse (profile / periodic / topic memory) Files under memory/ (default portrait memory/profile.md)
Delivery (交付) Final delivery items & published work 88-交付/

Quick Start

1. Installation

  1. Open Obsidian Settings -> Community plugins.
  2. Turn off Safe Mode and click Browse.
  3. Search for Topmind Stream.
  4. Click Install and then Enable.
Option B: Obsidian BRAT (Beta Builds)
  1. Install the Obsidian BRAT plugin.
  2. Go to BRAT Settings -> Add Plugin.
  3. Enter repository: topmindspace/topmind-obsidian
  4. Enable Topmind Stream.
Option C: Manual Installation
  1. Download main.js, manifest.json, and styles.css from Releases. Those are the only files on the Release.
  2. Put them in <your-vault>/.obsidian/plugins/topmind-stream/.
  3. Reload Obsidian, navigate to Settings -> Community plugins, and enable Topmind Stream.
Upgrade
Method How
Community / BRAT Update from the plugin list / BRAT "Check for updates"
Manual Replace main.js, manifest.json, and styles.css under plugins/topmind-stream/, then reload Obsidian
From source npm run pack writes a local zip (it is not uploaded to the GitHub Release). Unzip it into plugins/topmind-stream/

Your vault files (topmind.yaml, 10-动态/, memory/) are not replaced by the plugin upgrade. Version truth: manifest.json .


2. Workspace Initialization

When first enabled, Topmind Stream checks if your vault already contains a Topmind workspace structure (topmind.yaml and standard numbered folders).

  • Existing Workspace: Automatically detected; no setup needed.
  • New Vault: Go to Settings -> Topmind Stream, select a template (stream, balanced, research, or periodic), and click Initialize Workspace.

3. Configure AI Copilot (Optional)

Navigate to Settings -> Topmind Stream -> AI provider and model (writeback policy is the next group, AI Co-pilot & Save):

  • Shown before any key is saved: On a fresh enable (no saved keys, empty provider preference) the settings page still shows an AI provider chooser, a model chooser (preset / default plus a custom model id), and a credential field. A normal provider asks for an API key, Ollama asks for a base URL, and Custom asks for a base URL plus an API key. The choice is what the plugin treats as configured, and it is still there after you reopen settings.
  • Upgrades keep the saved setup: A legacy single-provider install or an existing multi-provider key set loads into the same controls with the saved provider, model, and key.
  • Model: dropdown + custom model ID + refresh. Official list-models when keyed, then the models.dev community catalog via Obsidian requestUrl, then curated defaults. The model control is on screen even when no provider has been configured yet.
  • Import from Desktop: Click the button and choose an export file. Only that file is read. The plugin does not scan your home directory. Encrypted exports are refused — export a plaintext file from Desktop first.
  • Choose Writeback Mode:
    • confirm (Ask before saving — Recommended): Preview changes in the Suggestion Popover before writing.
    • auto (Auto Save): Automatically apply AI suggestions with automatic background backups.

Note: AI is completely optional! Quick capture, timeline browsing, and manual weekly reconciliation work seamlessly without an API key.


4. Daily Usage

  • Command palette -> Topmind: Note it (bind a hotkey in Obsidian Settings -> Hotkeys).
  • Cmd/Ctrl + P -> Topmind: Open Stream to open the timeline tab.
  • Left ribbon (Activity Bar): Pencil opens Note it; Waves opens the Stream workbench.

Product vocabulary (aligned with Desktop): Note it / 记一下 · Log it / 记下 · stream · topic · My profile · delivery.


Command Palette Reference

Command Name Description
Topmind: Note it Capture a note or snippet (default: this week's stream)
Topmind: Open Stream Open the Stream timeline tab
Topmind: Open Sidebar Open the sidebar dock widget
Topmind: Organize This Week Reconcile weekly log & refresh suggestions
Topmind: Refresh AI Suggestions Regenerate AI suggestion cards
Topmind: AI Maintain Todos Run AI todo extraction on recent activities
Topmind: Classify Topics Run AI topic classification
Topmind: Organize My Profile Run AI organization of My profile (profile + periodic)
Topmind: Open My Profile Open the memory-plane browse (rows still open vault files)
Topmind: Open Inbox Open the inbox category directory

Architecture & Ecosystem

Topmind Stream is an optional surface of the Topmind Monorepo Ecosystem. It shares the exact same core Kernel engine and directory contract with Topmind Desktop, UTR CLI, and Portable AI Skills.

Obsidian Surface (TypeScript + esbuild)
  ├── ItemView & Sidebar Widgets
  ├── Settings Tab (PluginSettingTab)
  └── Vault Bridge & AI Provider Layer
        │
        ▼
Kernel engine (bundled lib/*.mjs)
  contract · workspace-model · stream · memory
  writeback · lifecycle · derived · ingest
  + todo / ai-operation / suggest / activity-window
        │
        ▼
Obsidian Vault (Plain Filesystem = Single Source of Truth)
  topmind.yaml + {NN-Category}/ + memory/ + .topmind/

Comparison: Desktop App vs. Obsidian Plugin

Feature / Aspect Topmind Desktop Topmind Obsidian Plugin
Primary Focus Standalone rich desktop app Native embedded view inside Obsidian
Editor Type Tiptap rich text & WYSIWYG Obsidian native Markdown editor
AI Runtime Vercel AI SDK v7 Obsidian requestUrl (OpenAI / Anthropic / Gemini compat)
Shared Engine Kernel lib/ (shared engines) Kernel lib/ (bundled at build)
Data Format Standard Markdown Standard Markdown (Same Vault)

You can open the exact same Vault in both Topmind Desktop and Obsidian simultaneously without conflicts.


Security, Privacy & Data Safety

  • Local-First Storage: All notes and metadata reside in standard Markdown files on your disk.
  • Zero Telemetry: Topmind does not track, collect, or send your usage data to external servers.
  • API Key Security: Keys live in the plugin's local data.json. A vault backup (.topmind/ai-keys-backup.json, plaintext) is written only if you opt in under Settings → Security. Avoid shared vaults when keys are configured.
  • Writeback Protection: All AI-driven file changes pass through writeback-engine (open/locked). Backups/receipts only for locked overwrite and locked/core delete-archive — not every write.

Community scorecard disclosures (intentional)

These capabilities are required by the product and scoped as tightly as we can:

Capability Why Scope
Node fs outside the vault API Desktop-only plugin: Kernel workspace I/O, backups/receipts; import reads only the file you choose Every write path resolves through resolveInsideVault() (throws on ../ escape); scope = vault workspace root or the plugin directory; no home-directory scan; isDesktopOnly: true
Clipboard write Copy button on chat answers / stream cards writeText only, on explicit user click — no clipboard read, no background access
Network (AI providers) Chat / suggestions / model list requestUrl only (CSP-safe); provider endpoints you configure; no analytics
Base64 encode/decode Kernel payload plumbing Local runtime only

styles.css has no !important (leaf layout is held by selector specificity). main.js is a lockfile-vendored reproducible build: npm run build with TOPMIND_SRC unset bundles the committed lib/ and two consecutive builds are byte-identical. Release assets ship with GitHub artifact attestations.


Development & Building

# Install dependencies
npm install

# Start esbuild watch mode
npm run dev

# Production build
npm run build

# Run TypeScript type check
npm run typecheck

# Run unit tests
npm test

# Verify package integrity
npm run pack:verify

# Create release ZIP package
npm run pack

Requirements

  • Obsidian Version: Desktop ≥ v1.13.0 (Mobile currently unsupported; desktop-first design).
  • Node.js: ≥ v20.11 (for building from source).

License

MIT License © TopMindSpace