惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
云风的 BLOG
云风的 BLOG
IT之家
IT之家
The Register - Security
The Register - Security
博客园_首页
博客园 - 聂微东
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】
腾讯CDC
F
Full Disclosure
F
Fortinet All Blogs
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
MyScale Blog
MyScale Blog
T
Tailwind CSS Blog
Jina AI
Jina AI
月光博客
月光博客
A
About on SuperTechFans
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Help Net Security
博客园 - Franky
Vercel News
Vercel News
美团技术团队
C
CERT Recently Published Vulnerability Notes
Security Latest
Security Latest
Scott Helme
Scott Helme
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
www.infosecurity-magazine.com
www.infosecurity-magazine.com
SecWiki News
SecWiki News
The Last Watchdog
The Last Watchdog
U
Unit 42
The Cloudflare Blog
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
T
Tenable Blog
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
B
Blog
Webroot Blog
Webroot Blog
A
Arctic Wolf
S
SegmentFault 最新的问题
aimingoo的专栏
aimingoo的专栏
AWS News Blog
AWS News Blog
I
Intezer
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor GitHub - GenAI-Gurus/awesome-eu-ai-act: Curated tools, official sources, OSS, templates, and guides for EU AI Act compliance. Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders How to Switch AI Chatbots and Why You Might Want To GitHub - MattMessinger1/agentic_refund_guardrail: Safe refund policy layer for AI agents — Python + TypeScript. Same behavior, shared tests. Adam/papers/emergent_values_whitepaper.md at master · strangeadvancedmarketing/Adam Ask HN: How do you stop playing 20 questions with your AI coding tools How far can automation and AI support psychotherapy? - @theU GitHub - stagas/rtdiff: realtime git diff gui and AI-assisted commits A Mac Studio for Local AI — 6 Months Later A History of the Early Years of AI at the University of Edinburgh Why AI Coding Tools Still Feel Stuck on Localhost MSN AI Datacenters Are Becoming Strategic Targets twitter.com Penn Researchers Use AI to Surface Unreported GLP-1 Side Effects in Reddit Posts Show HN: MoodSense AI (ML and FastAPI and Gradio, Deployed on Hugging Face) Moodsense Ai - a Hugging Face Space by aman179102 AI models are terrible at betting on soccer—especially xAI Grok GitHub - xialeistudio/echoic GitHub - HimashaHerath/github-dev-wrapped: AI-powered weekly GitHub activity reports deployed to GitHub Pages GitHub - alejandrobalderas/claude-code-from-source: Architecture, patterns & internals of Anthropic's AI coding agent — reverse-engineered from source maps AI and Tech brief: Ireland ascendant GitHub - Titovilal/context0: Context0 - Never Surrender Training for a Marathon with an AI Coach: What Worked and What Didn't Cyber Pulse: Agentic Intel - Apps on Google Play I Built an AI PR Reviewer That Catches Bugs by Not Looking for Bugs Gen Z workers are so fearful AI will take their job they’re intentionally sabotaging their company’s AI rollout | Fortune How AI Is Reimagining the Game of Golf–For Both Players and Courses GitHub - nattergabriel/reseed: A CLI tool for managing and distributing agent skills across projects Is SVG the final frontier? My AI workflow evolved from prompts to a near-autonomous workflow MLSharp Help - 3DGS Viewer & Generator I put my cognitive field based AI's runtime on GitHub Is Numble the first AI-proof game? A3: Kubernetes for autonomous AI agent fleets | Emergent Principles Deepali Vyas ("The Elite Recruiter") GitHub - msmarkgu/RelayFreeLLM: A restful API designed to route user prompts to various AI model providers. Unionized ProPublica staff are on strike over AI, layoffs, and wages Unleashing the Advantage of Quantum AI We're heading for an AI-fueled 'dementia crisis,' brain scientist warns The AI-Assisted Breach of Mexico's Government Infrastructure [pdf] GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. MSN GitHub - visionscaper/collabmem: Enabling long-term collaboration with Agentic AI - building up episodic and world model memory over time with in-context awareness We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs AI Code is Hollowing Out Open Source, and Maintainers are Looking the Other Way What leaked "SteamGPT" files could mean for the PC gaming platform's use of AI AI is the boss at this retail store. What could go wrong? GitHub - Wuzu11517/agentic-proxy: Local proxy meant to help reduce With Drones, Geophysics and ArtificiaI Intelligence, Researchers Prepare to Do Battle Against Land Mines A Single Operator, Two AI Platforms, Nine Government Agencies: The Full Technical Report 在 Steam 上购买 FriedrichAI: Offline AI 立省 10% GitHub - inevolin/resume-cli: Hit Claude usage limits? Resume any AI coding session elsewhere. Switch tools at zero friction. GitHub - atripati/ark: AI Runtime Kernel — a context operating system for AI agents. Eliminates tool bloat, loads only what’s needed, and gives LLMs their reasoning space back. How to Build a Secure AI PR Reviewer with Claude, GitHub Actions, and JavaScript This Startup Wants You to Pay Up to Talk With AI Versions of Human Experts Intel Arc Pro B70 Brings 32GB VRAM to Local AI for $949 WordPress 7.0: The Good, the AI, and the Still Missing AI on the couch: Anthropic gives Claude 20 hours of psychiatry IatroBench: Pre-Registered Evidence of Iatrogenic Harm from AI Safety Measures AI Agents Know About Supabase. They Don't Always Use It Right. The history and future of AI at Google, with Sundar Pichai Inside an AI‑enabled device code phishing campaign How Meta Used AI to Map Tribal Knowledge in Large-Scale Data Pipelines AI for Systems: Using LLMs to Optimize Database Query Execution Forecasting the Economic Effects of AI Introducing Tinker: Play with AI, bring your ideas to life AI sheds light on an ancient gaming mystery People really hate AI but not as much as Iran—or Democrats | Fortune What is an AI Product Engineer? Phoebe Gates wants her $185 million AI startup to succeed with 'no ties to my privilege or my last name': 'I have a chip on my shoulder' | Fortune
GitHub - ShellFans-Kirin/drift_ai: Local-first CLI: capture AI coding sessions, compact them, bind to commits via git notes. Day-one Claude Code + Codex.
rueichu_haun · 2026-04-28 · via Hacker News - Newest: "AI"

