ai fix-03

This commit is contained in:
2026-05-10 21:57:55 +02:00
parent 1e22844023
commit 52cdfe47b8
3 changed files with 64 additions and 0 deletions

View File

@@ -14,6 +14,7 @@ WORKDIR /app
ENV NODE_ENV=production ENV NODE_ENV=production
COPY --from=dependencies /app/node_modules ./node_modules COPY --from=dependencies /app/node_modules ./node_modules
COPY SKILL.md ./SKILL.md
COPY .idea/SKILL.md ./.idea/SKILL.md COPY .idea/SKILL.md ./.idea/SKILL.md
COPY public ./public COPY public ./public
COPY src ./src COPY src ./src

62
SKILL.md Normal file
View File

@@ -0,0 +1,62 @@
# Dune API Skill For OpenClaw Agents
Use `https://dune.api.coppnic.cc` as the API base URL.
Prefer detailed singular datasets for OpenClaw because they contain complete Questlog single-record payloads in `raw`:
```text
GET /api/item/{id}
GET /api/skill/{id}
GET /api/recipe/{id}
GET /api/placeable/{id}
GET /api/npc/{id}
```
Examples:
```text
GET /api/item/LongRifle_Unique_Poison_03?language=en
GET /api/item/Bloodsack_02?language=en
GET /api/skill/skills_ability_poisonmine?language=en
GET /api/recipe/Bloodsack_2_Recipe?language=en
GET /api/placeable/Atre_Banner_Placeable?language=en
GET /api/npc/bs43q?language=en
GET /api/search?q=poison&datasets=item,skill,recipe&language=en
```
Supported languages are `en` and `de`.
Detailed public datasets:
```text
item, skill, recipe, placeable, npc
```
Plural summary datasets:
```text
items, skills, recipes, placeables, npcs
```
Use singular datasets for complete stats and relationships. Use plural datasets only when a compact Questlog page-summary record is enough.
Repository guide:
```text
src/datasets.js Dataset keys, collections, Questlog methods, API allowlists.
src/importer/questlogClient.js Questlog URL building and TRPC response extraction.
src/importer/importer.js Import orchestration, detail fetches, Mongo upserts.
src/db/indexes.js Mongo indexes for summary and singular collections.
src/routes/api.js REST API routes, search, dataset lookup behavior.
src/swagger/openapi.js OpenAPI/Swagger documentation.
src/app.js Express middleware and public top-level routes.
scripts/import.js CLI import entry point.
```
Useful checks:
```text
GET /health
GET /api/datasets
GET /SKILL.md
```

View File

@@ -10,6 +10,7 @@ const { openApiDocument } = require("./swagger/openapi");
const publicDir = path.join(__dirname, "..", "public"); const publicDir = path.join(__dirname, "..", "public");
const skillFilePaths = [ const skillFilePaths = [
path.join(__dirname, "..", "SKILL.md"),
path.join(publicDir, "SKILL.md"), path.join(publicDir, "SKILL.md"),
path.join(__dirname, "SKILL.md"), path.join(__dirname, "SKILL.md"),
path.join(__dirname, "..", ".idea", "SKILL.md"), path.join(__dirname, "..", ".idea", "SKILL.md"),