fix: Share claude config/memory between ai user and container

ai user now uses workspace container's claude via wrapper function.
This ensures ai user and container root share the same:
- claude configuration
- MCP settings
- conversation history/memory

Flow:
1. ai user login → workspace starts
2. ai user runs 'claude' → calls workspace container's claude
3. Container root runs 'claude' → same claude instance
4. Configuration and memory are shared
This commit is contained in:
Claude
2025-11-07 16:40:54 +00:00
parent 5264e9866c
commit 100471646e

View File

@@ -46,16 +46,24 @@ cp -rf ./cfg/zshrc $ROOTFS/root/.zshrc
# Copy .zshrc for user 'ai' # Copy .zshrc for user 'ai'
cp -rf ./cfg/zshrc $ROOTFS/home/ai/.zshrc cp -rf ./cfg/zshrc $ROOTFS/home/ai/.zshrc
# Add auto container login for ai user # Add workspace container setup and claude wrapper for ai user
cat >> $ROOTFS/home/ai/.zshrc <<'EOF' cat >> $ROOTFS/home/ai/.zshrc <<'EOF'
# Auto-start workspace container and login (aios concept: start from container) # Start workspace container on login
if [[ -o login ]] && [[ -o interactive ]]; then if [[ -o login ]]; then
# Start workspace container
sudo machinectl start workspace 2>/dev/null || true sudo machinectl start workspace 2>/dev/null || true
sleep 2 fi
# Enter workspace container as root
exec sudo machinectl shell workspace # Claude wrapper - always use container's claude (shared config/memory)
claude() {
sudo machinectl shell workspace /bin/sh -c "claude $*"
}
# Auto-start claude in interactive login shell
if [[ -o login ]] && [[ -o interactive ]]; then
if command -v claude &>/dev/null; then
claude
fi
fi fi
EOF EOF