🌐 English · 日本語 · 简体中文 · 繁體中文

crates.io CI

Vendor-neutral handoff for AI coding tasks — between Claude, GPT, Gemini, DeepSeek, local LLMs. Reads from Claude Code, Codex, Cursor, Aider. Local-first.

drift handoff bidirectional


🧠 AI coding breaks when you switch agents

Claude stalls. Codex refuses. Cursor goes off-track.

You spend 30 minutes re-explaining context you already solved.

  • What decisions were made?
  • What approaches already failed?
  • Which file you were editing?

👉 None of that survives a session.


❌ Git tracks code — not AI reasoning

Git shows what changed.

It does NOT tell you:

  • why it was written
  • what was rejected
  • which agent produced it
  • what context led here

That reasoning disappears.


✅ Drift solves this

Drift is git blame for AI decisions


⚡ Before / After

Before

  • Copy-paste chat history
  • Re-explain everything
  • Lose decisions
  • AI repeats mistakes

After

  • Structured markdown brief
  • Decisions + rejected paths included
  • Resume instantly
  • No re-explaining

The problem: Your AI coding agent stalled — refused, rate-limited, or just got dumb. Now you need to transfer 30 minutes of context to another agent. Re-pasting a chat history doesn't work; the new agent doesn't know which decisions are settled, which approaches you already rejected, or which file you were halfway through.

drift handoff packages your in-progress task into a markdown brief any LLM can absorb cold:

$ drift handoff --branch feature/oauth --to claude-code
⚡ scanning .prompts/events.db
⚡ extracting file snippets and rejected approaches
⚡ compacting brief via claude-opus-4-7
✅ written to .prompts/handoffs/2026-04-25-1530-feature-oauth-to-claude-code.md

The brief lists what you've decided, what you tried and rejected, what's open, and where to resume. Paste it into the next agent and they pick up mid-task without you re-explaining.

drift is built on top of an attribution engine that watches the local session logs of your AI coding agents (Claude Code, Codex, Cursor, Aider...), LLM-compacts each completed session, stores the result in .prompts/ inside your git repo, and binds each session to its matching commit via git notes. The handoff feature is the cross-agent task-transfer wedge; the attribution engine powers drift blame / drift log underneath.

After installation, drift log still shows multi-agent attribution per commit:

commit abc1234 — Add OAuth login
   💭 [claude-code] 7 events accepted, 0 rejected
   💭 [codex]       3 events accepted, 1 rejected
   ✋ [human]       2 manual edits

…and drift blame still resolves any line back to its full timeline. See docs/VISION.md for the broader thesis.

Why drift exists

AI coding stopped being a single-agent workflow. A real session today involves:

  • Switching agents mid-task: Claude rate-limits, Codex stalls, the model goes off the rails — refusing tasks, hallucinating tool calls, or producing low-quality output. You move to another agent and burn 10 minutes re-explaining what you'd already decided and rejected.
  • Forgetting your own work: a week later, git blame tells you which line you wrote, but not which prompt produced it, which approach was settled, or why.
  • Onboarding teammates with zero context: they see the code, but the reasoning lived in someone else's chat history on someone else's laptop.

drift Cursor session → Claude Code handoff

drift turns that disposable AI trail into durable project memory:

  • Capture, locally: drift capture (and drift watch for live mode) reads the session JSONL your agents already write under ~/.claude/projects/ and ~/.codex/sessions/. Nothing leaves your machine except an optional Anthropic compaction call you can turn off.
  • Compact, into markdown: each session becomes a small markdown summary in .prompts/sessions/ — decisions kept, approaches rejected, files touched. Cheap to read, cheap to grep, survives any vendor migration because it's just text in your repo.
  • Bind, to commits: drift bind / drift auto-bind attaches each session to the commit it produced via git notes (refs/notes/drift). The link travels with the repo; it does not pollute commit history.
  • Hand off, when you switch agents: drift handoff --branch <b> --to <agent> produces a brief the next agent can absorb cold — what's done, what's open, what was already rejected, and where to resume.
  • Reverse-lookup, when you forget: drift blame <file> [--line N] returns the full timeline behind a line of code: which session, which prompt, which agent, plus the human edits that landed on top.
  • Forward-lookup, when you remember the session but not the diff: drift trace <session-id> lists every CodeEvent that session produced.
  • Audit, across a release: drift log is git log with a per-agent summary under each commit — useful when you need to answer "how much of this release was AI vs. human" without trusting LOC ratios.

Net effect: multi-agent AI coding becomes something you can hand off, review, and reconstruct months later — instead of a chat history that disappears the next time you close a tab.

Install

Homebrew (macOS arm64/x86_64, Linux arm64/x86_64):

brew install ShellFans-Kirin/drift/drift

crates.io (Rust 1.85+ toolchain required):

cargo install drift-ai

Pre-built binaries (GitHub Releases):

curl -sSfL https://github.com/ShellFans-Kirin/drift_ai/releases/latest/download/drift-v0.4.2-$(uname -m)-unknown-linux-gnu.tar.gz \
  | tar xz -C /tmp && sudo mv /tmp/drift /usr/local/bin/drift
drift --version

From source:

git clone https://github.com/ShellFans-Kirin/drift_ai.git
cd drift_ai
cargo install --path crates/drift-cli

Privacy & secrets

drift does not scrub session content. Anything you typed into your Claude Code / Codex session — including secrets you may have pasted — will be mirrored into .prompts/ and, by default, committed to your repo.

Two knobs today:

  1. Set [attribution].db_in_git = false in .prompts/config.toml to keep events.db local only.
  2. Review .prompts/sessions/ before git add.

By default, db_in_git = true (teams share blame via the repo). For solo repos or sensitive content, flip it to false — see Configuration.

A future release will add a regex-based redaction pass. For full coverage today, pair drift with gitleaks or trufflehog as a pre-commit hook.

If you routinely paste secrets into AI sessions, wait for the redaction pass before enabling drift on shared repos.

The first time you run drift capture, you'll see a one-shot notice restating the above; press Enter to acknowledge. Set DRIFT_SKIP_FIRST_RUN=1 to suppress in CI.

See docs/SECURITY.md for the full threat model and roadmap.

Quickstart

Six commands, zero config:

cd your-git-repo
drift init                                          # scaffold .prompts/
drift capture                                       # pull sessions from ~/.claude + ~/.codex
drift handoff --branch feature/oauth --to claude   # task transfer (since v0.2)
drift blame src/foo.rs                              # reverse lookup: who wrote what
drift trace <session-id>                            # forward lookup: session → events
drift install-hook                                  # auto-run after each commit

drift handoff is the v0.2 headline feature: package your in-progress task into a brief the next agent can absorb cold. See §Handoff for the full flow.

Verified from /tmp with zero prior state:

rm -rf /tmp/drift-smoke && mkdir -p /tmp/drift-smoke && cd /tmp/drift-smoke
git init -q && git config user.email "x@y" && git config user.name x
drift init && drift capture && drift list

Handoff — cross-agent task transfer

drift handoff reads your local events.db (built up by drift capture or drift watch), filters down to the sessions in the scope you ask for, and produces a markdown brief structured for handoff:

  • What I'm working on — 3-5 sentences of intent (LLM-compacted).
  • Progress so far — done / in-progress / not-started bullets.
  • Files in scope — modified ranges with ±5 lines of context.
  • Key decisions — with session+turn citations.
  • Rejected approaches — pre-extracted from session tool errors.
  • Open questions / blockers.
  • Next steps.
  • How to continue — the prompt to paste into the target agent.
# scope by branch (recommended): all sessions whose commits land on this
# branch since it diverged from main
drift handoff --branch feature/oauth --to claude-code

# scope by time
drift handoff --since 2026-04-25T08:00:00Z --to codex

# single-session debug
drift handoff --session abc12345-xxx --print

# pipe to clipboard or another tool
drift handoff --branch feature/oauth --print | pbcopy

The default model is claude-opus-4-7 — the brief is what the next agent reads verbatim, so narrative quality matters more than for the per-session compaction in v0.1. Each handoff costs ≈ $0.10–$0.30 USD at Opus rates. To trade narrative for ~30× cost reduction, drop to Haiku in .prompts/config.toml:

[handoff]
model = "claude-haiku-4-5"   # default is "claude-opus-4-7"

Live mode — event-driven watcher

drift watch is an event-driven daemon backed by the platform's native file-system notifications (FSEvents on macOS, inotify on Linux, ReadDirectoryChangesW on Windows). It coalesces rapid writes against the same session file inside a 200ms window, so a long running Claude Code or Codex session produces one capture pass per idle moment, not one per tool call. State is persisted to ~/.config/drift/watch-state.toml so a restart resumes rather than rescans. Ctrl-C finishes the current capture and exits cleanly.

drift watch
# drift watch · event-driven; Ctrl-C to stop
#   watching /home/you/.claude/projects
#   watching /home/you/.codex/sessions
#   first run; capturing every session seen
# drift capture · provider=anthropic
# Captured 10 session(s), wrote 192 event(s) to .prompts/events.db
# ...
# drift watch · interrupt received; exiting after last capture

Cost transparency

