2026-01-18 17:42:12 +09:00
2026-01-18 17:28:14 +09:00
2026-01-18 17:28:14 +09:00
2026-01-18 17:42:12 +09:00
2026-01-18 17:42:12 +09:00
2026-01-18 17:28:14 +09:00
2026-01-18 17:28:14 +09:00
2026-01-18 17:28:14 +09:00
2026-01-18 17:28:14 +09:00
2026-01-18 17:28:14 +09:00
2026-01-18 17:31:04 +09:00
2026-01-18 17:28:14 +09:00
2026-01-18 17:28:14 +09:00

ailog

ATProto blog CLI

Install

$ cargo build --release
$ cp target/release/ailog ~/.cargo/bin/

Setup

$ vim public/config.json
$ npm run build

Commands

login (l)

Login to ATProto PDS.

$ ailog login <handle> -p <password> [-s <server>]
$ ailog l user.bsky.social -p mypassword
$ ailog l user.syu.is -p mypassword -s syu.is

post (p)

Post a record to collection.

$ ailog post <file> -c <collection> [-r <rkey>]
$ ailog p ./post.json -c ai.syui.log.post
$ ailog p ./post.json -c ai.syui.log.post -r 3abc123

get (g)

Get records from collection.

$ ailog get -c <collection> [-l <limit>]
$ ailog g -c ai.syui.log.post
$ ailog g -c ai.syui.log.post -l 20

delete (d)

Delete a record from collection.

$ ailog delete -c <collection> -r <rkey>
$ ailog d -c ai.syui.log.post -r 3abc123

sync (s)

Sync PDS data to local content directory.

$ ailog sync [-o <output>]
$ ailog s
$ ailog s -o ./public/content

lexicon

Update lexicon schema.

$ ailog lexicon <file>
$ ailog lexicon ./lexicons/ai.syui.log.post.json

gen

Generate lexicon code from ATProto lexicon JSON files.

$ ailog gen [-i <input>] [-o <output>]
$ ailog gen
$ ailog gen -i ./repos/atproto/lexicons -o ./src/lexicons

lang

Translate content files using LMS.

$ ailog lang <input> [-f <from>] [-t <to>]
$ ailog lang ./post.json
$ ailog lang ./public/content -f ja -t en

Requires .env:

TRANSLATE_URL=http://127.0.0.1:1234/v1
TRANSLATE_MODEL=plamo-2-translate
Description
No description provided
https://syui.ai
Readme 159 MiB
Languages
Rust 43.3%
TypeScript 41.4%
CSS 14.4%
HTML 0.9%