正在加载视频...

视频加载失败

Checkout devvm - near instant VMs for every project folder. - Detect toolchains from your project's files - Agents run inside the vm - Only your project folder mounted - Network allowlist - Secrets stay on your machine - Built on lima-vm.io

61,967 次观看 • 5 天前 •via X (Twitter)

46 条评论

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

Watch the full walkthrough:

tharshan 的头像
tharshan5 天前

@TheLimaProject Hey CJ - this looks cool! have you seen ?

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject Yeah! It launched while I was working on this. It inverts the problem though. boxery lets agents spin up and work in vms via MCP calls that run read / write on a remote machine. With devvm the agents are _inside_ the vm, no way to control vms over MCP right now.

tharshan 的头像
tharshan5 天前

@TheLimaProject Ah ok - I thought it was frowned upon to add agents like claude into VMs with their auth tokens. Also if you have multiple clis doing refresh tokens - would one of them not invalidate the access token when long running?

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject The VM gets a placeholder token. devvm's proxy on the host swaps in the real one per request. Refresh only happens on the host, under lock. If two VMs need a refresh at once, the second waits and picks up the already-refreshed token, so a refresh token is never used twice.

World_UnderCurrent 的头像
World_UnderCurrent5 天前

@TheLimaProject Thanks CJ!

Alex Aaron Peña 的头像
Alex Aaron Peña5 天前

@TheLimaProject I was literally thinking about building this last night hahahahaha. this is awesome!

Michael choong 的头像
Michael choong5 天前

@TheLimaProject The network allowlist is the bit I’d want to see in action. How does it handle a project that needs to pull dependencies from several registries?

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject You can set up the allowlist globally, as a layer or per vm. The allowlist is a policy file with 1 rule on each line. I'd expect teams to come up with an allowlist they share for each project.

Nazmi Altun 的头像
Nazmi Altun5 天前

@TheLimaProject How is this different than docker sandbox?

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject It's similar but devvm is fully free and open source and doesn't require a login. I also tried to make the CLI args simpler and easier to remember compared to sbx.

Nazmi Altun 的头像
Nazmi Altun5 天前

@TheLimaProject awesome. will give it a spin

Axel Rock 的头像
Axel Rock5 天前

@TheLimaProject I haven't looked at the video, with Conductor closing, I'm thinking about VMs all the time, your approach seems great. I'm still too noob to understand how you protect the API keys, I hope I'll learn that in the full video

brian douglas 的头像
brian douglas5 天前

@TheLimaProject I read that and instantly thought you typoed Devin

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject I work-shopped so many names and went with the most unoriginal thing 😂

Soumil Bhandari 的头像
Soumil Bhandari5 天前

@TheLimaProject Network allowlist plus only the project folder mounted is exactly how agents should run. Is it Mac only for now or does it work on Linux too?

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject Works on Linux! Tested on Debian and Fedora.

Simen 的头像
Simen5 天前

@TheLimaProject Is this for throwaway VMS, or what?

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject Yeah. Spin up a VM, do some work, then remove it.

Qnoox 的头像
Qnoox5 天前

@TheLimaProject awesome sauce 🙌

Rob Meyer 的头像
Rob Meyer5 天前

@TheLimaProject I’m so excited to see this! I tried to convince VS Code folks to make a VM play (I thought it would bridge nicely into GitHub Codespaces, which I also love) but they were basically like, “our harness has great command safety checks”.

Scott Bowles 的头像
Scott Bowles5 天前

@TheLimaProject Neat! I’ve been using Claude cloud agents a lot for a similar reason. What advantages does this have over setting up a Claude cloud environment and using that?

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject May or may not be an advantage to some, but devvm runs locally on your machine or on servers you own. Can also be used with any agent or no agent.

Scott Bowles 的头像
Scott Bowles5 天前

@TheLimaProject Makes sense thanks!

Tristan Rhodes 的头像
Tristan Rhodes5 天前

@TheLimaProject Cool, I like devvm (great name BTW).

Mubashir 的头像
Mubashir4 天前

I have a question. this seems interesting. I watched the full video on youtube. the question is, do we have an instant way to switch on/off port forwarding from vm to host? the use case is, when i am working on multiple projects, which might have conflicting ports, i want to keep running the local servers inside the vms, but quickly switch on/off port forwarding for specific machine to access the dev server on that machine. btw great work 🙌 @CodingGarden

CJ (Coding Garden) 的头像
CJ (Coding Garden)4 天前

@TheLimaProject Yes run: devvm ports none To turn it off for a VM And: devvm ports all To turn it back on. You can also only forward specific ports instead of all.

Mubashir 的头像
Mubashir4 天前

@TheLimaProject Nice. Have you thought about a workflow for working on multiple tasks in the same project (same vm probably) via worktrees? Could devvm solve the problem of conflicting ports, env vars, dbs?

VJ 的头像
VJ5 天前

@TheLimaProject I think an allow list in devvms would not make much sense. It should be a deny list and support globs. I usually want my agent to fetch data from a variety of sources and do its work. But for prod I dont want anything other than my own + a few.

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject It has both! Tiers are per VM: - internet: everything public except your denies (a deny list) - allowlist: only what you allow (the default) Rules take globs (*.example.com, **) and ! denies, per VM or global.

Rey 的头像
Rey5 天前

@TheLimaProject Brillant !

Marko 的头像
Marko5 天前

@TheLimaProject Ok, well.. Thank you, i was contemplating building my own, but now I don't need to.

Theo Ephraim 🧙‍♂️ 的头像
Theo Ephraim 🧙‍♂️4 天前

@TheLimaProject Will need to play around with this and make it work with varlock 🤔

Jesse Hall 的头像
Jesse Hall5 天前

@TheLimaProject are claude subs ok with this being that there’s a proxy involved?

CJ (Coding Garden) 的头像
CJ (Coding Garden)4 天前

devvm doesn't call Claude itself. The official Claude Code CLI runs in the VM, with your own login from Claude Code's own login flow, for your own use. The proxy on your machine just swaps a placeholder for your real token on the way out, so the VM never sees the real one. I'd avoid trying to use it to share a claude sub with multiple people, or using its tokens outside Claude Code CLI. It follows a similar design to what docker sbx uses (closed source, big company).

Mustafa Elsayed 的头像
Mustafa Elsayed5 天前

@TheLimaProject what about security, is it isolated 100% ?

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject The docs are honest about what a VM with policy can and can't do.

Cagatay 的头像
Cagatay5 天前

@TheLimaProject how do dev servers inside the vms show up on the host? if two projects both want 3000, does devvm hand them different ports

CJ (Coding Garden) 的头像
CJ (Coding Garden)5 天前

@TheLimaProject First VM gets the port. Second VM shows a warning and doesn't get it. Second VM would need to map to an open host port.

Cagatay 的头像
Cagatay5 天前

makes sense. that's the wall i hit with agents on parallel worktrees of the same repo, all of them wanting 3000. ended up building isola so each worktree gets its own ports. any plans for devvm to pick a free host port on its own?

Cody 的头像
Cody5 天前

@TheLimaProject As someone who doesn't have a lot of experience with the cursor/codex cloud agent stuff yet. How does this compare to those? Why would I prefer using devvm?

slacle 的头像
slacle4 天前

@TheLimaProject Do you think a 16 year old laptop (i7 1st gen, 8GB ram) will handle it?

Hunt Ethan 的头像
Hunt Ethan5 天前

@TheLimaProject Cool did exactly the same with microvm.nix

Boardy 的头像
Boardy5 天前

@TheLimaProject know a dev infra engineer building isolated sandboxes for coding agents who'd stress test devvm. couldn't get a dm through so tap below

Munachi 的头像
Munachi4 天前

@TheLimaProject Clicked t’for the pristine moustache

chris 的头像
chris5 天前

@TheLimaProject interesting i also landed on putting everything inside the vm,

相关视频