1
0
syui a17d2c9d66
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 13m53s
Major refactoring: HTTP client unification and project restructuring
## HTTP Client Refactoring
- Create unified HttpClient module (src/http_client.rs)
- Refactor 24 files to use shared HTTP client
- Replace .unwrap() with proper error handling
- Eliminate code duplication in HTTP requests

## Project Restructuring
- Rename package: ai → aibot
- Add dual binary support: aibot (main) + ai (compatibility alias)
- Migrate config directory: ~/.config/ai/ → ~/.config/syui/ai/bot/
- Implement backward compatibility with automatic migration

## Testing Infrastructure
- Add unit tests for HttpClient
- Create test infrastructure with cargo-make
- Add test commands: test, test-quick, test-verbose

## Documentation
- Complete migration guide with step-by-step instructions
- Updated development guide with new structure
- HTTP client API reference documentation
- Comprehensive refactoring summary

## Files Changed
- Modified: 24 source files (HTTP client integration)
- Added: src/http_client.rs, src/alias.rs, src/tests/
- Added: 5 documentation files in docs/
- Added: migration setup script

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-06 23:47:12 +09:00
2024-03-05 04:09:43 +09:00
2024-03-05 04:09:43 +09:00
2024-04-22 22:30:43 +09:00
2024-03-05 04:09:43 +09:00
2024-03-05 04:09:43 +09:00
2025-01-20 17:31:45 +09:00
2024-12-27 16:40:11 +09:00
2024-03-05 04:09:43 +09:00
2024-03-05 04:09:43 +09:00
2025-01-20 17:30:34 +09:00
2024-12-27 16:40:11 +09:00

ai bot

$ ai
$ docker run -it syui/aios ai

build

$ cargo build
$ ./target/debug/ai ai
$ ai ai -t avatar

login

# ai login $handle -p $password
$ ai l yui.syui.ai -p password

$ cat ~/.config/ai/token.toml
# ai l $handle -p $password -s $server
$ ai l ai.syu.is -p password -s syu.is

refresh

$ ai r

notify

$ ai n
$ ai n | jq .

bot

$ ai bot
command sub type link auth
/did mention, reply plc.directory/$did/log user
/card r, s, b mention, reply card.syui.ai user
/ten start, close, d, p mention, reply card.syui.ai user
/fav {cid} mention, reply card.syui.ai user
/egg {password} mention, reply card.syui.ai user
/nyan 🍬 mention, reply yui.syui.ai user
/diffusers {keyword} mention, reply huggingface.co/diffusers user
/sh {command} mention, reply archlinux.org admin
/占い mention, reply yui.syui.ai user
@yui.syui.ai /did

test

zsh

$ ./test/ai.zsh t

make

$ cargo install --force cargo-make
$ cargo make build

docker

.env

HANDLE=ai.syu.is
PASSWORD=xxx
HOST=syu.is
ADMIN=syui.syu.is
$ docker compose build
$ docker compose up -d

pds:card

# oauth(button)
[yui]ai.syui.card.verify -> [user]ai.syui.card

[yui]
$ ./target/debug/ai card-verify -i 0 -p 0 -r 0 -h syui.ai -d did:plc:uqzpqmrjnptsxezjx4xuh2mn
{"uri":"at://did:plc:4hqjfn7m6n5hno3doamuhgef/ai.syui.card.verify/3lagpvhppmd2q"}

[user]
$ ./target/debug/ai card -i 0 -p 0 -r 0 -v at://did:plc:4hqjfn7m6n5hno3doamuhgef/ai.syui.card.verify/3lagpvhppmd2q

pds:game

# oauth(play)
[yui]ai.syui.game.user -> [user]ai.syui.game

[account]
# https://at.syu.is/at/did:plc:4hqjfn7m6n5hno3doamuhgef/ai.syui.game.user/syui
    ## [rkey]
    1. echo $handle|cut -d . -f 1
    2. $handle
    3. tid
Description
No description provided
https://ai.syu.is
Readme 3.5 MiB
Languages
Rust 97.2%
Shell 1.7%
TypeScript 1.1%