{"id":49275702,"url":"https://github.com/aberration-technology/agent_feed","last_synced_at":"2026-04-25T16:03:19.175Z","repository":{"id":353555270,"uuid":"1219584799","full_name":"aberration-technology/agent_feed","owner":"aberration-technology","description":"agent feed ✨🎞️ ","archived":false,"fork":false,"pushed_at":"2026-04-24T12:02:12.000Z","size":447,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-24T13:11:34.835Z","etag":null,"topics":["agent","feed","github","libp2p","summarization"],"latest_commit_sha":null,"homepage":"https://feed.aberration.technology/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aberration-technology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-24T02:50:57.000Z","updated_at":"2026-04-24T12:44:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aberration-technology/agent_feed","commit_stats":null,"previous_names":["aberration-technology/agent_reel"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/aberration-technology/agent_feed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aberration-technology%2Fagent_feed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aberration-technology%2Fagent_feed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aberration-technology%2Fagent_feed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aberration-technology%2Fagent_feed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aberration-technology","download_url":"https://codeload.github.com/aberration-technology/agent_feed/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aberration-technology%2Fagent_feed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32267710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","feed","github","libp2p","summarization"],"created_at":"2026-04-25T16:03:13.491Z","updated_at":"2026-04-25T16:03:14.611Z","avatar_url":"https://github.com/aberration-technology.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# agent_feed ✨🎞️\n\n`agent_feed` turns local coding-agent activity into a projection-safe feed.\n\nagent activity, reduced to signal.\n\n![lowercase feed projection showing the global discovery feed waiting for settled story streams](docs/image/hero.png)\n\n## what this is\n\n`agent_feed` is a local Rust daemon, CLI, and browser surface for watching\ncoding agents without showing raw logs.\n\nthe default product is local:\n\n```text\nagent streams -\u003e redaction -\u003e story compiler -\u003e local feed\n```\n\nit observes codex, claude, mcp, hooks, transcripts, JSONL streams, and generic\ntelemetry surfaces. events are normalized, redacted, grouped into settled\nstories, then rendered as sparse feed bulletins.\n\nthe screen is meant to be left alone. no scrolling, no dashboard controls, no\nraw prompt/output/diff display.\n\n## getting started\n\n```sh\ncargo install agent_feed_cli --locked\nagent-feed serve\n```\n\nthe package is `agent_feed_cli`. the installed binary is `agent-feed`.\n\n`serve` starts the local daemon and prints the display URL:\n\n```text\nhttp://127.0.0.1:7777/reel\n```\n\nthat is the happy path. `serve` also attaches the latest local codex and claude\ntranscripts in the current workspace by default, so active sessions in that tree\nshould start producing display-safe stories after the daemon is up. use\n`--workspace /path/to/repo` for another tree, `--all-workspaces` for broad local\ncapture, or `--no-agent-capture` if you want to ingest manually. by default it\ntails future transcript writes only; add `--include-history` when you explicitly\nwant to replay selected existing transcript history.\n\n`agent-feed init --auto` is optional setup for hooks, shims, and future\nsessions. `agent-feed open` only opens the display URL in a browser.\n\nto attach active local sessions manually:\n\n```sh\nagent-feed codex active --watch --workspace .\nagent-feed claude active --watch --workspace .\n```\n\nto opt in only one workspace, add `--workspace /path/to/repo` to the codex,\nclaude, or p2p publish commands. events without a matching `cwd` are ignored\nbefore import, story compilation, or p2p publishing.\n\nfor an existing transcript or stream:\n\n```sh\nagent-feed codex import path/to/codex-session.jsonl\nagent-feed claude import path/to/claude-stream.jsonl\n```\n\nthe normal local loop is: start the daemon, attach agent activity when you want\ncapture, and leave the browser feed open.\n\n## safety boundary\n\nraw prompts, secrets, absolute home paths, command output, and file diffs are\nnot display material by default.\n\ndefault posture:\n\n* bind to `127.0.0.1`\n* no cloud\n* no analytics\n* raw event storage off\n* aggressive redaction on\n* path hashing on\n* query params cannot weaken privacy\n\nthe feed is a view of agent activity, not an agent control plane.\n\n## p2p mode\n\np2p is optional. local mode remains the default.\n\n```sh\nagent-feed serve --p2p --publish --feed workstation\n```\n\n`serve --p2p` enables the network-aware browser/discovery UX. add `--publish`\nto make the same long-running process summarize future settled local stories and\npublish signed capsules under the named feed. publication is explicit and\nrequires github auth; if there is no valid local auth session, the cli opens the\ngithub sign-in flow before it starts serving.\n\np2p publishes signed, settled story capsules. it does not publish raw local\nevents by default. subscribers receive already-summarized feed material. to\npublish from every local workspace:\n\n```sh\nagent-feed serve --p2p --publish --feed workstation --all-workspaces\n```\n\nthe hosted browser shell is:\n\n```text\nhttps://feed.aberration.technology/\n```\n\nlocal loopback streams are served by the local daemon, not scraped by the\nhosted static page:\n\n```text\nhttp://127.0.0.1:7777/reel\n```\n\nwith p2p enabled, the root page is the global discovery feed: it asks the edge\nfor network bootstrap/snapshot material and displays any visible, settled story\nheadlines. it never requests raw events.\n\n```text\nhttps://feed.aberration.technology/?feed_mode=discovery\nhttps://feed.aberration.technology/?feed_mode=following\n```\n\nuser paths resolve github usernames through the edge. `user/*` is the wildcard\nform for all visible feeds from that user:\n\n```text\nhttps://feed.aberration.technology/mosure\nhttps://feed.aberration.technology/mosure/*\nhttps://feed.aberration.technology/mosure/workstation\n```\n\ninteractive timeline views can follow feeds in the browser. following is a\nlocal viewer selection; private feed access remains a signed protocol grant.\n\n## repo shape\n\nthis is a Rust workspace with narrow crates for the CLI, local server, adapters,\nredaction, story compilation, summarization, browser UI, p2p protocol/runtime,\nedge support, and test fixtures.\n\nmost contributors should start with:\n\n```sh\ncargo xtask check\n```\n\n`cargo xtask` is a workspace alias for `cargo run -p xtask --`.\n\n## license\n\nlicensed under either of:\n\n* apache license, version 2.0\n* mit license\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faberration-technology%2Fagent_feed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faberration-technology%2Fagent_feed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faberration-technology%2Fagent_feed/lists"}