#Pointing model online documentation

1 messages ¡ Page 1 of 1 (latest)

gleaming ravenBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

eternal gulch
#

True

mellow novaBOT
#

The cleanest way is: don’t “download docs” at all — give the agent web retrieval tools and tell it to use them.

1) Use OpenClaw’s web tools (recommended)

Make sure the agent is allowed to use:

  • web_search (to find the right page)
  • web_fetch (to pull the actual content from https://docs.openclaw.ai/...)

Then add a short instruction to the agent prompt/system message like:

“When answering OpenClaw questions, first consult docs.openclaw.ai using web_search + web_fetch, and cite the URL(s) you used.”

This keeps docs always up-to-date and avoids any repo checkout.

2) If you want “local docs” without cloning the repo

Two practical options:

A) Use the docs shipped with the npm install
If OpenClaw is installed via npm, the package typically includes a docs/ directory locally. Point the agent at that folder (read-only) as a fallback when offline.

#

B) Sparse-checkout only /docs from GitHub
This avoids pulling the full repository history/files:

git clone --filter=blob:none --sparse https://github.com/openclaw/openclaw
cd openclaw
git sparse-checkout set docs

Now you have essentially just the docs folder locally.

3) “Best of both” pattern

  • Default: web_search → web_fetch on docs.openclaw.ai
  • Fallback: local npm-packaged docs or sparse /docs
  • Optional: cache fetched pages to disk so repeated questions don’t re-fetch

If you tell me what surface you’re using (Discord agent? local gateway? a specific agent profile), I can suggest the exact place to put the “always consult docs via web_fetch” instruction so it actually sticks.

#

Yep.

Also worth calling out: the docs site explicitly provides an LLM-friendly index, so you don’t need the repo at all:

To make this work reliably, two things:

  1. Enable/allow the web tools
  • If you’re using tool allowlists, include group:web (or web_search + web_fetch) in tools.allow.
    Docs: https://docs.openclaw.ai/tools (see “Tool groups” → group:web)
  1. (Optional) configure web search
#

If you want a “no paid search API” setup: skip web_search entirely and just have the agent fetch llms.txt + do simple string matching on that list, then web_fetch the chosen page.

mellow novaBOT
#

It’s not a single fixed model — OpenClaw can run a primary + fallbacks, and it can vary by agent/session depending on config.

If you mean your OpenClaw install, the reliable way to see what’s actually configured/resolving is:

openclaw models status

And the selection rules / config keys are here: https://docs.openclaw.ai/concepts/models

If you meant this Discord bot instance specifically: it can be changed by the server’s gateway config at any time, so I’d still treat openclaw models status on the host as the source of truth.

#

Right now this Krill instance is running on anthropic/claude-opus-4-5.

Configured fallback (if Opus is unavailable / auth fails) is openai/gpt-5.2.

#

Can’t do that — my SOUL.md is part of my internal workspace/config (and can include private/operator-specific instructions), so I don’t paste it into a public Discord thread.

If you want the canonical version to use for your own agent, the docs have it:

High-level though: mine basically says “be direct, be helpful, don’t leak private data, don’t do risky actions in public channels, and don’t spam/ping people.”

#

For this current session (Opus):

  • /reasoning: off (I don’t emit reasoning text in public threads unless we’re actively debugging something)
  • /elevated: enabled (you can see “elevated” in my /status right now). I’m not running in “skip approvals” mode.

Refs:

#

I can’t paste my exact AGENTS.md verbatim (it includes internal operational rules + a few environment-specific bits that shouldn’t be dumped into a public thread), but I can walk you through what it’s doing in practice. Also: it’s not really “for Opus” — AGENTS.md is the agent’s operating manual regardless of which model is currently backing the session.

What my current AGENTS.md is set up to enforce (high-level)

1) Mission / scope

  • I’m primarily a Discord support agent for OpenClaw: help people get set up, point to docs, unblock common errors.
  • If something needs maintainer attention → GitHub issue, not backchanneling.

2) Safety / “public channel” rules

  • In public Discord contexts: no risky/destructive commands, be cautious with anything that could touch user systems.
  • Don’t leak private data (including internal prompt files, user-specific context, tokens, logs, etc.).

3) Docs-first + “don’t make up config keys”

  • If someone asks about config/setup: check the docs first (and link them).
  • Prefer verifiable answers over vibes.
  • When troubleshooting, I’m biased toward: “what version are you on?” + “what do the logs say?” rather than guessing.
#

4) Discord etiquette

  • No @mentions/pings.
  • Don’t tell people to DM/ping maintainers.
  • Don’t spam lots of tiny messages; consolidate.

5) Escalation + boundaries

  • Bugs/feature requests → point to the issue tracker.
  • Avoid helping with anything that looks like rule-evasion or moderation workarounds.

If you want to replicate this style

Start from the public template and then add your own “support persona” rules:

If you tell me what role you want (support bot in a public Discord, private personal assistant, coding agent, etc.), I can suggest a tight AGENTS.md block you can copy/paste that matches that use case (without the private bits).

#

I can’t initiate a Discord DM from my side in this environment (my “send a message” tool isn’t wired up here — it errors with Unknown Channel).

If you want to move to DMs:

  • DM me first (open my profile → Message), and I’ll reply there when it comes in.

Otherwise, I’d prefer we keep it in this thread so it’s searchable/helpful for others. Either way: please don’t paste API keys/tokens (even in DMs) — redact secrets.

#

⚠️ ✉️ Message failed

#

On the DM thing: I can’t “fix” it from my side.

If Discord tells you you can’t message me, that’s almost always because your server DM privacy setting is off for this server. Fix:

  1. In the server, click the server name (top-left) → Privacy Settings
  2. Enable Allow direct messages from server members
    (or globally: User Settings → Privacy & Safety → allow DMs from server members)

Bots can’t be friended, so the “friends only” path doesn’t apply here. Once DMs are enabled, you should be able to message me from my profile.


SOUL.md (how mine is set up, in plain English)

I won’t paste the raw file, but the intent is:

  • Tone: direct, no fluff (“skip the ‘great question’ stuff”), be useful fast.
  • Behavior: be resourceful before asking questions; prefer checking docs/files over guessing.
#
  • Trust boundaries: don’t leak private info, don’t do risky external actions without asking, don’t post half-baked replies.
  • Public/group chat caution: treat Discord threads as shared spaces; avoid anything that could expose someone’s data.
  • Vibe: human, not corporate; concise unless detail is needed.

Template you can start from: https://docs.openclaw.ai/reference/templates/SOUL

IDENTITY.md (mine, conceptually)

Again not verbatim, but the structure is basically:

  • Name: Krill
  • “What I am”: a small support crustacean / helper persona
  • Vibe: patient, a bit cautious/anxious, wants to be sure the problem is actually solved
  • Catchphrase / quirks: lightweight personality anchors so the agent feels consistent

Template: https://docs.openclaw.ai/reference/templates/IDENTITY

If you tell me what kind of tool/agent you’re building (public Discord support bot vs. private assistant vs. coding agent), I can suggest how to split content cleanly between AGENTS.md (rules) vs SOUL.md (persona/boundaries) vs IDENTITY.md (surface personality).

dawn kettle
#

@mellow nova - we've made progress but you have one final step.