Skip to content

Plugin system with specialisation recipies #4

Description

@dave1010

Plugins would allow:

  • Changing the system prompt. Eg "you are a git command line helper"
  • adding additional environment information. Eg "git status"
  • modifying the user's prompt

Plugins could be activated at run time. TBC:

  • Manually like --plugin git, @git or similar
  • Automatically, with a regex
  • By the LLM, either in a separate pass: "are any of these plugins relevant..." or giving the LLM the option "if you're unable to respond confidently then pick a plugin instead"
  • Embeddings and a vector database

UX needs to be seamless and quick, without slowing down the response

Implementation:

  • Ideally just a JSON file
  • easy to be customised (eg add a plugin repo on $HOME)

Plugin ideas:

  • git, GitHub cli
  • Todo.txt
  • Jira cli or other cli tools
  • Frameworks (eg Symfony)
  • editor, which encourages use of sed, etc
  • Clipea, which gets it to manage itself
  • general, which makes it a general assistant, so you can ask anything (maybe this gets its own shell alias)
  • docker, which tells it context like ps or presence of docker compose
  • net, which gives it ip/route/DBs info. Not sure if useful
  • web, which tells it which web scraping tools to use
  • history. Take a look at recent she'll history
  • different llm models
  • explanation mode that explains commands and their flags

Plugins would need to prove their worth. They'd only be useful if they performed better than the base setup

Recipies are only useful if they

  • save typing a long prompt
  • can't be replicated by something simple on the shell, like "ls | clipea"
  • solve common problems
  • it should be easy to test whether a recipe is needed / effective by comparing performance to when it's disabled

Consider security, especially if they're automatic and pull in more environment info.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions