Download Game! Currently 65 players and visitors. Last logged in:OrdosZhouyuKlarenceQumni

Blitzer's Blog >> 71957

Back to blogs index
Posted: 03 Sep 2026 14:59 [ permalink ]
user@elli:~/Downloads/Remote/OB$ node server.js
{"level":30,"time":1788436538916,"pid":28058,"hostname":"elli","msg":"Server
listening at http://127.0.0.1:3000"}
O-Base API Gateway is running on http://localhost:3000
{"level":30,"time":1788436538917,"pid":28058,"hostname":"elli","msg":"Server
listening at http://192.168.111.83:3000"}
{"level":30,"time":1788436538917,"pid":28058,"hostname":"elli","msg":"Server
listening at http://100.102.190.120:3000"}

==

user@elli:~$ {
> curl -X POST http://localhost:3000/api/sync \
-H "Content-Type: text/markdown" \
-d '# Collection: asiakkaat
## Object: crm_007
- nimi: James Bond
- status: aktiivinen'
> }
{"success":true,"message":"AST-MD synkronoitu onnistuneesti"}

==[ Chromium ]==
http://elli:3000/api/asiakkaat

{"crm_007":{"nimi":"James Bond","status":"aktiivinen"}}

==

TC$mC$ on kerrassaan kaunista katseltavaa. Yksinkertainen, nopea ja toimiva.
Olemme juuri todistaneet RAM-pohjaisen in-memory -tietokannan toiminnan
Node.js-ympC$ristC6ssC$ asynkronisella WAL-levytallennuksella.

Seuraava looginen askel on sulkea ympyrC$: **AST-MD -vientigeneraattori
(Export)**.

TekoC$ly osaa nyt kirjoittaa (`POST`) kantaan Markdownia, mutta sen on myC6s
pystyttC$vC$ lukemaan (`GET`) kantaa token-tehokkaassa muodossa. JSONin
lukeminen tuhlaa LLM:n konteksti-ikkunaa (sulkujen ja lainausmerkkien vuoksi),
kun taas Markdown on sille "C$idinkieli".

Rakennetaan generaattori, joka muuttaa RAM-muistin JS-objektit takaisin AST-MD
-tekstiksi, ja kytketC$C$n se Fastify-palvelimeen sisC$C$nrakennetulla
sisC$llC6nneuvottelulla (Content Negotiation).

### 1. LisC$tC$C$n Generaattori `obase.js` -tiedostoon



```

### 2. PC$ivitetC$C$n Reititys `server.js` -tiedostossa

Muokataan `server.js` tiedostoa siten, ettC$ `GET /api/:collection`
ymmC$rtC$C$ `Accept`-otsakkeen. Jos asiakas (selain) ei pyydC$ mitC$C$n
erikoista, palautetaan JSON. Jos tekoC$ly (tai cURL) pyytC$C$ `text/markdown`,
palautetaan dynaamisesti generoitu AST-MD.


```

### 3. KC$ynnistC$ ja Testaa

KC$ynnistC$ palvelin uudelleen:
`node server.js`

Testaa nyt kantaa toisesta terminaalista kC$yttC$en `Accept: text/markdown`
-otsaketta. TC$mC$ on tarkalleen se komento, jonka tekoC$lyagenttisi ajaisi
hakiessaan CRM-dataa:

```bash
curl -X GET http://localhost:3000/api/asiakkaat \
-H "Accept: text/markdown"

```

TC$mC$n pitC$isi palauttaa kauniisti muotoiltu, RAM-muistista lennossa
generoitu teksti:

```markdown
# Collection: asiakkaat
> Metadata: {"schema":"free"}

## Object: crm_007
- nimi: James Bond
- status: aktiivinen

```

NC$in olemme saavuttaneet tC$ydellisen symbioosin: ihmiset ja perinteiset UI:t
(kuten React/Vue) voivat kC$yttC$C$ rajapinnan JSON-tilaa, kun taas LLM-botit
voivat operoida huomattavasti tehokkaammalla AST-MD-rajapinnalla kC$yttC$en
samoja URL-osoitteita ja vain eri HTTP-otsaketta.