Skip to content

ZyphrZero/obsidian-smart-workflow

Repository files navigation

Smart Workflow

License: GPL v3 Release

Smart Workflow is a powerful Obsidian plugin that enhances your knowledge management with AI-powered features and voice input.

中文文档

📢 Important Notice
The terminal feature has been extracted into a separate plugin: Obsidian Termy

Termy Features:

  • Full terminal experience powered by xterm.js with Canvas/WebGL rendering
  • Cross-platform support (Windows, macOS, Linux)
  • Multiple shells: cmd, PowerShell, WSL, Git Bash, bash, zsh, custom shells
  • Split panes (horizontal/vertical) and multiple sessions
  • Search, font customization, theme support, background images
  • Preset scripts for common workflows
  • Rich keyboard shortcuts (Ctrl+O, Ctrl+Shift+R, Ctrl+F, etc.)

If you need terminal functionality, please install Termy instead.

✨ Features

🧠 AI Note Naming

  • OpenAI-compatible API support (GPT, Claude, DeepSeek, Qwen, etc.)
  • Multi-provider management with quick switching
  • Custom prompt templates with variable injection
  • Reasoning model support (auto-filters <think> tags)

🎤 Voice Input

  • Push-to-talk dictation mode
  • Multiple ASR engines: Alibaba Qwen, Doubao, SenseVoice
  • Realtime streaming transcription
  • LLM post-processing with custom presets

🌐 Translation

  • Auto language detection
  • Bidirectional translation (Chinese ↔ English)
  • Selection toolbar integration

✍️ Writing Assistant

  • Text polishing and refinement
  • Streaming LLM responses
  • Thinking process visualization

🚀 Installation

Manual Installation

  1. Download main.js, manifest.json, styles.css from Releases
  2. Place files in .obsidian/plugins/obsidian-smart-workflow/
  3. Restart Obsidian and enable the plugin

Build from Source

git clone https://github.com/ZyphrZero/obsidian-smart-workflow.git
cd obsidian-smart-workflow

pnpm install
pnpm build
pnpm build:rust    # Build Rust server binary
pnpm install:dev   # Install to Obsidian

📖 Quick Start

Configure AI Provider

  1. Go to Settings > AI Providers
  2. Add a provider with endpoint and API key
  3. Add models under the provider
  4. Bind models to features (naming, translation, writing, etc.)

AI File Naming

  • Command Palette: Ctrl/Cmd + P → "Generate AI File Name"
  • Right-click Menu: Right-click file or editor

Voice Input

  • Configure ASR credentials in settings
  • Use hotkey to start/stop recording
  • Transcription auto-inserts at cursor

⚙️ Configuration

Prompt Template Variables

{{content}}           - Note content (smart truncated)
{{currentFileName}}   - Current file name
{{#if currentFileName}}...{{/if}}  - Conditional block

Voice Settings

  • ASR provider: Qwen / Doubao / SenseVoice
  • Mode: Realtime (WebSocket) / HTTP
  • Recording mode: Press-to-talk / Toggle
  • LLM post-processing presets

🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐
│                 Obsidian Plugin (TypeScript)                 │
├─────────────────────────────────────────────────────────────┤
│  Services                                                    │
│  ├── naming/       AI file naming                           │
│  ├── voice/        Voice input & ASR                        │
│  ├── translation/  Language detection & translation         │
│  ├── writing/      Writing assistant                        │
│  └── config/       Provider & model management              │
├─────────────────────────────────────────────────────────────┤
│  UI                                                          │
│  ├── settings/     Settings tabs                            │
│  ├── selection/    Selection toolbar                        │
│  └── voice/        Voice overlay                            │
└─────────────────────────────────────────────────────────────┘
                              │
                              │ WebSocket
                              ▼
┌─────────────────────────────────────────────────────────────┐
│              Smart Workflow Server (Rust)                    │
│  ├── voice/    Audio recording & ASR                        │
│  ├── llm/      LLM streaming                                │
│  └── utils/    Language detection                           │
└─────────────────────────────────────────────────────────────┘

🧩 FAQ

Q: Which AI providers are supported?
A: Any OpenAI-compatible API. Tested with OpenAI, Claude, DeepSeek, Qwen, GLM, etc.

Q: Voice input not working?
A: Check ASR credentials and ensure microphone permissions are granted.

🙏 Acknowledgements


Made with ❤️

⭐ Star this project if it helps you!

About

AI tools & cross-platform terminal for Obsidian.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors