aiGuide
Working with Google Docs.
Setting up Google Docs
First Port of Call
Ask Mark now treats a Google Drive folder of Docs as the first place to look for answers. The plugin version is 1.4.19.
The persona prompt is unchanged. When the cache has Docs, chat adds a second system message after it: prefer that material, and if it does not cover the question, say so briefly, then use broader knowledge. The shortcode and the REST chat route both go through that same Grok request. An empty cache leaves chat on general knowledge.
AI Guide → Settings → Knowledge folder
• Paste a folder link or a folder ID. Saving stores the ID. A bad link is kept out of the settings and reported on the page.
• Paste a service account JSON key, or leave it blank to keep the current one. The key is not shown again.
• The page shows the last sync time, the Doc count, and any sync error.
• Sync now fills the cache. An hourly cron repeats it. Docs removed from the folder are dropped on the next successful sync. A failed sync keeps the previous cache. Changing or clearing the folder clears the cache immediately.
There is no Google credential in this plugin today, so v1 uses a service account with the Drive API enabled and the read-only Drive scope. Share the folder with the service account email as Viewer. To keep the key out of the database, set one of these in wp-config.php instead of pasting it (the constant wins):
• AIGUIDE_GOOGLE_SERVICE_ACCOUNT_JSON — the JSON text
• AIGUIDE_GOOGLE_SERVICE_ACCOUNT_PATH — a path to the JSON file outside the web root
v1 reads Google Docs that sit directly in that folder. Subfolders, PDFs, and Sheets are not included. Each request is capped at about 60,000 characters of Doc text; the full text stays in the cache.
Admins can inspect the cache at GET /wp-json/aiguide/v1/knowledge. Add ?include_text=1 to include the exported text.
I could not run Sync now or a live question from this workspace, because it is the plugin only and has no Drive folder or service account. Folder-link parsing, the service-account JSON check, and the knowledge message built from a cached Doc were checked here.