Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
副業(業務委託・週数時間の関与)から始めて、双方の相性を見ながら段階的に関係を深め、将来的な事業承継(後継者候補)へと発展させることを目的としたマッチングプラットフォームです。「副業から始めて将来的に事業承継に興味がある人材」と「後継者不足に悩む地方中小企業」を、フェーズ管理を軸に結びつけます。 本プラットフォームの実体は products/staged-succession/frontend/(フロントエンド。マッチングロジック本体もここに同梱)、products/staged-succession/supabase/(DBスキーマ)、products/staged-succession/functions/(休眠中の参照実装。後述)です。旧Railsひな型は legacy/rails-template/ に退避済みです。查看完整 README ↗
副業(業務委託・週数時間の関与)から始めて、双方の相性を見ながら段階的に関係を深め、将来的な事業承継(後継者候補)へと発展させることを目的としたマッチングプラットフォームです。「副業から始めて将来的に事業承継に興味がある人材」と「後継者不足に悩む地方中小企業」を、フェーズ管理を軸に結びつけます。
本プラットフォームの実体は
products/staged-succession/frontend/(フロントエンド。マッチングロジック本体もここに同梱)、products/staged-succession/supabase/(DBスキーマ)、products/staged-succession/functions/(休眠中の参照実装。後述)です。旧Railsひな型はlegacy/rails-template/に退避済みです。
products/staged-succession/frontend/src/calc/scoring/)の純粋関数として実行し、結果を直接 Supabase に書き込みますprofiles / talents / companies / matches / messages / phase_history。整合性チェック(フェーズ遷移の妥当性、レビュー/継続希望フラグの越権防止など)は Row Level Security ポリシーとDBトリガーで担保postgres_changes)でチャットを実現。送信はDB側トリガーでマッチの集計値(メッセージ数など)とアトミックに同期当初はFirebase Cloud Functions + Firestoreで設計していましたが、このFirebaseアカウントではFirestoreの作成自体にBlazeプラン(課金設定)が要求されることが判明したため、完全無料で動かせる構成としてSupabaseに切り替えました。products/staged-succession/functions/ ディレクトリには元の設計(スコアリングエンジンの参照実装)が残っていますが、デプロイはされておらず、ビルド・テストのみ継続確認しています(実体は products/staged-succession/frontend/src/calc/scoring/ に同一コードとして存在し、そちらが実際に動いています)。
profiles id(=auth.uid), role('talent'|'company')
talents id(=auth.uid), name, skills[], interested_industries[], weekly_available_hours,
work_style, relocatable, prefecture, succession_interest_level(1-5), funding_capacity, bio
companies id(=auth.uid), name, industry, prefecture, overview, financial_health,
wanted_persona_tags[], wanted_persona_tag_weights(jsonb), side_job_acceptable,
required_weekly_hours_min/max, succession_timeframe
matches talent_id, company_id, phase(1-3), status, score_breakdown(jsonb), reviews(jsonb),
continuation_intent(jsonb), message_count, phase_entered_at(jsonb)
messages match_id, sender_id, sender_role, body, created_at
phase_history match_id, from_phase, to_phase, reason, changed_by, score_at_change
詳細スキーマ・RLSポリシー・トリガーは products/staged-succession/supabase/migrations/0001_init.sql を参照してください。
[フェーズ1: 副業お試し] --昇格判定A--> [フェーズ2: 関係深化] --昇格判定B--> [フェーズ3: 承継検討] --合意--> [承継成立]
└────────────────── どのフェーズからでも「解消」へ遷移可(終端) ──────────────────┘
products/staged-succession/frontend/src/calc/scoring/matches_guard_update)が「1段階ずつしか進めない」「終了済みマッチは編集不可」「相手側のレビュー/継続希望フラグは書き換え不可」を強制するため、クライアント側のバグや悪意ある操作からも一定守られますproducts/staged-succession/supabase/migrations/0001_init.sql の中身を貼り付けて実行(テーブル・RLSポリシー・トリガーが作成されます)
supabase link 後に supabase db push でも同じことができますanon public キー(フロントエンド用)service_role キー(後述のシードスクリプト専用。絶対にフロントエンドや公開リポジトリに含めないこと)cd products/staged-succession/frontend && npm install
cp products/staged-succession/frontend/.env.example products/staged-succession/frontend/.env.local
.env.local に手順1でメモした値を設定:
VITE_SUPABASE_URL=https://xxxxx.supabase.co
VITE_SUPABASE_ANON_KEY=xxxxx
人材5件・企業5件のサンプルデータ(Auth ユーザーも含めて自動作成)を投入し、1組はフェーズ1→2→3まで遷移させたデモ状態、もう1組はフェーズ2で足踏み中のデモ状態を再現します。
cd products/staged-succession/frontend
SUPABASE_URL=https://xxxxx.supabase.co \
SUPABASE_SERVICE_ROLE_KEY=xxxxx \
npm run seed
投入後、[email protected] 〜 [email protected] / [email protected] 〜 [email protected](パスワードは全て password123!、products/staged-succession/frontend/scripts/seedData.ts で定義)でログインして確認できます。
Cloud Functionsのエミュレータのような「完全ローカル」の選択肢はありません(SupabaseはSaaSのため)。上記1〜3を済ませたSupabaseプロジェクトに対して、ローカルのVite dev serverから接続します。
cd products/staged-succession/frontend && npm run dev
Supabase自体はクラウド上にあるため接続先の心配は不要です。Vite dev serverだけLANに公開すれば、PCの電源が入っている間はスマホからも同じ内容を確認できます。
192.168.1.23)
ipconfig getifaddr en0 / Windows: ipconfig / Linux: hostname -Inpm run dev -- --host 0.0.0.0 で起動http://192.168.1.23:5173 を開く(同じWi-Fiであること)これはあくまで開発機を起動しっぱなしにする一時的な確認方法です。PCを閉じても常時アクセスできる状態にしたい場合は下記「デプロイ」を行ってください。
cd products/staged-succession/frontend
npm test # スコアリングロジックの単体テスト(Vitest)
npm run build # 型チェック + ビルド
cd ../functions
npm test # 参照実装側でも同じロジックのテストを継続確認(デプロイはしない)
Cloud FunctionsもFirestoreも使わないため、Firebase側はHostingの設定だけで済み、Blazeプラン(課金設定)は不要です。
npm install -g firebase-tools # 未導入の場合
firebase login
products/staged-succession/.firebaserc の REPLACE_WITH_YOUR_FIREBASE_PROJECT_ID を実際のFirebaseプロジェクトIDに置き換えてください(Firebaseコンソールで新規プロジェクトを作成、Sparkプランのままで構いません)。
cd products/staged-succession
firebase use --add # 対話式でプロジェクトIDを選択・設定
cd frontend && npm run build && cd ..
firebase deploy --only hosting
デプロイ後に発行される https://<プロジェクトID>.web.app のようなURLに、PCを起動していなくてもスマホから含めいつでもアクセスできます。
このセッションのサンドボックス環境には実際のFirebase/Supabaseプロジェクトの認証情報がないため、上記コマンドはご自身の環境から実行してください。設定ファイル(products/staged-succession/firebase.json、products/staged-succession/supabase/migrations/)は全て用意済みです。