n8n
https://gyazo.com/8bb976dd7d3d07395546245f5d3373a8
セルフホストできるのが特徴
冗長化構成などが詳しい記事
ライセンスに関する情報
カスタムライセンス
セルフホストしてSaaSとして提供することはできなくなった
客先にインストールしてあげるのは可能
https://gyazo.com/12e777a78eef780bcbb0ee06cca75340
Hugginはインターフェースが質素な割にやたらスターが多かったけどn8nが後発なのか 2025/1/29 セルフホスト試す
https://gyazo.com/2eab92bbe6d815943e2a9c82fd6f0cad
登録
有料のオファー
https://gyazo.com/d9e47e92e128daece3313b7d72956f7a
これも企業主導タイプ
https://gyazo.com/2eaed403f625594d2f0b3df4b7fee218
AI Agent example
https://gyazo.com/77a3fa60ff3f6f4ed161c8eaa15df398
コミュニティ版はしっかり制限かけている
admin userの追加
external secrets
めっちゃ便利そう
Environments
めっちゃ欲しい
variables
相当欲しい
これを理由に選択肢から外している人もいた
SSO
LDAPにより、ユーザーは一元管理されたアカウントで認証を受けることができる。Active Directory、Okta、JumpcloudのようなLDAPインターフェースを提供するサービスと互換性がある。
知らない
Log Streaming
ログを任意の外部エンドポイントに送信する。また、環境変数を使ってファイルやコンソールにログを書き込むこともできます。
へー、便利そうだ
お試し
credentialsにDiscord botを追加
https://gyazo.com/866658059235bbe1c59ee2fdd0571d25
https://gyazo.com/49ce88c0cd6294d536036227c86a1600
workflowを作成
まずは時間で何かDiscordに投稿するか
https://gyazo.com/6968ea6174153b47b1af57675e64c425
雷マークがトリガーの印
https://gyazo.com/2eda2c1cf37e8c070ca58aaecf49ff62
インターバルかcronで設定
https://gyazo.com/c5340870f1c58667477ab4ead32a0219
https://gyazo.com/e93c0c239105c1a8d8616b3c819168cb
さっき作ったcredentialをここで指定できる
使用できるテンプレート変数はドラッグアンドドロップ
test stepで動作確認
https://gyazo.com/d80566dd03a4fb2f0bbed28cda6846e1
activeで有効化
https://gyazo.com/e73a7ed090b42b420c0c1cf83b169eee
https://gyazo.com/742005fb0a05b40c42306ae63dd47454
Community nodes
communityのnpmパッケージをインストールできる
Twitchを入れる
Twitchは色々だるいので公式で入れてないのだろう
設定からインストールできる?
https://gyazo.com/259d0be59381513273fca62370691038
https://gyazo.com/4531291ad956e91b7730607aae182875
npm installをここからやってる感じか
https://gyazo.com/388532ea852bb33d8637d21cacd804bd
追加できた
Twitch APIを追加する
ストリーマーアカウントとbotアカウント両方で作っといたほうが良さそう?
https://gyazo.com/77aae987324b88ef816159910af1b01f
https://gyazo.com/445f79802ddc00ce5500837211b11699
https://gyazo.com/b48031a00482e13623c1073a042a8f78
ああ、トリガーか
Problem running workflow
Twitch API error response [400]: callback must provide valid https callback with standard port in creation request
cloudflare accessで弾いてるせいかなmtane0412.icon
tunnelでもだめだ
これだ
環境変数でWEBHOOK_URLを追加
code:/etc/systemd/system/n8n.service
https://gyazo.com/d09c2334c1b6eadb9b7b76cb4ed43592
testでlisneningが開始された!
channel updateを試す
https://gyazo.com/f14899e7ad958f29dfa53940adb96a58
成功
メッセージ送信できると熱いが、IRCなので非常に面倒だろうな
IRC接続しているbotに対してn8nから飛ばすとかが良いかも
EventSubを使っているのでチャンネルポイントも実装可能なはず
contributeするか
notificationの設定
n8n全体としては用意してなさそう
それはそう
それぞれのworkflowに組み込める
所感
しっかり機能制限しているが必要なのは揃っている
こういうオートメーション系でhistoryが有料なの結構つらい
全体からは見れた。これでよさげ
https://gyazo.com/322bda0a5e384999456f86fa8290c35e
environmentsとかは何かで代用はできそう
OSSの共有地の悲劇問題があり、n8nやplaneのようなビジネスモデルが安定したソフトウェア開発につながるのかも いろいろな自動化コードを色々なプラットフォームでホストしているとわけわからなくなるので、n8nで一括できると管理が楽そうではある
Tools Agent (default)
このエージェントは、外部ツールと API を使用してアクションを実行し、情報を取得します。異なるツールの能力を理解し、タスクに応じてどのツールを使用するかを決定できます。このエージェントは、LLMと様々な外部サービスやデータベースとの統合を支援します。
Conversational Agent
このエージェントは人間のような会話をする。コンテキストを維持し、ユーザーの意図を理解し、適切な回答を提供することができる。このエージェントは通常、チャットボット、バーチャルアシスタント、カスタマーサポートシステムの構築に使用されます。あなたの好みのAIモデルがツールコールをサポートしない場合や、よりシンプルなインタラクションを扱う場合は、このエージェントが良い選択肢となります。
OpenAI Functions Agent
このエージェントは、OpenAIの機能モデルと一緒に使用してください。このエージェントには、OpenAI Chat Model を使用する必要があります。
Plan and Execute Agent
このエージェントは、与えられたタスクを解決するためのハイレベルなプランを作成し、ステップバイステップでプランを実行する。構造化されたアプローチと入念な計画を必要とするタスクに最も有効です。
ReAct Agent
このエージェントは与えられたタスクについて推論し、必要な行動を決定し、それを実行する。タスクを完了するまで、推論と行動のサイクルを繰り返す。ReActエージェントは、複雑なタスクを小さなサブタスクに分解し、優先順位をつけ、次々に実行することができる。
No memory
ReActエージェントは、メモリーサブノードをサポートしていません。つまり、以前のプロンプトを呼び出したり、進行中の会話をシミュレートすることはできません。
これはなんか刺さる使い方がありそうだmtane0412.icon
SQL Agent
このエージェントは、SQLデータベースをデータソースとして使用します。自然言語の質問を理解し、SQLクエリに変換し、クエリを実行し、ユーザフレンドリな形式で結果を表示することができます。このエージェントは、データベースへの自然言語インタフェースを構築するために有用です。
お、なんかできそうだなmtane0412.icon
Things 3のSQLにアクセスするようにしてタスクマネジメントしてもらうとか このノードも興味深いがOpenRouterで無料でDeepseek使いたい気持ちが強い
ああそうか、OpenAI互換でそのままいけるのか
https://gyazo.com/791a4289c5151a280c13a0b9203e8016
deepseek/deepseek-r1:freeを使う
https://gyazo.com/8f4d08c006b60db39904e5393981bffd
creditがないとエラーがでるらしいので5ドル入れておく
https://gyazo.com/fe077fd449a2ff02f4090979d012d789
https://gyazo.com/2893b8961fe2793c1a150a14f6307e51
すべてをNocoDBに集約したうえでなにかするのがよさげ
https://gyazo.com/9f4c208e92d073eb4b19d9864fc22386
試しに攻撃性判定をやってみる
いくつか論文を漁らせてからプロンプトを書かせた
code:system prompt
あなたはTwitch配信のモデレーターです。
配信者が快適に配信できるように以下のタスクを遂行してください。
**目的:** ユーザーのチャットメッセージが攻撃的かどうかを判定し、その攻撃性の種類や強度を分析する。
**ベースとなる研究:** Curryら(2021)、Teriziら(2020)、Potapova & Gordeev(2016)、Maneら(2023) の研究に基づき、攻撃性の定義、文脈の考慮、感情分析を組み込む。
---
**【入力】**
以下の情報を考慮して、ユーザーの発言が攻撃的であるかどうかを判定してください。
1. **メッセージ内容:** {{ $json.chatInput }}
2. **発言の文脈:** 今回は考慮しない
3. **攻撃性の種類:**
- **直接的攻撃:** 侮辱、脅迫、差別的発言
- **間接的攻撃:** 皮肉、嫌味、挑発的な発言
- **扇動的発言:** 他者を煽る発言、集団攻撃を促す発言
- **悪意のあるハラスメント:** 継続的な嫌がらせやストーカー的発言
- **潜在的な攻撃性:** 文脈によっては攻撃的と受け取られる可能性のある発言
4. **攻撃性の強度 (1~5段階評価):**
- **1:** ほぼ攻撃性なし(軽いジョークや誤解の可能性あり)
- **2:** わずかに攻撃的(軽い皮肉や意図せぬ不適切表現)
- **3:** 明確な攻撃(侮辱や挑発を含むが、重大ではない)
- **4:** 高度な攻撃性(脅迫や露骨な差別的発言)
- **5:** 深刻な攻撃(暴力の扇動、深刻なハラスメント)
---
**【出力】**
1. **攻撃性の有無:** (はい / いいえ)
2. **攻撃性の種類:** (直接的攻撃 / 間接的攻撃 / 扇動 / ハラスメント / 潜在的攻撃性)
3. **攻撃性の強度:** (1~5)
4. **判定の理由:** (攻撃性の要因や文脈の説明)
5. **推奨アクション:** (スルー / 注意喚起 / モデレーター対応 / BAN など)
---
**【具体例】**
**入力:**
メッセージ: 「お前マジで頭悪いなw こんなのも分からないの?」
文脈: ユーザーAがゲームのルールについて質問 → ユーザーBが上記の発言
**出力:**
- **攻撃性の有無:** はい
- **攻撃性の種類:** 直接的攻撃
- **攻撃性の強度:** 3
- **判定の理由:** 侮辱的な表現を含み、相手を見下すような発言であるため。
- **推奨アクション:** 注意喚起(モデレーターが警告メッセージを送るのが望ましい)
https://gyazo.com/c9709a5e066ada789ae537bef7d261f2
OpenRouterの宣伝用無料枠なのとThinking過程もあるのでめちゃくちゃ遅い
Geminiの無料枠である区間のチャットを全部送ってユーザーを認識させて閾値を超えたらBANという運用はかなり現実味がある 配信中の全チャットをコンテキストに持って何かを判断させる
どうだろうな、チャット位の長さだったらwriteの値段アップのほうがでかくなるかもしれない
超大手だったら効果はでかそう