An open API service indexing awesome lists of open source software.

https://github.com/noridev/ai-kor

๐Ÿ’• A bot for CherryPick-based clients
https://github.com/noridev/ai-kor

bot bot-framework cherrypick kokonect misskey nodejs

Last synced: about 1 year ago
JSON representation

๐Ÿ’• A bot for CherryPick-based clients

Awesome Lists containing this project

README

          

่—


An Ai for CherryPick. ์‚ฌ์šฉ๋ฒ•

## ์ด๊ฒƒ์— ๋Œ€ํ•œ ์„ค๋ช…
CherryPick์šฉ ํ•œ๊ตญ์–ด ๋ด‡ ์ž…๋‹ˆ๋‹ค! [๋ด‡ ์‚ฌ์šฉ๋ฒ•](./torisetu.md)

## ์„ค์น˜
> Node.js์™€ npm๊ณผ MeCab (์˜ต์…˜)[^1]์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

[^1]: ์‹์ž์ฃผ) [MeCab](https://github.com/taku910/mecab)์€ ์ผ๋ณธ์–ด ํ˜•ํƒœ์†Œ ๋ถ„์„๊ธฐ์ž…๋‹ˆ๋‹ค. ํ‚ค์›Œ๋“œ ๊ธฐ์–ต ๊ธฐ๋Šฅ์— ์“ฐ์ด์ง€๋งŒ, ์ผ๋ณธ์–ด์˜ ์š”๋ฏธ๊ฐ€๋‚˜๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋ผ ํ•œ๊ตญ์–ด์—์„œ๋Š” ๋ณ„ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋จผ์ €, ์ ๋‹นํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— `git clone` ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋””๋ ‰ํ† ๋ฆฌ์— `config.json`์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค[^2]. ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค:

[^2]: true/false์˜ ๊ฒฝ์šฐ `"` **์—†์ด** ๋„ฃ์–ด์ฃผ์„ธ์š”!

``` json
{
"host": "https:// + ๋‹น์‹ ์˜ ์ธ์Šคํ„ด์Šค URL (๋งจ ๋’ค์˜ /๋Š” ์ œ์™ธ)",
"i": "์•„์ด์จฉ์„ ๊ฐ€๋™ํ•˜๊ณ  ์‹ถ์€ ์–ด์นด์šดํŠธ์˜ API ํ‚ค",
"master": "๊ด€๋ฆฌ์ž์˜ ์‚ฌ์šฉ์ž๋ช… (์˜ต์…˜)",
"notingEnabled": "๋žœ๋ค์œผ๋กœ ๋…ธํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด false ๋ฅผ ์ž…๋ ฅ",
"keywordEnabled": "ํ‚ค์›Œ๋“œ๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ๊ธฐ๋Šฅ์„ (MeCab ํ•„์š” / ํ•œ๊ธ€ํŒ์—์„œ๋Š” ๋ฏธ์ง€์›) ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (๋น„ํ™œ์„ฑํ™”๋Š” false)",
"chartEnabled": "์ฐจํŠธ ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด false ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”",
"reversiEnabled": "์•„์ด์จฉ๊ณผ ๋ฆฌ๋ฒ„์‹œ์—์„œ ๋Œ€์ „ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (๋น„ํ™œ์„ฑํ™”๋Š” false)",
"serverMonitoring": "์„œ๋ฒ„ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (๋น„ํ™œ์„ฑํ™”๋Š” false)",
"checkEmojisEnabled": "์ปค์Šคํ…€ ์ด๋ชจ์ง€ ํ™•์ธ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (์•„๋‹ˆ๋ผ๋ฉด false)",
"checkEmojisAtOnce": "์ปค์Šคํ…€ ์ด๋ชจ์ง€ ํ™•์ธ ๊ธฐ๋Šฅ์œผ๋กœ ๊ฒŒ์‹œ๋ฌผ์„ ์ •๋ฆฌํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (์ •๋ฆฌํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด false)",
"mecab": "MeCab์˜ ์„ค์น˜ ๊ฒฝ๋กœ (์†Œ์Šค๋กœ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ, ๋ณดํ†ต /usr/local/bin/mecab)",
"mecabDic": "MeCab ์‚ฌ์ „ ํŒŒ์ผ ๊ฒฝ๋กœ (์˜ต์…˜)",
"memoryDir": "memory.json์˜ ๊ฒฝ๋กœ (์˜ต์…˜, ๊ธฐ๋ณธ๊ฐ’์€ '.'(๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฃจํŠธ์ž…๋‹ˆ๋‹ค))"
}
```

`yarn install`ํ•˜๊ณ  `yarn build`ํ•˜๊ณ  `yarn start`ํ•˜๋ฉด ๊ธฐ๋™ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

## Docker๋กœ ์‚ฌ์šฉ
๋จผ์ €, ์ ๋‹นํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— `git clone` ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋””๋ ‰ํ† ๋ฆฌ์— `config.json`์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค:
(MeCab ์„ค์ •, memoryDir ๋ถ€๋ถ„์€ ๋ณ€๊ฒฝํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค)
``` json
{
"host": "https:// + ๋‹น์‹ ์˜ ์ธ์Šคํ„ด์Šค URL (๋งจ ๋’ค์˜ /๋Š” ์ œ์™ธ)",
"i": "์•„์ด์จฉ์„ ๊ฐ€๋™ํ•˜๊ณ  ์‹ถ์€ ์–ด์นด์šดํŠธ์˜ API ํ‚ค",
"master": "๊ด€๋ฆฌ์ž์˜ ์‚ฌ์šฉ์ž๋ช… (์˜ต์…˜)",
"notingEnabled": "๋žœ๋ค์œผ๋กœ ๋…ธํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด false ๋ฅผ ์ž…๋ ฅ",
"keywordEnabled": "ํ‚ค์›Œ๋“œ๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ๊ธฐ๋Šฅ์„ (MeCab ํ•„์š” / ํ•œ๊ธ€ํŒ์—์„œ๋Š” ๋ฏธ์ง€์›) ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (๋น„ํ™œ์„ฑํ™”๋Š” false)",
"chartEnabled": "์ฐจํŠธ ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด false ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š”",
"reversiEnabled": "์•„์ด์จฉ๊ณผ ๋ฆฌ๋ฒ„์‹œ์—์„œ ๋Œ€์ „ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (๋น„ํ™œ์„ฑํ™”๋Š” false)",
"serverMonitoring": "์„œ๋ฒ„ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (๋น„ํ™œ์„ฑํ™”๋Š” false)",
"checkEmojisEnabled": "์ปค์Šคํ…€ ์ด๋ชจ์ง€ ํ™•์ธ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™” ํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (์•„๋‹ˆ๋ผ๋ฉด false)",
"checkEmojisAtOnce": "์ปค์Šคํ…€ ์ด๋ชจ์ง€ ํ™•์ธ ๊ธฐ๋Šฅ์œผ๋กœ ๊ฒŒ์‹œ๋ฌผ์„ ์ •๋ฆฌํ•˜๋ ค๋ฉด true ๋ฅผ ์ž…๋ ฅ (์ •๋ฆฌํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด false)",
"mecab": "/usr/bin/mecab",
"mecabDic": "/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/",
"memoryDir": "data"
}
```
`docker-compose build`ํ•˜๊ณ  `docker-compose up` ํ•˜๋ฉด ๊ธฐ๋™ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
`docker-compose.yml`์˜ `enable_mecab`๋ฅผ `0`์œผ๋กœ ํ•˜๋ฉด, MeCab์„ ์„ค์น˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ ์€ ํ™˜๊ฒฝ ๋“ฑ)

