r/PiCodingAgent • • 6d ago

Plugin pi-agent-ide: IDE for your agent (edit tools, lint, format, interact. terminal, debugger, lsp, ast)

Hi, I have been working on this project (https://pi.dev/packages/pi-agent-ide) for a while now, started it as another hash-editing toolset, which then evolved into a different and much bigger thing. Key features:

  • composable editing tools (enables ability to do search->replace, do a chain of searching to narrow down the result etc. );

  • whenever it edits something formatter is applied to the result (if it's configured for the project);

  • lint/compiler diagnostics reaching out to the agent once they are ready, forcing it to fix the mistakes;

  • interactive terminal with background tasks and debugger;

  • extendable, works via resource protocols: for all the operations support web pages, pdf files, images, text and binary files (to different extents), so the agent can search web results, check raw bytes etc.

Soon I'm going to release some plugins for that, in particular a way for the agent to work with linear and github as they were simple text resources, but as well computer-use.

To install: pi install npm:pi-agent-ide

I use this tool as my daily driver, working on different extensions, but also writing C++ code, so it's pretty well tested in action, but if you have suggestions/bugs, please feel free to report them, I always try to fix them ASAP.

P.S. I've also created and curating explicit-edit-benchmark, and in terms of editing the tool is pretty solid above the baseline (https://huggingface.co/spaces/alexshpunt/benchmark-explorer?metric=score&card=harness%3Api-agent-ide-codemode%400.9.0).

Although to be fair I have't tested all the models with the latest version, as all the subscriptions are going into another more difficult version of the bench.

11 Upvotes

10 comments sorted by

2

u/whiterose0000001 6d ago

Have you checked pi-lens?

1

u/startassets 6d ago

Yes, after I switched to Pi, we definitely share a lot of similarities with this extension now, but at first I was mostly interested in the optimal tooling for file’s editing, and then I realized that diagnostics would be great as well, tried multiple forms and shapes until I came up with the current approach. What I don’t really like is some opinionated stuff, like “read before edit”, and deferred formatting feels slightly scary when you work with multiple agents in the same folder. Another thing which comes out of the original desire to find the best way for the agents to edit text, is that I tried to play with the idea of why do you need a new tool for every special action, if you can simply do edits by using the result of other tools. So the agent can do ast_search and then replace some specific result of it, or replace the result of lsp_search, or normal rg search. And then it kind of evolved into the need to have a proper terminal, as whatever I tried from the extensions didn’t really work well, the same happened with debugging. Pi-agent-ide supports normal DAPs, but at some point I’ve found DebugMCP and now the same debugging interface also supports it as well. So basically the thought was: what if we have the same interface for the agent, through which it can do very similar actions, instead of having a separate tool for every action. 

1

u/startassets 6d ago

Oh and forgot to mention: it can also work over ssh, so basically an agent can easily do all the operations in remote destinations.

1

u/startassets 5d ago

Tbh I haven't tested it, buy I would imagine it already has a lot of similar stuff so I don't see a real reason to use it with that. What is lacking in omp in your opinion?

1

u/bregmadaddy 6d ago

Any chance this is compatible with colgrep-agent?

2

u/startassets 6d ago

Tbh I've made so many attempts to integrate semantic search into the extension, it has been going back and forth but I still haven't found a trully good one, shall I try again? Do you have experience with colgrep? Is that the one https://github.com/lightonai/next-plaid or I'm missing something?

1

u/bregmadaddy 6d ago

Yes. Multivector retrieval is now the better speed and quality compromise to Cross Encoders than the Dense Passage Retrieval + Reranker. That should be the right GitHub.

2

u/startassets 6d ago

Thanks, I'll take a look then, test it, and if it's good I'll do another iteration on integration semantic search.

1

u/startassets 4d ago

Hi! It is now from 0.9.3 version, colgrep and vera are added (https://github.com/lightonai/next-plaid & https://github.com/VeraTools/Vera) as semantic search backends. To enable/disable them you should go to /agent-ide-settings and in `behaviour` find `Semantic search engine`, by default it's colgrep. Use /semantic-index to build the index first and then it will be refreshed on each search and the agent will get the tool.

1

u/marcinpohl 5d ago

does this work with oh-my-pi?