-
[Plugin] [Support] Unraid Tab for AI CLI Coding agents (Antigravity CLI, Gemini CLI, Claude Code, OpenCode, Kilo Code, Pi Coder, Codex CLI, Factory Droid CLI, CoPilot, Nano Coder, Qwen Coder, Goose)
Hi John, Following up on the agent support, I also ran into two issues regarding the new Antigravity CLI ( agy ) command-line integration and credential persistence over SSH: ### 1. Missing SSH Integration & Shim for agy • Why it's happening: The agy agent is currently omitted from the default shell integration files. There is no agy alias in the global profile, and no proxy shim generated in /usr/local/bin . • The Fix: • In src/scripts/installer/runtime.sh : Add the create_proxy call for the Go binary: create_proxy "agy" "antigravity-cli/home/.local/bin/agy" • In src/scripts/installer/shell-integration.sh : Add the persistent-home alias: alias agy='_aicli_run /usr/local/emhttp/plugins/unraid-aicliagents/agents/antigravity-cli/home/.local/bin/agy' ────── ### 2. Keyring Persistence Failure (Credentials Not Saving to Disk) • Why it's happening: The new agy agent uses the virtual DBus Secret Service keyring to encrypt and store OAuth tokens. However, the background daemon fails to write to disk, throwing this error in the daemon log: save: write: open /tmp/unraid-aicliagents/work/root/home/.local/share/aicli-keyring/keyring.json.tmp: no such file or directory Because the OverlayFS mount shadows underlying folders, the required storage directory ( .local/share/aicli-keyring/ ) does not exist on the active mount. The keyring daemon is forced to run entirely in-memory, clearing your authentication every time the daemon or system restarts. • The Fix: Ensure the parent directories are created on the active mount in the secret-service-up.sh script (or during the home mount process) before the daemon launches: mkdir -p "$HOME_DIR/.local/share/aicli-keyring" Once these are merged, agy will be fully authenticated, persistent, and available out-of-the-box in all SSH terminal sessions! Thanks again!
-
[Plugin] [Support] Unraid Tab for AI CLI Coding agents (Antigravity CLI, Gemini CLI, Claude Code, OpenCode, Kilo Code, Pi Coder, Codex CLI, Factory Droid CLI, CoPilot, Nano Coder, Qwen Coder, Goose)
Hi John, You are doing an amazing job with this plugin, really appreciate your hard work on it! I ran into an issue when trying to install the Antigravity agent through the WebUI, which triggers this error: Fatal Error: Class "AICliAgents\Services\Sources\UrlValidator" not found Why it's happening: The plugin is currently missing an autoloader definition for subdirectories under src/includes/services/. Because UrlValidator.php lives inside a nested sources/ subfolder (src/includes/services/sources/UrlValidator.php), its namespace AICliAgents\Services\Sources isn't being registered by the flat file inclusions in the manager. The Fix: Adding a directory map fallback or explicitly globbing the subfolder inside src/includes/AICliAgentsManager.php right after InstallerService.php fixes the issue completely: PHP require_once __DIR__ . '/services/InstallerService.php'; // Load underlying source engines and validators foreach (glob(__DIR__ . '/services/sources/*.php') as $file) { require_once $file; } Additionally, a PSR-4 compliant symlink structure or folder rename from src/includes/services/sources/ to match the capitalized namespace layout (src/Services/Sources/) resolves the autoloader mismatch permanently. Thanks again for building this awesome tool!
-
[Plugin] [Support] Unraid Tab for AI CLI Coding agents (Antigravity CLI, Gemini CLI, Claude Code, OpenCode, Kilo Code, Pi Coder, Codex CLI, Factory Droid CLI, CoPilot, Nano Coder, Qwen Coder, Goose)
Also, a quick suggestion regarding Flash Drive wear: Currently, the plugin defaults the HOME directory (where .gemini history and logs are stored) to the USB flash drive. Since every chat turn writes to these files, it causes frequent writes to the flash. It would be great if the plugin settings allowed us to point the "Agent Home" to an appdata share on the array or cache instead. This would: 1. Protect the USB drive from long-term wear. 2. Improve performance when loading large chat histories. I’ve manually moved mine to /mnt/user/appdata/gemini-cli for now, but having it as a built-in option in the UI would be a fantastic feature for all Unraid users.
-
[Plugin] [Support] Unraid Tab for AI CLI Coding agents (Antigravity CLI, Gemini CLI, Claude Code, OpenCode, Kilo Code, Pi Coder, Codex CLI, Factory Droid CLI, CoPilot, Nano Coder, Qwen Coder, Goose)
Hi, I wanted to start by saying that unraid-aicliagents is a great plugin! I was able to install it and get it working right away, and I’ve really been enjoying using it. However, I did notice one small issue: the cli_help sub-agent in Gemini CLI is currently broken. When asked a question, it returns the error: "Error: Could not find Gemini CLI documentation directory." The Issue: The gemini-cli agent expects an internal docs/ directory (containing sidebar.json and markdown files) to be present relative to the aicli.mjs binary. Currently, the gemini-cli.tar.gz package in the plugin's /pkg-cache/ folder only contains the single aicli.mjs file, so the documentation is missing when the agent is deployed to RAM. The Fix: Could you please update the build process to include the docs/ folder from the Gemini CLI repository (https://github.com/google-gemini/gemini-cli/tree/main/docs) inside the gemini-cli.tar.gz archive? Including these files would allow the cli_help agent to function correctly, providing users with a built-in knowledge base for commands, MCP setup, and configuration. Thank you for the great plugin and for all your hard work!
-
Fix to a small issue with updating OCI docker images
Thanks for this fix! Is this configuration persistent ? or will have to do again after reboot ?
Sanjay
Members
-
Joined