-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Motivation
Currently, applying the fully automated AI coder is very unreliable and feasible to be adopted in massive industry production. So I want to integrate my neovim with the lightweighted and highly interactive AI assistance.
Philosophy
- Keep it as simple as possible, evolve it. Add AI technology evolves. Learn from the bit lesson of Avante.
- Minimize the intervention to my usual coding as much as possible since the special intelligence help is not always stable.
Scenerios
- Implement based on pseudocode.
- Fix problem on the basis of comment instruction.
- Provide Hazard Check and Suggestions for the selected code.
To put it simple, just select the region of code, query the artificial intelligence and edit the piece of code.
Demos
- Extmark region shifting.
- Openrouter LLM query.
- Keymaps & configurations.
- Buf local pending modifications.
- Highlight color shifting.
- Floating buffer gathering informations and display.
Features: v0: implementation based on the other plugin
Finished.
Features: v1: implementation of the core functionality
Just rely on the assumption that we are working on very fast model that we are going to edit in sync mode.
- Interaction and appearance.
- Marks to indicate the generation working progress
- Keymaps to stop generation. Keymaps to discard/accept pending changes and retry.
- Core feature: Select, Added and Replacement.
- Interaction with artificial intelligence model.
- Templating, prompting, and the result parsing.
- Fault tolerance and timeout control.
- Timeout configuration.
- Retry keymap and automatic retry.
- Observability and benchmark.
- Just set up benchmark mode and gave some test cases to run on.
- This benchmark should focus on the stability and the capacity of each model following the rules we gave them, rather than how wise or how deep their understanding toward code is.
- In order to simplify this experiment, instead of using some very complex test cases to benchmark, use some very fixed and easy to understand test cases and compare the results with the correct answers automatically, possibly with git diff.
- Set a dashboard to display the results.
- Just set up benchmark mode and gave some test cases to run on.
Feartures: v2
Introduce more facilities about asynchronous and to unleash the potential of using more powerful reasoning models that are more time wasting.
- Interaction and appearance.
- Picker to operate on edition.
- Diff mode to select and merge.
- [Optional] Marker to track the origin to be replaced.
- Floating window to track the progress.
- Reversing position from the cursor position to the region that edited by LLM.
- Floating window scrolling display.
- Pending status and resolve.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels