Show HN: Open-source AI shadow that runs on your machine and acts as you

ole_gooner1 pts0 comments

GitHub - NanoNets/ami: Ami - your AI clone. A local agent harness that connects to your tools, learns your world, and does your busy work. · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

Uh oh!

There was an error while loading. Please reload this page.

NanoNets

ami

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>5 Commits<br>5 Commits

apps

apps

packages

packages

.gitignore

.gitignore

LICENSE

LICENSE

README.md

README.md

ami

ami

package.json

package.json

pnpm-lock.yaml

pnpm-lock.yaml

pnpm-workspace.yaml

pnpm-workspace.yaml

tsconfig.base.json

tsconfig.base.json

View all files

Repository files navigation

Ami - your AI clone

ami-product-video.mp4

Ami is a local agent harness that acts as your clone, not a separate co-worker. It connects to apps, data, repositories, tools with your personal tokens, maintains a live to-do list, learns how you do tasks, and executes the "busy work" tasks on your behalf. It contructs a context graph memory of you and updates entities, relationships, feedback, decisions, writing style, to get more autonomous the more you use it.

Ami runs on your machine. Data lives under ~/.ami/ (SQLite + markdown memory). Nothing is shared with your org. Ami has exactly the access you have, i.e., it can only reach what you can reach. And nothing ships or gets sent without your click.

Quick start

The only prerequisite is Node ≥ 20.

git clone https://github.com/NanoNets/ami.git && cd ami<br>./ami

./ami bootstraps everything on first run.

It installs dependencies (pnpm via corepack)

builds the console and starts the server

Open http://localhost:4141 and walk through onboarding. Paste your Claude API key and connect tools using personal tokens. Both are stored only on this machine.

./ami update # pull the latest, reinstall, rebuild<br>./ami build # force-rebuild the console

Optional extras, install if you want the matching feature:

gh CLI — coding tasks need it to open PRs (brew install gh)

ffmpeg + whisper-cpp — a local meeting recorder with on-device transcription (brew install ffmpeg whisper-cpp)

The console

Page<br>What it does

Home<br>A homescreen with to-dos and meetings

To-do<br>A universal list of to-dos from every connected tool

Chat<br>A copilot chat with the same tool surface as to-do runs. You can ask questions, fire off work, create to-dos, update memory

Agents<br>A page to create agents that run on a schedule

History<br>An archive of past to-dos

Memory<br>A visualization of the current memory as a context graph

Settings<br>Connectors, models, knobs, usage data

Global search and notifications live in the header navbar.

How it works

Ingest — a poller pulls new mentions, DMs, emails, invites, notifications through each connector using your personal tokens / API keys.

Triage — a Claude call classifies each signal as task / FYI / ignore with a due date. Entities and relationships flow into the knowledge base. Your feedback (corrections, dismissals, overrides) become decision traces in the knowledge base that steer future triage.

Act — each to-do item has five actions:

Plan — explores read-only and proposes an editable plan.

Start — runs the task in an isolated Claude Agent SDK session.

Resolve — indicates you did it yourself and updates knowledge base

Dismiss / Snooze — dismissals discourages future triage of similar tasks, snoozed tasks return tomorrow.

Review — deliverables (PR link, doc, event, meeting link) land on the task page along with a drafted reply. Ami never sends anything itself. You edit/approve, then it posts to the originating Slack thread / email thread from your account. Your edits are diffed into memory and refine Ami's execution and voice.

Iterate — feedback on a finished task resumes the same agent session with full context.

Every to-do run and every copilot chat grows the knowledge base.

The context graph memory

Memory is an Obsidian-style markdown knowledge base at ~/.ami/knowledge/ — dossiers with wiki-links, curated by note agents...

memory base search feedback knowledge session

Related Articles