Skip to content

Commit d760427

Browse files
committed
docs(skill): add LLM Providers section with github-copilot
Per CLAUDE.md System Skills Sync Rule — when adding a new provider type, netclaw-operations must document it for the running agent. Adds: - Route-by-intent row pointing to a new LLM Providers section - Provider management subcommand table - Supported provider types table including github-copilot - Copilot-specific 'add' / re-auth instructions Bumps metadata.version 2.5.0 → 2.6.0. CI handles publishing the manifest on release tags.
1 parent 988e4c2 commit d760427

1 file changed

Lines changed: 53 additions & 1 deletion

File tree

  • feeds/skills/.system/files/netclaw-operations

feeds/skills/.system/files/netclaw-operations/SKILL.md

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: netclaw-operations
33
description: "REQUIRED when the user asks about scheduling, reminders, cron jobs, timers, background jobs, diagnostics, troubleshooting, MCP tools, daemon health, identity updates, or Netclaw capabilities and self-maintenance."
44
metadata:
55
author: netclaw
6-
version: "2.5.0"
6+
version: "2.6.0"
77
---
88

99
# Netclaw Operations
@@ -27,6 +27,7 @@ problems, how to update preferences, or how to maintain itself.
2727
| Check health, update self | [Self-Maintenance](#self-maintenance) |
2828
| Run long shell commands in background | [Background Jobs](#background-jobs) |
2929
| Manage inbound webhooks | [Webhook Management](#webhook-management) |
30+
| Add or switch LLM provider, OAuth login | [LLM Providers](#llm-providers) |
3031
| Search backend errors, configure SearXNG | [Search Providers](#search-providers) |
3132

3233
## Project Directory
@@ -607,6 +608,57 @@ full exception internally. Exception details are **never** forwarded to Slack.
607608
| Content scan rejection | `netclaw status` scanner section; check scan config |
608609
| Inbox write failure | disk space? permissions on `~/.netclaw/sessions/`? |
609610

611+
## LLM Providers
612+
613+
Netclaw routes chat completions through configured **provider entries** in
614+
`secrets.json` / `netclaw.json`. Each entry has a logical name (operator-chosen)
615+
and a `type` (well-known identifier). Manage them with `netclaw provider`:
616+
617+
| Subcommand | Purpose |
618+
|------------|---------|
619+
| `netclaw provider list` | Show configured entries and their types |
620+
| `netclaw provider add <name> <type> [...flags]` | Add a new entry |
621+
| `netclaw provider remove <name>` | Delete an entry |
622+
| `netclaw provider rename <old> <new>` | Rename without re-authenticating |
623+
| `netclaw provider` (no args) | Interactive TUI for add/edit/delete |
624+
625+
### Supported provider types
626+
627+
| Type | Auth | Notes |
628+
|------|------|-------|
629+
| `ollama` | Endpoint only | `--endpoint http://host:11434` |
630+
| `openai` | API key **or** OAuth (ChatGPT sub) | Codex backend for OAuth path |
631+
| `openai-compatible` | API key + endpoint | Generic OpenAI-shape proxies |
632+
| `anthropic` | API key | `sk-ant-...` |
633+
| `openrouter` | API key | `sk-or-...` |
634+
| `github-copilot` | OAuth device flow only | Requires active Copilot subscription on the GitHub account |
635+
636+
### Adding GitHub Copilot
637+
638+
GitHub Copilot uses the OAuth device flow only — no API key. The operator
639+
must have an active personal Copilot subscription. From the CLI:
640+
641+
```bash
642+
netclaw provider add my-copilot github-copilot --auth oauth-device
643+
```
644+
645+
The terminal prints a user code and the URL `https://github.com/login/device`.
646+
The operator opens the URL in a browser, enters the code, and approves the
647+
Netclaw GitHub App. On success, the long-lived GitHub OAuth token is
648+
persisted to `secrets.json`. A short-lived (~30 min) Copilot API token is
649+
minted lazily on each chat request and never written to disk.
650+
651+
If a Copilot probe or chat call returns "GitHub Copilot authorization
652+
expired", the stored OAuth token has been revoked. The remediation is:
653+
654+
```bash
655+
netclaw provider remove my-copilot
656+
netclaw provider add my-copilot github-copilot --auth oauth-device
657+
```
658+
659+
The token is **not** auto-cleared on 401 — the operator retains visibility
660+
into the failing credential until they explicitly remove the entry.
661+
610662
## Search Providers
611663

612664
The `web_search` and `web_fetch` tools route through one configured search

0 commit comments

Comments
 (0)