## ํฐํŠธ
์ผ๋ถ€ ๊ธฐ๋Šฅ์—๋Š” ํฐํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•„์ด์จฉ์—๋Š” ํฐํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ์ง์ ‘ ํฐํŠธ๋ฅผ ์ธ์Šคํ†จ ๋””๋ ‰ํ† ๋ฆฌ์— `font.ttf`๋ผ๋Š” ํŒŒ์ผ๋ช…์œผ๋กœ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”.

## ๊ธฐ์–ต
์•„์ด์จฉ์€ ๊ธฐ์–ต์˜ ๋ณด์กด์— ์ธ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์•„์ด์จฉ์˜ ์ธ์Šคํ†จ ๋””๋ ‰ํ† ๋ฆฌ์— `memory.json`์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์˜์†ํ™”๋ฉ๋‹ˆ๋‹ค.

## ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ
- ์—ญ: [@narve@madost.one](https://madost.one/@narve), [@noridev@kokonect.link](https://kokonect.link/@noridev)
- ์‹/๊ฐ€๋ฒผ์šด ์ปค์Šคํ…€: [@chocologic@madost.one](https://madost.one/@chocologic), [@noridev@kokonect.link](https://kokonect.link/@noridev)

## ๋ผ์ด์„ผ์Šค
MIT. Originally developed by [Syuilo](https://github.com/syuilo/ai).

## Awards
Works on my machine