Powerful Tool for Searching in DEVONthink.
Author: Charles Ma
Last Updated: 06/01/20 16:26:16
Powerful tool for seaching in DEVONthink, for DEVONthink 3.x.
For DEVONthink 2.x, you can use the versions of this workflow before V7.0. Switch to Branch DEVONthink 2.x to access the README document and source code.
dnt + keywordsto search in all opened databases in Alfred. Search results are sorted by relevance score, consistent with DEVONthink.
dnts + keywordsto search in DEVONthink window.
Enterto search in existing window.
⌘Command + Enterto search in a new window.
dndto choose which datebase to search
Enter, then type in
keywordsto search in the chosen database.
⌘Command + Enterto list all tags in the database, then choose a tag and press
Enterto list all documents which have the tag.
⌥Option + Enterto list smart groups in the chosen database.
dnm + tag1, tag2, ...to list all documents which have these tags in all database. Tags inputed must be exact. For example, Tag
aBcDcan’t be inputed as
- Actions for Workspace:
dnwto list all workspaces, press
Enterto load the selected workspace.
dnwa + WorkspaceNameto save current workspace named
dnfto list favorites.
dnsgto list all smart groups in all opened databases.
After documents were listed,
Enterto open the selected file with external editor.
⌘Command + Enterto open with DEVONthink.
⌥Option + Enterto reveal result in DEVONthink.
fn, etc. to show file actions of Alfred. The keys are set in
Features → File Search → Actionsof Alfred Preferences.
⌘Command + Yto
QuickLookthe selected file.
⌘Command + Cto copy DEVONthink link (x-devonthink-item://xxxx) of the selected file.
- Drag & Drop file in the result list to wherever you want.
ignoredDbUuidList: ignore databases
dnm search in all opened databases. You can ignore some databases by setting
ignoredDbUuidList environment variable in Alfred workflow.
- Copy database link in DEVONthink, which is similar to
- The part
1FC1A542-D8CA-4807-B806-8617966870B5is the database’s UUID.
- Fill in workflow configuration with UUIDs. You should separate multiple UUIDs with comma(,).
filterOutGroup: filter out group and tag in searching result
You can set environment variable
yes if you want to filter out group and tag.
Automation permission in macOS Mojave
Alfred will ask for Automation permission to control DEVONthink when you run the workflow for the first time. You should check up permission of Alfred controlling DEVONthink in
System Preferences → Security & Privacy → Privacy → Automation if the workflow doesn’t work.
CJK (Chinese, Japanese, and Korean) characters should be added
~ in the front when seaching in DEVONthink. For example, searching keywords
你abc我他 should be converted to
~你abc~我他. It’s added automatically in
DEVONthink Search by using regular expression
/([u4e00-u9fff]+)/g to matching Chinese characters.
The regular expression can’t match Japanese or Korean characters. You can research more perfect regular expressions which match CJK and tell me.