Lessie — Wyszukiwanie i wzbogacanie informacji o osobach
Konfiguracja
Lessie obsługuje dwa tryby: CLI (domyślny, zalecany) i Serwer MCP.
Tryb A: CLI (domyślny)
Zainstaluj plik binarny Lessie CLI:
npm install -g @lessie/cli
Lub użyj bez instalacji:
npx @lessie/cli --version
Autoryzacja przy pierwszym użyciu:
lessie auth
To otwiera przeglądarkę w celu logowania/rejestracji. Token jest przechowywany w pamięci podręcznej w ~/.lessie/oauth.json.
Zweryfikuj połączenie:
lessie status
Tryb B: Serwer MCP
Dodaj do swojej konfiguracji MCP (Claude Code ~/.claude.json, Cursor ~/.cursor/mcp.json, Codex ~/.codex/config.toml, itp.):
{
"mcpServers": {
"lessie": {
"command": "npx",
"args": ["-y", "@lessie/mcp-server"],
"env": {
"LESSIE_REMOTE_MCP_URL": "https://app.lessie.ai/mcp-server/mcp"
}
}
}
}
Dezinstalacja
- CLI:
npm uninstall -g @lessie/cli && rm -rf ~/.lessie/ - MCP: Usuń wpis
"lessie"ze swojego pliku.jsonirm -rf ~/.lessie/
Sprawdzanie wersji
Uruchom te kontrole raz na początku każdej sesji, przed wykryciem trybu. Obie kontrole nie blokują działania — jeśli któreś polecenie nie powiedzie się (błąd sieci, timeout), pomiń je po cichu i kontynuuj.
Wersja umiejętności
- Odczytaj bieżącą wersję lokalną z pola metadanych
versionw tym pliku powyżej. - Pobierz wersję zdalną:
curl -sf --max-time 5 https://raw.githubusercontent.com/LessieAI/lessie-skill/main/people-search/SKILL.md | head -5 | grep 'version:' | head -1 | awk '{print $2}' - Jeśli wersja zdalna jest nowsza niż lokalna → powiedz użytkownikowi:
⬆️ Dostępna jest nowsza wersja umiejętności people-search ({local} → {remote}). Uruchom to polecenie, aby zaktualizować:
npx skills add LessieAI/lessie-skill -y -g - Jeśli wersje są zgodne lub sprawdzenie nie powiedzie się → pomiń, nic nie mów.
Wersja CLI
- Pobierz wersję lokalną CLI:
lessie --version 2>/dev/null || npx @lessie/cli --version 2>/dev/null - Pobierz najnowszą opublikowaną wersję:
npm view @lessie/cli version 2>/dev/null - Jeśli wersja zdalna jest nowsza → powiedz użytkownikowi:
⬆️ Dostępna jest nowsza wersja Lessie CLI ({local} → {remote}). Uruchom to polecenie, aby zaktualizować:
npm install -g @lessie/cli - Jeśli wersje są zgodne lub którekolwiek polecenie nie powiedzie się → pomiń, nic nie mów.
Szybki start
Po konfiguracji spróbuj powiedzieć Claude:
- "Znajdź Engineering Managerów w Stripe w San Francisco"
- "Sprawdź dane kontaktowe Sama Altmana"
- "Zbadaj OpenAI — najnowsze wiadomości i otwarte oferty pracy"
Wykrywanie trybu
Określ, którego trybu użyć na początku każdej sesji:
- Sprawdź, czy CLI
lessiejest dostępne: uruchomlessie status - Jeśli polecenie się powiedzie → użyj trybu CLI (wywołuj narzędzia przez Bash)
- Jeśli polecenie nie powiedzie się (nie znaleziono) → spróbuj automatycznej instalacji:
npm install -g @lessie/cli - Po instalacji uruchom
lessie statusponownie, aby zweryfikować - Jeśli instalacja się powiedzie → użyj trybu CLI
- Jeśli instalacja nie powiedzie się (brak npm, odmowa dostępu, błąd sieci, itp.) → sprawdź, czy dostępne są narzędzia MCP (
authorize,use_lessie) - Jeśli narzędzia MCP są dostępne → użyj trybu MCP
- Jeśli żadne nie jest dostępne → poinformuj użytkownika, że instalacja się nie powiodła i zasugeruj ręczną instalację lub konfigurację MCP
Kredyty i ceny
Lessie to usługa oparta na kredytach.
Nowe konta otrzymują darmowe kredyty próbne. Sprawdź swoje saldo i kup więcej na https://lessie.ai/pricing.
Agent będzie ujednoznaczniać nazwy firm przed wyszukiwaniem, aby uniknąć marnowania kredytów na błędne wyniki.
Dane i prywatność
- Źródła danych: Informacje kontaktowe i o firmach są agregowane z publicznie dostępnych źródeł (katalogi firm, profile społecznościowe, strony internetowe firm).
- Rejestrowanie zapytań: Zapytania wyszukiwania są rejestrowane w celu ulepszania usługi i zapobiegania nadużyciom. Żadne dane zapytań nie są udostępniane osobom trzecim.
- Zgodność danych: Lessie przestrzega obowiązujących przepisów o ochronie danych. Użytkownicy są odpowiedzialni za wykorzystywanie pobranych danych kontaktowych zgodnie z lokalnymi przepisami (RODO, CAN-SPAM, itp.).
- Polityka prywatności: https://lessie.ai/privacy
- Warunki korzystania: https://lessie.ai/terms-of-service
Autoryzacja
Tryb CLI
- Uruchom
lessie status, aby sprawdzić ważność tokena. - Jeśli
authorized: false→ uruchomlessie auth, aby otworzyć przeglądarkę do logowania. - Po zakończeniu logowania przez użytkownika uruchom
lessie statusponownie, aby potwierdzić.
Tryb MCP
- Wywołaj
authorize, aby sprawdzić stan połączenia. - Jeśli już autoryzowano → przejdź bezpośrednio do korzystania z narzędzi.
- Jeśli nie autoryzowano →
authorizezwraca URL autoryzacyjny. Powiedz użytkownikowi, że musisz otworzyć przeglądarkę do logowania/rejestracji Lessie i otwórz ją za pomocą odpowiedniego polecenia systemowego:- macOS:
open "<url>" - Linux:
xdg-open "<url>" - Windows:
start "<url>"
- macOS:
- Powiedz użytkownikowi, że przeglądarka została otwarta i musi on dokończyć logowanie/rejestrację.
- Po potwierdzeniu przez użytkownika wywołaj
authorizeponownie, aby zweryfikować połączenie. - Jeśli autoryzacja nie powiedzie się (timeout, odmowa, konflikt portów), postępuj zgodnie ze wskazówkami diagnostycznymi zwróconymi przez
authorizei spróbuj ponownie.
Zawsze poinformuj użytkownika przed otwarciem przeglądarki — nigdy nie przekierowuj po cichu.
Zasady zachowania agenta
KRYTYCZNE: Potwierdź przed każdą akcją zużywającą kredyty
Każde wywołanie narzędzia Lessie kosztuje kredyty. Koszty kredytowe poszczególnych narzędzi:
| Narzędzie | Koszt |
|---|---|
find-people | 20 kredytów za wyszukiwanie |
enrich-people | 1 kredyt × liczba osób (pobierana opłata tylko za udane dopasowania) |
review-people | 1 kredyt × liczba osób |
enrich-org | 1 kredyt |
find-orgs | 1 kredyt |
job-postings | 1 kredyt |
company-news | 1 kredyt |
web-search | 1 kredyt |
web-fetch | 1 kredyt |
unlock_emails | 3 kredyty za każdą nowo odblokowaną osobę (bieżąca stawka; sprawdź price_per_unlock w odpowiedzi, aby poznać aktualną wartość). Osoby już odblokowane (w dowolnym z twoich poprzednich wyszukiwań) są bezpłatne. Nieudane wyszukiwania nie są obciążane |
unlock_email_by_handle | 3 kredyty za każde udane odblokowanie (bieżąca stawka; sprawdź price_per_unlock w odpowiedzi, aby poznać aktualną wartość). not_found i failed są bezpłatne. Nieidempotentne — ponowne uruchomienie na tym samym identyfikatorze ponownie obciąży konto |
Przed wykonaniem jakiegokolwiek polecenia MUSISZ:
- Powiedzieć użytkownikowi, co zamierzasz zrobić i jaki jest szacunkowy koszt (np. "Wzbogacę 3 osoby — to kosztuje ~3 kredyty").
- Poczekać na wyraźne potwierdzenie przed wykonaniem.
- Nigdy nie grupuj wielu wywołań zużywających kredyty bez uprzedniego potwierdzenia całego planu.
Wyjątek — pomiń potwierdzenie, jeśli użytkownik wyraźnie powiedział, że nie chce być pytany (np. "nie pytaj mnie za każdym razem", "po prostu to zrób", "pomiń potwierdzenia"). W takim przypadku działaj bezpośrednio, ale nadal rejestruj, co zostało wykonane i ile kredytów wydano po każdym wywołaniu.
KRYTYCZNE: Raportuj zużycie kredytów po każdym wywołaniu
Po każdej turze rozmowy, która obejmowała jedno lub więcej wywołań narzędzi Lessie, dołącz jednowierszowe podsumowanie zużytych kredytów. Format:
Użyto
<nazwa-narzędzia>, koszt <N> kredytów.
Jeśli w tej samej turze wywołano wiele narzędzi, połącz je:
Użyto
web-search+enrich-org, łączny koszt 2 kredyty.
KRYTYCZNE: Przeczytaj dokumentację przed pierwszym wywołaniem CLI
Przed wykonaniem jakiegokolwiek polecenia lessie CLI po raz pierwszy w sesji MUSISZ przeczytać references/cli-reference.md, aby poznać dokładną składnię parametrów. Każde narzędzie ma swój własny zestaw flag — find-people przyjmuje --query (język naturalny), enrich-people przyjmuje --people (JSON), unlock-emails przyjmuje --search-id + --person-ids, itd. Nie zgaduj — przeczytaj sekcję dotyczącą narzędzia, które zamierzasz wywołać.
Ujednoznacznienie trybu wyszukiwania (B2B vs KOL)
Lessie obsługuje dwa tryby wyszukiwania z różnymi źródłami danych i typami wyników:
- Tryb B2B: Przeszukuje profesjonalne bazy danych (oparte na LinkedIn). Najlepszy do wyszukiwania osób według stanowiska, firmy, stażu pracy lub branży. Zwraca służbowy adres e-mail, telefon, historię zatrudnienia.
- Tryb KOL: Przeszukuje platformy mediów społecznościowych (Instagram, YouTube, TikTok, Twitter/X). Najlepszy do wyszukiwania influencerów, twórców treści lub osób publicznych według odbiorców, liczby obserwujących lub tematyki treści. Zwraca linki społecznościowe, liczbę obserwujących.
Gdy intencja użytkownika jest niejednoznaczna — tzn. zapytanie może dotyczyć zarówno profesjonalistów na LinkedIn, jak i twórców w mediach społecznościowych — MUSISZ poprosić użytkownika o wyjaśnienie przed wyszukiwaniem. Przedstaw zwięźle obie opcje:
Przykład niejednoznacznego zapytania: "Znajdź osoby, które mają praktyczne doświadczenie z urządzeniami do monitorowania snu opartymi na falach mózgowych, aby podzieliły się swoimi spostrzeżeniami."
To może oznaczać:
- B2B: Menedżerowie produktu, inżynierowie lub badacze w firmach zajmujących się technologią snu (przez LinkedIn)
- KOL: Influencerzy z branży zdrowia/technologii, którzy recenzowali lub używali takich urządzeń (przez media społecznościowe)
Zapytaj: "To mogą być profesjonaliści z LinkedIn (menedżerowie produktu, inżynierowie w firmach zajmujących się technologią snu) lub twórcy mediów społecznościowych recenzujący urządzenia do snu. Który kierunek preferujesz — czy oba?"
Gdy intencja jest jasna, działaj od razu:
- "Znajdź CTO w startupach fintech" → B2B (oczywiste)
- "Znajdź influencerów beauty na Instagramie z ponad 100 tys. obserwujących" → KOL (oczywiste)
Ujednoznacznienie encji
Gdy użytkownik wspomina nazwę firmy, która może odnosić się do wielu podmiotów (np. "Manus" może oznaczać Manus AI, Manus Bio, Manus Plus, itp.), ujednoznacznij przed wyszukiwaniem:
- Zapytaj użytkownika, którą firmę ma na myśli, lub przedstaw najlepszych kandydatów i pozwól mu wybrać.
- Jeśli kontekst czyni to jednoznacznym (np. użytkownik wcześniej omawiał agentów AI), podaj swoje założenie i potwierdź: "Czy miałeś na myśli Manus AI (manus.im), firmę zajmującą się agentami AI?"
- Nigdy nie zakładaj po cichu jednego podmiotu zamiast innego — błędna domena = zmarnowane kredyty wyszukiwania i nieistotne wyniki.
Przegląd narzędzi
Osoby
| Narzędzie | Polecenie CLI | Kiedy używać |
|---|---|---|
find_people | lessie find-people | Odkrywaj osoby za pomocą zadania w języku naturalnym. Przekaż żądanie użytkownika dosłownie przez --query. Agent wybiera źródła (B2B / KOL / web), słowa kluczowe i zatrzymuje się automatycznie. Twardy limit: 3 wywołania narzędzia + 60s budżetu na żądanie. Jeśli odpowiedź ma partial: true, agent osiągnął limit budżetu — wyniki są tym, co zebrał przed timeoutem |
enrich_people | lessie enrich-people | Wzbogać znane osoby o pełne profile. Dwie ścieżki: B2B (przez linkedin_url lub nazwisko+domena → e-mail, telefon, historia pracy) i KOL (przez nazwę użytkownika twitter/instagram/tiktok/youtube → liczba obserwujących, linki społecznościowe). Maks. 10 na wywołanie |
review_people | lessie review-people | Głęboka kwalifikacja niejednoznacznych kandydatów za pomocą badań internetowych — pomiń dla oczywistych dopasowań/niedopasowań |
Odblokowywanie kontaktów
| Narzędzie | Polecenie CLI | Kiedy używać |
|---|---|---|
unlock_emails | lessie unlock-emails | Odblokuj adresy e-mail osób z poprzedniego wyniku find_people. Idempotentne w obrębie użytkownika: osoby, które już odblokowałeś (w dowolnym wyszukiwaniu) kosztują 0. Przyjmuje search_id + person_ids (1–50) |
unlock_email_by_handle | lessie unlock-email-by-handle | Odblokuj e-mail przez jawny (platforma, identyfikator), bez wcześniejszego wyszukiwania. Przyjmuje listę {platform, handle} (1–10). NIE idempotentne — powtórne wywołania na tym samym identyfikatorze ponownie obciążają konto. Używaj tylko wtedy, gdy identyfikator nie pochodzi z żadnego find_people, które uruchomiłeś |
Reguła decyzyjna: jeśli osoba pochodzi z twojego własnego wyniku find_people → użyj unlock_emails (ponowne odblokowania są bezpłatne). Jeśli uzyskałeś identyfikator spoza lessie (URL LinkedIn wklejony przez użytkownika, ręczna wzmianka, itp.) → użyj unlock_email_by_handle.
Firmy
| Narzędzie | Polecenie CLI | Kiedy używać |
|---|---|---|
find_organizations | lessie find-orgs | Odkrywaj firmy według nazwy, słowa kluczowego, lokalizacji, rozmiaru, finansowania |
enrich_organization | lessie enrich-org | Uzyskaj pełny profil dla znanej domeny/znanych domen firmy — branża, pracownicy, finansowanie, stos technologiczny |
get_company_job_postings | lessie job-postings | Wyświetl aktywne oferty pracy (wymaga organization_id z enrich) |
search_company_news | lessie company-news | Znajdź najnowsze artykuły informacyjne (wymaga organization_id z enrich) |
Badania internetowe
| Narzędzie | Polecenie CLI | Kiedy używać |
|---|---|---|
web_search | lessie web-search | Ogólne wyszukiwanie w sieci; wyniki z pamięci podręcznej sprawiają, że kolejne web_fetch jest darmowe |
web_fetch | lessie web-fetch | Wyodrębnij konkretne informacje z adresu URL za pomocą podsumowania AI |
Szczegółowe materiały referencyjne
- Przykłady poleceń CLI i wywoływanie MCP: Zobacz references/cli-reference.md
- Wzorce przepływu pracy (rozwiązywanie domen, badanie firmy, wyszukiwanie+kwalifikacja): Zobacz references/workflow-patterns.md
- Drzewo decyzyjne rozwiązywania domen: Zobacz references/domain-resolution.md
Kluczowe ograniczenia
enrich_people/enrich_organization: maks. 10 na wywołanie; dziel większe listy na partiefind_people: twardy limit 3 wywołań narzędzia + 60s budżetu czasu rzeczywistego na żądanie.target_count1-100 (domyślnie 30). NIE jest stronicowane — jeśli potrzebujesz więcej, uruchom nowe wywołanie z innym zapytaniemfind_organizations: stronicowane — użyj--page, aby uzyskać więcej wynikówweb_searchbuforuje zawartość strony; jeśli wynik mahas_content: true, wywołanieweb_fetchna ten adres URL jest natychmiastowe- Przydatne słowa kluczowe do uwzględnienia w zapytaniu
find-people: terminy stażu (owner,founder,c_suite,partner,vp,head,director,manager,senior,entry,intern) orazcurrentvspast, aby wpłynąć na aktualność zatrudnienia. Agent używa ich bezpośrednio jako filtrów - Przy wzbogacaniu osób podanie
domain(domeny firmy) wraz z nazwiskiem znacznie poprawia dokładność dopasowania - Wyjście CLI to JSON na stdout, komunikaty statusu na stderr — parsuj stdout, aby uzyskać dane