ai fix-03
This commit is contained in:
@@ -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
62
SKILL.md
Normal 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
|
||||||
|
```
|
||||||
@@ -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"),
|
||||||
|
|||||||
Reference in New Issue
Block a user