feat: sessions ui#620
Conversation
droot
left a comment
There was a problem hiding this comment.
Did a first pass. But it is looking in great shape, will take a deeper look later today.
So glad to see this coming together.
|
|
||
| if opt.NewSession || opt.ResumeSession != "" { | ||
| sessionManager, err = sessions.NewSessionManager(opt.SessionBackend) | ||
| sessionStore, err = sessions.NewSessionManager(opt.SessionBackend) |
There was a problem hiding this comment.
about default for opt.SessionBackend, I am guessing if one is running in a hosted mode, default should be backend that is persistent.
| var llmClient gollm.Client | ||
| if opt.SkipVerifySSL { | ||
| llmClient, err = gollm.NewClient(ctx, opt.ProviderID, gollm.WithSkipVerifySSL()) | ||
| var recorder journal.Recorder |
There was a problem hiding this comment.
I am curious about the role of recorder in a multi-user hosted setup. Haven't thought too deeply about it.
| kubectl apply -f k8s/sandbox/all-in-one.yaml | ||
| ``` | ||
|
|
||
| The sandbox manifest provisions the `computer` namespace and the `normal-user` service account used for sandbox pods. The Deployment manifest expects the `kubectl-ai` namespace to exist ahead of time. |
There was a problem hiding this comment.
I think figuring out IAM permissions for the sandbox pod for an agentic session will be interesting.
| Copy `k8s/kubectl-ai-gke.yaml` to a working file and edit the following sections: | ||
|
|
||
| 1. **Container image** – replace the `REPLACE_WITH_YOUR_IMAGE` | ||
| 2. **Gemini API key** – change `REPLACE_WITH_YOUR_GEMINI_API_KEY` to the key you obtained from Google AI Studio |
There was a problem hiding this comment.
Lets add a TODO for using vertexai here and use workload identity to use vertexai for LLM calls.
droot
left a comment
There was a problem hiding this comment.
Thanks for addressing the feedback. Its looking good.
High Level: Added support for hosting kubectl-ai on a GKE cluster.
Introduced an Agent Manager and SessionManger which enables us to have an Agent per session in the UI. Each Agent get the same global instance of the store.
New web ui looks like this:
