pi-autotalk
A Pi extension for timed AutoTalk brainstorming from the editor input.
Package details
Install pi-autotalk from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-autotalk- Package
pi-autotalk- Version
0.1.5- Published
- Jul 20, 2026
- Downloads
- 356/mo · 152/wk
- Author
- eiei114
- License
- MIT
- Types
- extension
- Size
- 35.5 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Pi AutoTalk
Timed AutoTalk for Pi: periodically send your editor thoughts to the agent for brainstorming.
Pi AutoTalk turns Pi's interactive editor into a lightweight thinking buffer. Turn it on, type rough notes or mutterings into the editor, and Pi periodically sends them back to the agent as an AutoTalk thought memo.
Status: MVP implemented and locally dogfooded. AutoTalk is always off by default and only runs after /autotalk:on.
Why
Sometimes you do not want to craft a polished prompt. You want to think out loud, let the agent react, and keep moving. AutoTalk is for that mode:
- brainstorming while typing fragments
- talking through an idea before it becomes a task
- keeping momentum without repeatedly pressing submit
- asking Pi to reflect on your current train of thought
What it does
When enabled, AutoTalk:
- watches the interactive editor buffer;
- waits until you have stopped typing for a short moment;
- sends the full buffer on an interval;
- wraps it in an
[AutoTalk]thought-memo prefix; - clears the editor only if the text has not changed since it was read.
It is deliberately conservative. Slash commands are protected, enabled state is not persisted, and AutoTalk messages tell the agent not to edit files, run commands, or send external requests unless explicitly asked.
Commands
| Command | Purpose |
|---|---|
/autotalk:on |
Start timed sending. Does not immediately send existing editor text. |
/autotalk:off |
Stop timed sending and clear AutoTalk footer status. |
/autotalk:mode |
Select busy-agent delivery mode: followUp or steer. |
/autotalk:settings |
Configure interval seconds and delivery mode. |
Behavior details
Sending interval
- Default:
10seconds. - Allowed range:
5to120seconds. - Settings UI rejects non-integers and out-of-range values.
Typing guard
AutoTalk skips a tick if the editor changed within the last 2 seconds. This avoids sending half-typed fragments at the exact moment you are still writing.
Slash-command guard
If the editor starts with /, AutoTalk pauses for that tick and does not clear the editor. This prevents commands like /autotalk:off, /reload, or /model from being auto-sent as thought memos.
Safe clearing
After sending a non-empty buffer, AutoTalk clears the editor only if the editor still exactly matches the text that was sent. If you type more while a send is happening, the new text is preserved.
Empty prompt
If the editor is empty, AutoTalk sends a one-shot continuation prompt:
[AutoTalk]
The editor is empty. From the conversation so far, ask one question to think about next.
That empty prompt is sent only once. It resets after a real non-empty thought memo is sent.
Busy-agent delivery modes
When the agent is already responding:
followUpqueues the thought memo after the current work finishes.steersends it as steering input for the current stream.
Use followUp for orderly logs. Use steer for live brainstorming and course correction.
AutoTalk message format
Non-empty editor text is sent like this:
[AutoTalk]
This is an automatically sent user thought memo.
Expand the ideas, organize the key points, and ask one follow-up question.
Unless explicitly requested, do not edit files, run commands, or send external messages.
--- Thought memo ---
{editor text}
Settings persistence
AutoTalk persists interval and delivery mode globally at:
~/.pi/agent/extensions/autotalk/settings.json
Example:
{
"intervalSec": 10,
"deliveryMode": "followUp"
}
The enabled/disabled state is never persisted. Every Pi session starts with AutoTalk off.
Install
From npm
pi install npm:pi-autotalk
From GitHub
pi install git:github.com/eiei114/pi-autotalk
Local development install
Clone or keep the repo under:
C:/Users/Keisu/Projects/OSS/pi-autotalk
Then add it to a project .pi/settings.json:
{
"packages": [
"..\\..\\..\\OSS\\pi-autotalk"
]
}
After editing settings, reload Pi:
/reload
Quick start
/autotalk:on
Type a thought into the editor and stop typing. After the configured interval, Pi will receive it as an AutoTalk thought memo.
Useful commands:
/autotalk:settings
/autotalk:mode
/autotalk:off
Package contents
| Path | Purpose |
|---|---|
extensions/index.ts |
Pi extension entrypoint and command/timer wiring. |
lib/autotalk.ts |
Settings validation, persistence, and message formatting helpers. |
tests/ |
Node test suite for package metadata, formatting, settings, and registration. |
docs/ |
Release and publishing docs. |
Development
npm install
npm run ci
npm run ci runs:
tsc --noEmitnode --test tests/*.test.mjsnpm pack --dry-run
On pull requests, CI also runs npm run version:check to validate optional version bumps (semver must increase; CHANGELOG.md is required when the version changes). Before opening a PR that bumps package.json#version, run:
BASE_REF=origin/main npm run version:check
Security and privacy
AutoTalk intentionally sends editor contents to the active Pi agent. Treat it like an auto-submit feature.
Safety choices in the MVP:
- starts disabled on every launch;
- requires explicit
/autotalk:on; - never persists enabled state;
- pauses while the editor begins with
/; - does not clear the editor if new text appeared during send;
- frames messages as thought memos, not direct execution requests;
- asks the agent not to edit files, run commands, or send external requests unless explicitly requested.
Pi packages can execute code with your local permissions. Review extensions before installing third-party packages.
For vulnerability reporting, see SECURITY.md.
Release
This package uses npm Trusted Publishing (OIDC). No NPM_TOKEN is required.
On merge to main with a package.json version bump, .github/workflows/auto-release.yml creates the v* tag and GitHub release, then dispatches .github/workflows/publish.yml to publish to npm.
Maintainer flow:
npm version patch # or minor/major — updates package.json, package-lock.json (if present), creates a git commit and tag by default
git push origin main
You can also bump version in package.json in a PR; after merge, auto-release handles tagging and publish.
After merge, run the post-release verification checklist in docs/release.md to confirm the GitHub tag/release, Publish Package workflow, and npm latest all match the new version. A green auto-release run alone is not proof npm received the package.
See docs/release.md for setup, recovery, and verification details.
Links
- npm: https://www.npmjs.com/package/pi-autotalk
- GitHub: https://github.com/eiei114/pi-autotalk
- Issues: https://github.com/eiei114/pi-autotalk/issues
License
MIT