NetworkContext

NetworkContext keeps a local archive of what one LinkedIn account sees: feed items, notifications, network, profiles, conversations, and messages. A browser agent reads LinkedIn and writes a capture file. NetworkContext checks that file and stores it on your machine at http://127.0.0.1:8095, with a local password. It does not post, send, like, or accept anything on LinkedIn.

The capture is read-only toward LinkedIn. The documented rule is that nothing is posted, sent, liked, or accepted. A match to DealContext is a crm_links row a person confirms. The archive does not write the CRM by itself.

Re-capturing the same item, or an overlapping time window, updates the existing record.

Capture, then store

sequenceDiagram
  participant Browser as Browser agent
  participant CLI as networkcontext
  participant Server as Local PocketContext

  Browser->>Browser: read a LinkedIn page
  Browser->>CLI: a capture envelope
  CLI->>CLI: check ids and natural keys
  CLI->>Server: batch upsert
  Server-->>CLI: stored, no duplicates

Profiles, organizations, posts, comments, reactions, positions, and education are shared across the archive. Feed items, notifications, connections, invitations, follows, conversations, messages, and sync state are kept per LinkedIn account, beside those shared records.

Each record has a natural key (a LinkedIn URN, a canonical URL, a composite of related ids, or a content hash). The record id is derived from that key, and the server rejects any other id. The client and the server have to compute it the same way.

Search indexes cover profiles, posts, and messages. The reader permalink shape is /#/<collection>/<record-id>.

The database lives under ~/.local/share/networkcontext/. The generated local password lives under ~/.config/networkcontext/. This is one person's archive on one machine. The team's shared LinkedIn store is LinkContext.