Skip to content

Support dynamic environments without restarting eca (i.e. inherit ENV from each chat's ENV) #466

@nico202

Description

@nico202

To upvote this issue, give it a thumbs up. See this list for the most upvoted issues.

Description

I use eca with eca-emacs inside virtual environments managed by guix/nix + direnv (envrc in Emacs). These environments have limited software (e.g., gcc might be missing) and custom environment variables.

Problems encountered

  1. The environment depends on the first run of eca. If I start eca in an environment without gcc, then gcc is not available in other chats, even if those chats are opened later in environments that do have gcc.

  2. No way to update the environment without killing all sessions. To change the environment, I have to kill all eca sessions and restart it in the correct environment.

Proposed solution

Send, alongside user messages, the current environment variables.
When the LLM invokes a shell, it should be executed with the environment provided by the user at the time of the message. The editor plugin should send the environment when configured to do so.

This should probably be opt-in, either via config or per session.

Questions for the community

  • Are there security implications to consider?
  • How are other users handling dynamic environments with eca?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions