So I’m reading along in a technical paper, and I come to a reference like:
N. Modolo, et al., IEEE EDL, 42, 5 (2021).
I’d like for my electronic minion to go out, find that paper, and put a link to it in a database group that I specify. Ideally with a pointer back to the paper that referenced it. Ideally without me having to explain that “IEEE EDL” stands for “IEEE Electron Device Letters.”
Even better, I’d like to create a list of “more reading” as I go, and have it waiting for me.
The Chat Assistant (Ollama’s gemma4 model) said “Sorry, can’t find it.” DT’s “Search with Google” option gave a bunch of links that referenced this paper, but not the paper itself. Same with Google Scholar. I ultimately found it by searching the IEEE site, which is exactly the sort of manual task I’d like to avoid. Perplexity.ai also successfully found it.
This sounds like the sort of thing DevonAgent should be able to do, but the IEEExplore plugin didn’t even get in the right ballpark.
Of course not an ideal prompt but the medium Gemini model did the job. An improved prompt in a script, smart rule or batch processing could be used to automate this.
NOTE: DEVONthink was selected in Settings > AI > Search for web & Wikipedia searches.
By quoting the post directly into the prompt, you added additional context that I expressly do not want to add.
This isn’t just semantic quibbling, because in many of these ultra-abbreviated references – used to squeeze into conference page limits – I don’t actually know what the abbreviation stands for.
In any case, could you elaborate a bit on how you might automate this task?
You’re right but this was just my lazy prompting, this works also without this information (tested with Gemini 3.1 Flash Lite & Gemini 3.1 Pro).
A simple script and prompt could look like this:
tell application id "DNtp"
try
if not (exists think window 1) then error "No window is open."
set theSelection to selected text of think window 1
if theSelection is missing value or theSelection is "" then error "Please select a citation or reference first."
set thePrompt to "Find the URL for the following academic reference by performing a web research. Return ONLY the URL without any additional text, markdown, or explanations:" & return & return & "<reference>" & theSelection & "</reference>"
set theResponse to get chat response for message thePrompt with tool calls
if theResponse is not "" then
display dialog "Found Reference URL:" default answer theResponse buttons {"Cancel", "Create Bookmark"} default button "Create Bookmark"
if button returned of the result is "Create Bookmark" then create record with {name:theSelection, type:bookmark, URL:theResponse} in current group
else
error "No URL could be found for the selected reference."
end if
on error error_message number error_number
if the error_number is not -128 then display alert "DEVONthink" message error_message as warning
end try
end tell
After selecting the reference and running the script, I get this using Gemini 3.1 Flash Lite: