docs: mascot before each section heading in tutorial docs

This commit is contained in:
2026-07-17 21:44:15 +08:00
parent 706700ba8e
commit 0164e1cc12
8 changed files with 108 additions and 16 deletions

View File

@ -1,11 +1,11 @@
**中文** | [English](../zh/ADAPTER.md)
<img src="../../branding/mascot-xiaozhai.webp" width="20" style="border-radius:50%;vertical-align:middle"> :
# Lua Adapter — LLM Source Adaptation Guide
Each LLM API source corresponds to a Lua script, responsible for request transformation (Go unified format → API format) and response transformation (API format → Go unified format).
<img src="../../branding/mascot-xiaozhai.webp" width="20" style="border-radius:50%;vertical-align:middle"> :
## Adapter Contract
The Lua script must return a table containing the following fields and functions:
@ -45,6 +45,8 @@ end
return adapter
```
<img src="../../branding/mascot-xiaozhai.webp" width="20" style="border-radius:50%;vertical-align:middle"> :
## Unified CompletionRequest Format (Go → Adapter)
```json
@ -63,6 +65,8 @@ return adapter
}
```
<img src="../../branding/mascot-xiaozhai.webp" width="20" style="border-radius:50%;vertical-align:middle"> :
## Unified CompletionResponse Format (Adapter → Go)
```json
@ -76,6 +80,8 @@ return adapter
}
```
<img src="../../branding/mascot-xiaozhai.webp" width="20" style="border-radius:50%;vertical-align:middle"> :
## Lua VM Built-in Functions
`json.encode(table)` — Encode Lua table to JSON string
@ -88,6 +94,8 @@ return adapter
`http_post(url, body)` — Perform HTTP POST request, returns response body as string
<img src="../../branding/mascot-xiaozhai.webp" width="20" style="border-radius:50%;vertical-align:middle"> :
## Adapting Typical APIs
| API | endpoint | auth method | Format differences |
@ -101,6 +109,8 @@ return adapter
| **GitHub Models** | `/chat/completions` | `Authorization: Bearer <pat>` | OpenAI compatible |
| **Ollama** | `/api/chat` | None | Different options format |
<img src="../../branding/mascot-xiaozhai.webp" width="20" style="border-radius:50%;vertical-align:middle"> :
## Steps to Add a New Source
1. Create `<name>.lua` under `internal/lua/adapters/`