Transcript of Obsidian + Voice Control = PKM on Steroids (Cursor AI)
Video Transcript:
Record a daily note. Good evening. Take my daily note for today and add a task to it, saying that I need to record a video showing how I use my voice and the Cursor AI coding app to control my Obsidian Vault. Also add in the note section that I'm really proud of myself because I finally figured out how to create my own MCP server here in Cursor. This one connects to my Gumroad account and can tell me anything, including how many sales I've made that month. Also made a little server for my first go at making an MCP server that tells the time. Going to show all of my viewers how I do all of this using my voice and Obsidian. I'm going to do that right now. Hey there, it is I versus AI and what. Bell Ringing. Creating my daily note just as I instructed. And also, if you heard that little happy beep at the end, it is letting me know that it has completed the task. This is my Obsidian Vault, but not how you are used to normally seeing it. This is Cursor. It is, as I mentioned, an AI coding app which is meant really for developers, and I'm going to tell you one thing in case you're about to just nope out of here because you just have no desire to mess with code. I am not a developer. I can write a Python Hello World script, which literally is three words: Echo Hello World. That's it. That's all I can do. I have done all of this without knowing how to code, and what I want you to feel excited about is that all of this is available to do without coding. So let me first show you what this daily note looks like and what we're looking at here on the screen with Cursor, and then I'm going to show you some of the unique ways that you can use it. Here we are in my Obsidian Vault, and you can see that for today, Monday, it has taken a task. It has recorded the notes. So you can see the green and the red over here indicate that Cursor has done something, changed or added something. In this case, it removed this empty task, which happens on every new note. It's part of the template, and I can now accept this because Obsidian is a markdown viewer. It's not really a markdown saver, as it were. It's already showing these here because, as far as it's concerned, these exist. But as far as Cursor is concerned, I have not yet accepted these as being truly a part of the note until then. You can do that also on the right-hand side, down here in the bottom right. You can accept all. That's because Cursor is a tool for developers. But when I was thinking about how Cursor could be helpful to me, I realized that I really want you to lean forward and listen up. Because, again, I'm not a coder and you don't have to be a coder. And this is what's keeping people, I think, from really getting the benefit of what I can do for you. And if you can see me right now, I'm literally shaking because I feel this so strongly. There's so much power in AI, but many of us kind of stop ourselves by going, "Well, you know, but I'm not a coder," and code makes me nervous. And I can't really do that. But there's so much power in what you can do if you leave the coding to where it belongs, which is the AI model, and you become the overseer, the idea person, the creative person - then what we do well as humans. And that's because when we think about what code is, I'm going to show you that by opening up a simple Hello World script. I'm going to ask the model to create one. Hey there, can you create a Hello World script in Python and just drop it into the basket folder? Thank you. The model is going to go off and create that Hello World script in Python. It's going to find the basket folder, it's going to create a script. There's our simple Hello World script. We're going to click accept there, and that's it. We can now run this Python file, and it would simply print out Hello World. In fact, let's see if we can do that. Great. Can you run this file for me, please? Just show it in the terminal. It's going to run the Python script in the terminal. I'm going to pop out the terminal here; you can see it just over here. I missed the opportunity to pop it out fast enough. Let me see if I can get it. Yeah, there it is. So there is the Hello World terminal, and that's all it is. It's a simple little script. But let's take a look at this Python. This is code. But what really is code? Well, when you stop and think about it, code is just letters and sometimes numbers and symbols like this - parentheses right here or this quote. And no matter how complicated the code is, it's nothing more than just letters, numbers, and symbols that are meant to do a specific thing when that script is run. In this case, output Hello World. But when you think about what a markdown note is - or even a note you wrote to your grandmother - it's just letters, numbers. In this case, there's some emoji in there, symbols. It's just the same as code. Code is just a language that's been defined by humans to do a certain thing. And so is English or Spanish or French or any other language. It's all meant to convey information: in one case to a human and in the other case to a computer. Therefore, knowing that you can give any folder you have - in this case, an Obsidian Vault - or in another case, let's say you want to keep track of some recipes from your grandmother, for example, who you just wrote a happy letter to, and she sent you a picture of a recipe for your favorite peanut butter cookies. Now, this is not my grandmother, nor my recipe. I found it on Google, but it's great for showing you one of the ways in which having AI work with you in your Obsidian Vault can be a game changer. You have a bunch of these that she's given you, and you want to turn these into something that's in your Obsidian Vault. This is how you do it. I'm going to close out this Hello World.py file. I'm going to minimize all the folders in my vault over here on the left-hand side. And I'm going to close today's daily note. And finally, I'm going to close the terminal, which you can do by hiding the panel here. Here in Cursor, you can toggle panels on and off. And in Cursor, you can add images. I'm going to click here to add this peanut butter cookies image. And I'm going to use the app Whisper Typing, which is the app I've been using to give dictation to Cursor. And that's really what I love about this: I have the setup, and you can see that I have the app Whisper Typing. And you can see on screen right now, there's an image of how this looks on my phone. The buttons I'm using to control Whisper Typing - the top button, the teal button - I click once to start talking. And then, to automatically send the message, I just double-click it and it will automatically send the message. If you're on Mac, there are other apps that I have heard of; Super Whisper is one that's regularly recommended. And the whole reason why this ability to do talking and basically using my voice to control my absentee vote actually came from Karpathy, who's one of the co-founders of OpenAI. He was there in the beginning, and he mentioned a few months back about vibe coding, where you fully give into the vibes, you embrace the exponentials - whatever that means. But one of the things he talked about was how he used Cursor, Composer, Cursors - the app - and the Composer is basically the agent mode, along with Claude Sonnet 3.5, and how he used it to simply vibe code. Now, vibe code is kind of taken off. And some people hate the term, and some people are totally embracing it. But what I thought was, "Well, I can't code." But then I thought, do you know what would be so cool? It would be really cool. I know that in a den, I think it has an API. Wouldn't it be cool if I could create in a den workflows with my voice, where I could simply describe what I wanted the workflow to do? So the first thing I did in Cursor was say, "Here's the documentation for all of the endpoints for n8n," meaning that I can create a workflow, retrieve all workflows. And here's one: update a workflow. That means I can have it create a workflow. And then I can say, "Hmm, can you make the nodes be a little farther apart? Or could you add a sticky note behind this node?" So I asked, "How could it connect to this API?" And Claude responded and said, "You just need to do it with a Python script." So it wrote a Python script, it asked me for my API key, and the next thing you know, it was printing out all of my workflows. And I was hooked. And that's how it began. So my mind went on from there, and I thought, "Well, that's cool. But what if I could just over here - when you look at what is going on, what is going on?" And I thought, "Well, what if I could just go over here? What is this supposed to be over here? It's supposed to be, well, you know, files and folders." Because when I first opened Cursor, what I saw was this, except there were no recent projects. And I saw that the projects were a folder, and I knew enough about coding to know that a coding project is nothing more than a folder. And I said, "Well, what do I work with every day that is just folders and files?" My Obsidian Vault. So I decided I could open it and just see what would happen. Of course, because I'm working in my very precious Obsidian Vault, I did have on the guardrails. But there are some safeguards I have in place in case it goes off the rails. Because I'm looking at U3 point seven solid, it does go off the rails. Xylophone Music. Cookie story here. Because you're thinking how nice it would be to be able to get some of these old family recipes into your vault, even with an added image - maybe of the old recipe from your grandparents, an added image, maybe of the old recipe from your grandmother's recipe box. I've added the image here to the prompt, and I'm gonna use Whisper Typing to add it to a note. The image that's included with this prompt has a recipe for peanut butter cookies from my grandmother. Can you create a note for this, a new note, and add it to my basket folder? But under my basket folder, can you add a new folder called Grandma's Recipe? And can you put the note in there, mark it with today's date, and then also put a placeholder for where I can actually drop the image in later in my Obsidian Vault? And also add a little story at the bottom just saying, "This was my favorite recipe for my grandmother. It makes me remember her and how much I loved her and how much I loved spending summers at her house by the beach." Thanks. I'm gonna double-click to get that to head right on into the prompt, and Cursor begins to create that note. Now here's a cool thing: you can see that it's calling a tool. This is an MCP server. It is all the rage. It has come out recently - Anthropic. And when I say recently, I mean November, which is recently in olden times, but in these new AI times, that's basically 10 years ago. But this new model context protocol is taking a lot of people in the AI space by storm, me included, because it allows AI to connect to tools - in this case, a simple tool that I asked it to create for me that gets the date and time in my time zone. And if today is a holiday, it will also let me know that too. I prompted Cursor to create a server for me. And even though it is such a really simple server, it just does one thing. It has one tool call. I was really proud of myself when I was able to figure out how to give Claude and Cursor the information needed to create the server. So if you wanna know how I'm creating these MCP servers - the good, the bad, the ugly, no hype here - if you wanna know that, let me know in the comments and I will create a video for you about how MCP servers work and how to start creating your own or to find many, because there are many already out there to download. Here is our grandma's recipe. It picked up on the fact that grandma's name is Linda. At least it is; there is a Linda. Let's look in the image here, from the recipe file of Linda. That is so cool. It picked up on that - Grandma and Linda's peanut butter cookies. I'm gonna go ahead and accept the file, but I also wanna draw your attention down here to the lower right-hand side where my mouse is showing you that you can reject these changes if you don't like them, or you can accept them. And the reason why is because when a developer is creating code, it will ask the model to go in and say, "Change the code from, say, line one to line 12 here where the note properties are, where the YAML is, and maybe add something else to that." And the model can go in and change just this section. You can also select a section like this and then actually use Control K and change just this section as well. Here you can ask it, for example, to add something - some more tags or add a description. In fact, let's do that. I'm gonna go ahead and accept this file just to make sure that the changes we currently have stay put. And then I'm going to ask it to add a description. And I could do this with my typing, like you can hear me doing now, or I could just use the app. But for something like this, I'm just gonna go ahead and submit this edit here. And this is one of the things that's so cool - look at that. It just pops in a description in there. And now I bet you wanna see what it looks like over in the Obsidian Vault. Well, I do, so let's go look. Look at this: there's a new folder called Grandma's Recipes, and here's Grandma Linda's Peanut Butter. And then, to finish it off, I could by hand add the picture, and there is the beginning of you effortlessly - effortlessly, or at least with very little effort - adding recipes from your family that you could then combine or have it print out. One of the cool things you could do with this is you could print this out as a PDF. Actually, let me show you a fun little thing that you can do that I do regularly when I, for the products I sell on Gumroad, will always add a quick start guide. So you might wanna add some colors here. So you can do that, and maybe a personal note - and maybe the personal note section might be teal, for example. And then you might also wanna add maybe a quick emoji right here. So I'm gonna just put that emoji outside the font tag, and I'm gonna just right-click here, which is where I have my emojis showing up here in my menu. And I can just put like a picture of, like, grandma - maybe there's someone here. Maybe that, maybe, oh, maybe her recipe got a first, metal, first-place metal. So let's add that. This one got a first-place metal. And now when we go over here and we output to export to PDF, here is Grandma Linda's peanut butter cookies as a nice PDF. This could be a really nice gift to give to your family - of collecting a bunch of recipes and adding them together. And they could say, "Wow, this bunch have taken so much work to write out." It could be like, "Nope, it was easy." And you can see here that it followed my instructions and added a placeholder for Grandma Linda's peanut butter cookies. It gave me a fake link that doesn't exist because I asked it to. So I'm just gonna move the link from above to here. And then I'm gonna toggle the view again. And there it is - look at that, the original recipe card from grandma. This is so fun. Oh man, I love this stuff. That's one idea of how you can use AI in your Obsidian Vault. So now let me give you a tour of how Cursor works. When you first open Cursor, you're gonna be greeted with a screen like this. And the first thing to know is that Cursor is a fork of Visual Studio Code - an app that's been around since 2015 and has built many of the apps that are out there in the world. It's used by developers all around the world. It's very well known, very popular, and it has a lot of extensions that you can add to it, including two extensions that I looked at when I was trying to decide what AI coding app I was gonna go with or what way or method I was gonna move forward with it. Because there are also these extensions. This is RooCode, which is a fork of the original extension Cline. They both do similar things, and you can see I've been using Cline recently. In fact, it's what helped me build the MCP server for my Gumroad shop that I'm gonna show you momentarily. And when I was trying to decide what I wanted to use, I looked at Cline, I looked at RooCode - both of them - and they both worked well and did good things. I also looked at Windsurf, which you can see with all of these, that they're all basically, they look somewhat the same. And that's because they're all basically a fork of Visual Studio Code. I'm going through over here with Cursor; I'll tell you why I chose Cursor. But let's head on back into - I’m gonna head on into my n8n workspace, and the place that I wanna take your attention to is over here with the settings. There are a lot of features that come with Cursor that are really great, and one that you'll find yourself using is the auto-run mode. When you first start using Cursor, every time it tries to make a tool call or make a command in the terminal, it won't need to ask you for that, and believe me, that'll get pretty tiring pretty quickly. And no other tool has the same setup that I saw here in Cursor, where it has both a command allow list - like anytime you wanna run this command, go ahead and do it, have no problem - and also a command deny list for never running these commands without my permission, which I felt was super important. And believe me, today I just put this one in because it removed a folder that I needed, and I had - basically, I was able to get that folder back - but I added this really quickly after the model made that mistake earlier today. And you can also have a delete file protection that'll just keep it from deleting files, which is another protection for Obsidian if you're feeling like, "Oh my gosh, my vault - I would not wanna trust this thing with my vault." You can really lock down the commands that you don't want it to ever use without permission. The play sound on finish is a new one; it's in beta. It is a bit janky, to be honest. It does not play consistently. And so for that, I have a little command which I will show you here in the rules section, which overcomes that problem and plays it consistently - a little command that works on Windows. And I'm sure there's something similar that works on Mac. But the thing I wanted to really show you about here is down here with the code base indexing and all of these docs. When you're working with a model trying to teach it how to do something or have it work together with you to, for example, make a new MCP server, the documents help you a great deal. Like, for example, the n8n documents help you a great deal in being able to give information quickly to the model. And here's how it works: I'm gonna go over here and just start a new chat here, and it would be wonderful if, when I click out of the last chat, it doesn't close the window. It just opens up a new chat automatically. And over here, under the add context, this is key for getting real value out of the model here in Cursor. It allows you to add files and folders. So you can say, "Hey, I did a recipe for my grandmother's peanut butter cookies. And I like how you had that laid out, and I especially like the colors used in the headers. Can you use those same font colors in the next recipe I give it and then give it your mother's favorite recipe for lasagna?" And it will repeat that same style of note because it has access to this under the files and folders. The rules are very, very important in Cursor. These are my rules - feel free to copy them, take a screenshot, give them to ChatGPT, and say, "Please tell me what this says. Write out the text in this image." And this is the one thing I want to tell you about Cursor and any of these tools - Windsurf, RooCode, Cline - is that when you first begin working with the model, it's just gonna do things that drive you crazy, period. The rules down here for project-specific rules are really important. And over time, I have built this out because what you will find is that the model will make mistakes, as I've already said, and it's your job really as the kind of manager of the model, and if you want your process with Cursor or with any of these AI development apps or tools, you wanna be able to instruct the model to stop doing a thing that it's basically constantly doing. So every time it would make a mistake in a call, for example, when it calls a tool - these are all errors that the n8n tool, MCP server, has gotten when the Cursor model tried to use it - and every time I got an error, I would just put it in here until it just stops making errors, and that's why it's so important to put these down at the bottom and stop the model from doing the same thing over and over again, because even once you correct it in this chat, start a new chat, and it's forgotten everything again. So that's something I really wanted to stress with you if you're using Cursor for even working in your Obsidian Vault - how to kind of train your model over time is really important for saving your sanity. Now let's head over to the fun part: MCP servers. The tools show you, as I have done for this Gumroad MCP server that I worked with Cline, actually in VS Code to create, because Cline is just, for some reason, really good at creating MCP servers that, over here, using Claude 3.5, 3.7, would get into loops and get stuck, whereas Cline was able to do it more or less in one go. And this Gumroad here has all these different tools, and these are basically the same as the endpoints in the API in here for create product. I can create a product right here from inside Cursor, naming the product, the price, the description, custom permalink, any of all of that information requires shipping - everything can be initially done right here just using my voice and updating a product as well, to deleting a product, listing the number of subscribers you have. And there's so many things that you can do. And this wonderful Gumroad MCP I simply created by taking the Gumroad API documentation, giving it to the model - just the link - and saying, "I need a server that connects to all of these APIs, all of these endpoints right here." And Cline was able to do that. So let me show you how this works. I'm gonna use my voice to ask for a list of products that are available on the store. Could you give me a list of products on the Gumroad store? And can you tell me the lifetime sales for that product? Nothing else, just the sales number and the product. And the model's now going to call the MCP tool, list products. It does know what tools are available. It's gonna show me many units I have sold. And you're gonna hear that little console beep. I'm gonna pop out the terminal here so you can see the console beep plays there. And this is the simple command. And the 200 and the 100 - you can ask the model about this - but it basically is the volume, I think, and the pitch. So this was the one that I thought was easiest on my ears. And to get that to play, I've simply put it in my rules. Here, upon completion of output as the last step, run the command to alert the user that the output is complete. Do so without additional commentary; simply run the command. So, feel free to add that in. So, Cursor has been helping me rock star my Obsidian Vault. I never really believed it was gonna work out as well as it did, and it has. It helps me throughout the day to just drop a quick note into a daily note - make a quick note. It's also helped me do things like go through all of the notes I made in March and make sure that the header - all of them have the correct header that I need, or the correct note property at the top - so you can make bulk changes to all of your Obsidian notes right here in Cursor, and again, non-destructive, so if you don't like the changes just simply reject all, just undo them. But I also use AI in my Obsidian Vault using text generator templates, a plugin that you need to know about that also helps me to create note properties before I discovered Cursor, and I sometimes still use it when I'm creating a note by hand to just drop in some note properties, drop in some links. Those text generators - I show you how to use them and how powerful they can be for your Obsidian Vault. In this video, which is on screen right now.
Obsidian + Voice Control = PKM on Steroids (Cursor AI)
Channel: I versus AI
Share transcript:
Want to generate another YouTube transcript?
Enter a YouTube URL below to generate a new transcript.