Every Anthropic compaction call is logged to compaction_calls in events.db with input / output / cache token counts and a computed USD cost (built-in pricing table per model; cross-check against https://www.anthropic.com/pricing before trusting as invoice-ready).

drift cost
# drift cost — compaction billing
#   total calls      : 10
#   input tokens     : 120958
#   output tokens    : 6582
#   cache creation   : 0
#   cache read       : 0
#   total cost (USD) : $0.1539

drift cost --by model
# ── grouped by model (descending cost)
#   key                    calls   input_tok   output_tok     cost (USD)
#   claude-haiku-4-5          10      120958         6582        $0.1539

drift cost --by session
# ── grouped by session (descending cost)
#   key                                     calls   input_tok   output_tok     cost (USD)
#   4b1e2ba0-621c-4977-af3f-2a9df5ac45ec        2       51696         2448        $0.0564
#   ad01ae46-156f-403b-b263-dd04a232873a        1       33662         2390        $0.0456
#   ...

Filter with --since <date>, --until <date>, --model <name>. Switching from Opus to Haiku on the same 10-session corpus takes compaction from $2.91 → $0.15 — a ~19× reduction at the cost of slightly terser summaries.

Cost across providers (v0.4 multi-LLM)

Same 4-turn fixture session, different provider for the handoff brief:

Provider Model Cost USD Latency
Anthropic claude-haiku-4-5 $0.0028 2281 ms
OpenAI gpt-4o-mini $0.0003 3201 ms
Gemini gemini-2.5-flash $0.0003 1505 ms
DeepSeek (compat) deepseek-chat $0.0005 1906 ms
Ollama local model $0 varies

DeepSeek vs default Anthropic Opus on a real handoff: roughly 30× cheaper at similar narrative quality. Switch with one line in .prompts/config.toml — see Configuration.

drift multi-LLM cost comparison

Source: docs/V030-V040-SMOKE.md + docs/V042-BUGFIX-VERIFY.md.

AI-native blame

drift blame is the reverse lookup. Given a line of code, it returns the full timeline of who touched it (multi-agent + human edits), with each entry linked back to the originating session and prompt.

See docs/VISION.md for the three core scenarios: reverse (drift blame), forward (drift trace), and audit (drift log).

MCP integration

Drift AI ships its own stdio MCP server (drift mcp). Any MCP-compatible client can call the five read-only tools — drift_blame, drift_trace, drift_rejected, drift_log, drift_show_event — to query the attribution store without spawning a subshell.

Claude Code (one command):

claude mcp add drift -- drift mcp

Codex:

codex mcp add drift -- drift mcp

Tools are read-only by design — anything that mutates state (capture / bind / sync) stays CLI-only.

Commands

Command Purpose
drift init scaffold .prompts/ + project config
drift capture one-shot: discover sessions, compact, attribute
drift watch background daemon, debounced re-capture
drift handoff [--branch B --to A --print --output P] v0.2 — cross-agent task brief
drift list [--agent A] list captured sessions
drift show <id> render a compacted session
drift blame <file> [--line N] [--range A-B] reverse lookup
drift trace <session-id> forward lookup
drift diff <event-id> single event's unified diff
drift rejected [--since DATE] list rejected AI suggestions
drift log [-- <git-args>] git log + per-agent session summaries
drift bind <commit> <session> attach a session to a commit note
drift auto-bind timestamp-pair every session to its closest commit
drift install-hook install a non-blocking post-commit hook
drift sync push|pull <remote> push/pull refs/notes/drift
drift config get|set|list global + project TOML merge
drift mcp run the stdio MCP server

Configuration

Global: ~/.config/drift/config.toml Project (overrides): <repo>/.prompts/config.toml

[attribution]
db_in_git = true          # default — teams share blame via the repo

[connectors]
claude_code = true
codex = true
aider = false             # feature-gated stub

[compaction]
provider = "anthropic"      # default; switch to "mock" for offline / testing
model = "claude-haiku-4-5"  # or claude-sonnet-4-6 / claude-opus-4-7

[handoff]
model = "claude-opus-4-7"   # narrative-quality is the value; switch to
                            # "claude-haiku-4-5" for ~30x cost reduction

ANTHROPIC_API_KEY: required for the live API compaction path. When it's unset, drift_ai transparently falls back to MockProvider and every summary is labelled [MOCK] so you never mistake a fallback run for a real one — nothing else in the pipeline changes.

How drift compares to Cursor / Copilot history, Cody, and git blame itself: docs/COMPARISON.md.

Honest limitations (v0.4.2)

  • Human-edit detection is SHA-ladder only — we do not claim authorship, the human slug means "no AI session produced this". See VISION.md.
  • Bash python -c "open(...).write(...)" is best-effort; anything the shell lexer misses is caught by the SHA ladder and attributed to human.
  • Codex reasoning items are encrypted; we count them, we do not surface them.
  • Cost totals use a hardcoded pricing table — cross-check against https://www.anthropic.com/pricing before treating as invoice-ready.
  • Context-window truncation is deterministic head+tail elision (Strategy 1); hierarchical summarization (Strategy 2) is stubbed behind a feature flag for a future release.

About

drift is an independent open-source project by @ShellFans-Kirin (shellfans.dev). It is not affiliated with Anthropic, OpenAI, or any other vendor whose agents it integrates with — drift is built on top of their session logs, not by them.

Originally built for myself when I kept losing context between Codex stalls and Claude rate-limits. The v0.2 drift handoff feature is the part I personally use most.

License

Apache 2.0 — see LICENSE.

Contributing

See CONTRIBUTING.md — it walks through adding a new connector using the Aider stub as the worked example.