grepai-storage-postgres
GrepAI 用に pgvector を使用した PostgreSQL を設定します。チーム環境や大規模なコードベースに適したスキルです。
description の原文を見る
Configure PostgreSQL with pgvector for GrepAI. Use this skill for team environments and large codebases.
SKILL.md 本文
GrepAI Storage with PostgreSQL
このスキルでは、GrepAI のストレージバックエンドとして pgvector 拡張機能を備えた PostgreSQL を使用する方法をカバーしています。
このスキルを使用する時期
- 共有インデックスが必要なチーム環境
- 大規模なコードベース (10,000+ ファイル)
- 並行アクセスが必要
- 既存の PostgreSQL インフラストラクチャとの統合
前提条件
- PostgreSQL 14+ with pgvector 拡張機能
- テーブル作成権限を持つデータベースユーザー
- PostgreSQL サーバーへのネットワークアクセス
利点
| 利点 | 説明 |
|---|---|
| 👥 チーム共有 | 複数のユーザーが同じインデックスにアクセス可能 |
| 📏 スケーラブル | 大規模なコードベースに対応 |
| 🔄 並行処理 | 複数の同時検索に対応 |
| 💾 永続的 | マシン再起動後もデータが保持される |
| 🔧 使い慣れた | 標準的なデータベースツール |
PostgreSQL with pgvector のセットアップ
オプション 1: Docker (開発環境に推奨)
# Run PostgreSQL with pgvector
docker run -d \
--name grepai-postgres \
-e POSTGRES_USER=grepai \
-e POSTGRES_PASSWORD=grepai \
-e POSTGRES_DB=grepai \
-p 5432:5432 \
pgvector/pgvector:pg16
オプション 2: 既存の PostgreSQL にインストール
# Install pgvector extension (Ubuntu/Debian)
sudo apt install postgresql-16-pgvector
# Or compile from source
git clone https://github.com/pgvector/pgvector.git
cd pgvector
make
sudo make install
次に拡張機能を有効化します:
-- Connect to your database
CREATE EXTENSION IF NOT EXISTS vector;
オプション 3: マネージドサービス
- Supabase: デフォルトで pgvector を搭載
- Neon: pgvector が利用可能
- AWS RDS: pgvector 拡張機能をインストール
- Azure Database: pgvector が利用可能
設定
基本設定
# .grepai/config.yaml
store:
backend: postgres
postgres:
dsn: postgres://user:password@localhost:5432/grepai
環境変数を使用する場合
store:
backend: postgres
postgres:
dsn: ${DATABASE_URL}
環境変数を設定します:
export DATABASE_URL="postgres://user:password@localhost:5432/grepai"
完全な DSN オプション
store:
backend: postgres
postgres:
dsn: postgres://user:password@host:5432/database?sslmode=require
DSN の構成要素:
user: データベースユーザー名password: データベースパスワードhost: サーバーのホスト名または IP アドレス5432: ポート (デフォルト: 5432)database: データベース名sslmode: SSL モード (disable, require, verify-full)
SSL モード
| モード | 説明 | ユースケース |
|---|---|---|
disable | SSL なし | ローカル開発 |
require | SSL 必須 | 本番環境 |
verify-full | SSL + 証明書検証 | 高セキュリティ |
# SSL を使用した本番環境設定
store:
backend: postgres
postgres:
dsn: postgres://user:pass@prod.db.com:5432/grepai?sslmode=require
データベーススキーマ
GrepAI は以下のテーブルを自動的に作成します:
-- Vector embeddings table
CREATE TABLE IF NOT EXISTS embeddings (
id SERIAL PRIMARY KEY,
file_path TEXT NOT NULL,
chunk_index INTEGER NOT NULL,
content TEXT NOT NULL,
start_line INTEGER,
end_line INTEGER,
embedding vector(768), -- Dimension matches your model
created_at TIMESTAMP DEFAULT NOW(),
UNIQUE(file_path, chunk_index)
);
-- Index for vector similarity search
CREATE INDEX ON embeddings USING ivfflat (embedding vector_cosine_ops);
セットアップの確認
pgvector 拡張機能の確認
-- Connect to database
psql -U grepai -d grepai
-- Check extension is installed
SELECT * FROM pg_extension WHERE extname = 'vector';
-- Check GrepAI tables exist (after first grepai watch)
\dt
GrepAI からの接続テスト
# Check status
grepai status
# Should show PostgreSQL backend info
パフォーマンス調整
PostgreSQL 設定
ベクトル検索のパフォーマンスを向上させるには:
-- Increase work memory for vector operations
SET work_mem = '256MB';
-- Adjust for your hardware
SET effective_cache_size = '4GB';
SET shared_buffers = '1GB';
インデックスチューニング
大規模なインデックスの場合、IVFFlat インデックスを調整します:
-- More lists = faster search, more memory
CREATE INDEX ON embeddings
USING ivfflat (embedding vector_cosine_ops)
WITH (lists = 100); -- Adjust based on row count
経験則: lists = sqrt(rows)
並行アクセス
PostgreSQL は並行アクセスを自動的に処理します:
- 複数の
grepai searchコマンドを同時に実行可能 - コードベースごとに 1 つの
grepai watchデーモン - 多くのユーザーが同じインデックスを共有可能
チームセットアップ
共有データベース
すべてのチームメンバーが同じデータベースを指します:
# Each developer's .grepai/config.yaml
store:
backend: postgres
postgres:
dsn: postgres://team:secret@shared-db.company.com:5432/grepai
プロジェクトごとのデータベース
分離されたプロジェクトの場合、別のデータベースを使用します:
# Create databases
createdb -U postgres grepai_projecta
createdb -U postgres grepai_projectb
# Project A config
store:
backend: postgres
postgres:
dsn: postgres://user:pass@localhost:5432/grepai_projecta
バックアップと復元
バックアップ
pg_dump -U grepai -d grepai > grepai_backup.sql
復元
psql -U grepai -d grepai < grepai_backup.sql
GOB からの移行
- pgvector を使用して PostgreSQL をセットアップします
- 設定を更新します:
store:
backend: postgres
postgres:
dsn: postgres://user:pass@localhost:5432/grepai
- 古いインデックスを削除します:
rm .grepai/index.gob
- 再インデックス化します:
grepai watch
よくある問題
❌ 問題: FATAL: password authentication failed
✅ 解決策: DSN の認証情報と pg_hba.conf を確認してください
❌ 問題: ERROR: extension "vector" is not available
✅ 解決策: pgvector をインストールします:
sudo apt install postgresql-16-pgvector
# Then: CREATE EXTENSION vector;
❌ 問題: ERROR: type "vector" does not exist
✅ 解決策: データベースで拡張機能を有効化します:
CREATE EXTENSION IF NOT EXISTS vector;
❌ 問題: 接続が拒否される ✅ 解決策:
- PostgreSQL が実行中であることを確認します
- ホストとポートを確認します
- ファイアウォール設定を確認します
❌ 問題: 検索が遅い ✅ 解決策:
- IVFFlat インデックスを追加します
work_memを増やします- テーブルを VACUUM ANALYZE します
ベストプラクティス
- 環境変数を使用: 認証情報をコミットしない
- SSL を有効化: リモートデータベースの場合
- 定期的なバックアップ: 大きな変更の前に pg_dump を実行
- パフォーマンス監視: クエリ時間を確認
- インデックスメンテナンス: 定期的に VACUUM ANALYZE を実行
出力形式
PostgreSQL ストレージステータス:
✅ PostgreSQL Storage Configured
Backend: PostgreSQL + pgvector
Host: localhost:5432
Database: grepai
SSL: disabled
Contents:
- Files: 2,450
- Chunks: 12,340
- Vector dimension: 768
Performance:
- Connection: OK
- IVFFlat index: Yes
- Search latency: ~50ms
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- yoanbernabeu
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/yoanbernabeu/grepai-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。