画面とマイクを利用した AI エージェントを作成する方法
スクリーンパイプ: 24 時間年中無休の画面とマイクの録音、OCR、文字起こし、AI 統合のための CLI/アプリ
Screenpipe は、画面とマイクのアクティビティを継続的に記録し、光学式文字認識 (OCR) データを抽出し、文字起こしを生成し、このデータを AI モデルに供給するプロセスを簡素化するコマンドライン インターフェイス (CLI) アプリケーションです。 柔軟なパイプ システムにより、キャプチャされた画面やオーディオ情報と対話する強力なプラグインを作成できます。この例では、Ollama を活用して画面アクティビティを分析する単純なパイプを構築する方法を示します。
前提条件:
- スクリーンパイプがインストールされ、実行されています。
- パンがインストールされました (
npm install -g bun
)。 - モデルとともにインストールされた Ollama (この例では DeepSeek-r1:1.5b が使用されています)。
1.パイプの作成:
CLI を使用して新しいスクリーンパイプ パイプを作成します。
bunx @screenpipe/create-pipe@latest
プロンプトに従ってパイプに名前を付け (例: 「my-activity-analyzer」)、ディレクトリを選択します。
2.プロジェクトのセットアップ:
好みのエディター (カーソル、VS コードなど) でプロジェクトを開きます。
cursor my-activity-analyzer
初期のプロジェクト構造には複数のファイルが含まれます。 この例では、不要なファイルを削除します:
rm -rf src/app/api/intelligence src/components/obsidian-settings.tsx src/components/file-suggest-textarea.tsx
3.分析 Cron ジョブの実装:
次のコードで src/app/api/analyze/route.ts
を作成します:
import { NextResponse } from "next/server"; import { pipe } from "@screenpipe/js"; import { streamText } from "ai"; import { ollama } from "ollama-ai-provider"; export async function POST(request: Request) { try { const { messages, model } = await request.json(); console.log("model:", model); const fiveMinutesAgo = new Date(Date.now() - 5 * 60 * 1000).toISOString(); const results = await pipe.queryScreenpipe({ startTime: fiveMinutesAgo, limit: 10, contentType: "all", }); const provider = ollama(model); const result = streamText({ model: provider, messages: [ ...messages, { role: "user", content: `Analyze this activity data and summarize what I've been doing: ${JSON.stringify(results)}`, }, ], }); return result.toDataStreamResponse(); } catch (error) { console.error("error:", error); return NextResponse.json({ error: "Failed to analyze activity" }, { status: 500 }); } }
4. pipe.json
スケジュール設定:
pipe.json
を作成または変更して cron ジョブを含めます:
{ "crons": [ { "path": "/api/analyze", "schedule": "*/5 * * * *" // Runs every 5 minutes } ] }
5.メインページの更新 (src/app/page.tsx
):
"use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { OllamaModelsList } from "@/components/ollama-models-list"; import { Label } from "@/components/ui/label"; import { useChat } from "ai/react"; export default function Home() { const [selectedModel, setSelectedModel] = useState("deepseek-r1:1.5b"); const { messages, input, handleInputChange, handleSubmit } = useChat({ body: { model: selectedModel }, api: "/api/analyze", }); return ( <main className="p-4 max-w-2xl mx-auto space-y-4"> <div className="space-y-2"> <label htmlFor="model">Ollama Model</label> <OllamaModelsList defaultValue={selectedModel} onChange={setSelectedModel} /> </div> <div> {messages.map((message) => ( <div key={message.id}> <div>{message.role === "user" ? "User: " : "AI: "}</div> <div>{message.content}</div> </div> ))} </div> </main> ); }
6.ローカルテスト:
パイプをローカルで実行します:
bun i // or npm install bun dev
http://localhost:3000
でアプリケーションにアクセスします。
7.スクリーンパイプのインストール:
パイプをスクリーンパイプに取り付けます:
- UI: Screenpipe アプリを開き、「パイプ」セクションに移動して「」をクリックし、パイプへのローカル パスを指定します。
- CLI:
screenpipe install /path/to/my-activity-analyzer screenpipe enable my-activity-analyzer
ログイン後にコピー仕組み:
-
データ クエリ:
pipe.queryScreenpipe()
は、最近の画面および音声データを取得します。 - AI 処理: Ollama はプロンプトを使用してデータを分析します。
- UI: シンプルなインターフェースに分析結果が表示されます。
- スケジュール: Screenpipe の cron ジョブは 5 分ごとに分析を実行します。
次のステップ:
- 構成オプションを追加します。
- 外部サービスと統合します。
- より洗練された UI コンポーネントを実装します。
参考文献:
- スクリーンパイプのドキュメント。
- スクリーンパイプ パイプの例。
- スクリーンパイプ SDK リファレンス
以上が画面とマイクを利用した AI エージェントを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
-
データ クエリ:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

現実世界でのJavaScriptのアプリケーションには、フロントエンドとバックエンドの開発が含まれます。 1)DOM操作とイベント処理を含むTODOリストアプリケーションを構築して、フロントエンドアプリケーションを表示します。 2)node.jsを介してRestfulapiを構築し、バックエンドアプリケーションをデモンストレーションします。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

CとCは、主に通訳者とJITコンパイラを実装するために使用されるJavaScriptエンジンで重要な役割を果たします。 1)cは、JavaScriptソースコードを解析し、抽象的な構文ツリーを生成するために使用されます。 2)Cは、Bytecodeの生成と実行を担当します。 3)Cは、JITコンパイラを実装し、実行時にホットスポットコードを最適化およびコンパイルし、JavaScriptの実行効率を大幅に改善します。
