diploid-plugins
Built-in state plugins for diploid-agent.
These plugins implement the diploid-agent plugin contract (StatePlugin lifecycle hooks) and are loaded by the harness through the harness.plugins config.
Included plugins
body— physical/emotional body state that persists across sessions and transport restarts. Includes a felt layer:felt_warmth(an ember that fades per wake/turn, not per wall-clock minute — a restart is not an experience) andfelt_summary(one agent-authored line of texture via thebody_feltMCP tool; never synthesized from telemetry). Reads are pure —state_for_promptnever mutates.continuity— wake state, time asleep, last stop reason, pending dispatches, and active/interrupted-turn breadcrumbs (current_intent/last_side_effect).working_memory— a chat-scoped scratchpad for the current turn.persistent_memory— auto-recall and auto-promote of```memoryblocks, including mid-stream promotion while the reply is still being written.planner— turn a user request into an executable plan.auto_continue— resume a turn automatically after a configured stop reason.self_state— a first-person self-state note across sessions, with a first-person guard that keeps the previous note if a new block is not written inI am/We are/Myform.self_management— in-chat plugin enable/disable and approval tools.curriculum— language-learning target, unit, and vocabulary tracking.identity— self-narrative / identity prompt block.
Install
pip install diploid-agent[plugins]
# or explicitly
pip install diploid-agent diploid-plugins
Usage
In config/harness.yaml:
harness:
plugins:
- name: continuity
module: diploid_plugins.continuity
prompt_slot: wake
first_prompt_only: true
prompt_order: 0
state_file: chat_wake_state.json
max_prompt_chars: 1024
- name: working_memory
module: diploid_plugins.working_memory
prompt_slot: working_memory
first_prompt_only: false
prompt_order: 40
state_file: chat_working_memory.json
max_prompt_chars: 1024
# ... add the rest as needed
Development
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest
Hot reload
With an editable install, plugin changes go live in a running harness without
a service restart: POST /plugin/reload (or Telegram /plugin reload <name>)
deep-reloads the plugin's whole package subtree — every already-imported
submodule, then the package itself — and recycles its instances.
Keep module-level code side-effect free: reload re-executes it. Do real work in
start(), release resources in stop(). A module that fails to import makes
the reload raise and leaves the running instances untouched. Changes in code
outside the plugin's own subtree (e.g. a shared helper package) are not picked
up — reload each dependent plugin or restart the service.
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file diploid_plugins-0.1.0.tar.gz.
File metadata
- Download URL: diploid_plugins-0.1.0.tar.gz
- Upload date:
- Size: 58.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98738ac2a321096c03688eebdb3a97c94ccb61f81cef7dcfb314381c344e737e
|
|
| MD5 |
2abe32f99b1d5083f1a6fdd02e9e4afd
|
|
| BLAKE2b-256 |
47332661e787a5eeaa9fbb09c01ac2ca6649e7fb59d59f5a2cd72984ba9ff58e
|
Provenance
The following attestation bundles were made for diploid_plugins-0.1.0.tar.gz:
Publisher:
publish.yml on emiltsoi/diploid-plugins
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diploid_plugins-0.1.0.tar.gz -
Subject digest:
98738ac2a321096c03688eebdb3a97c94ccb61f81cef7dcfb314381c344e737e - Sigstore transparency entry: 2763792348
- Sigstore integration time:
-
Permalink:
emiltsoi/diploid-plugins@9427c6e3c035bab7abc0deccdfabb41502b43dc3 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/emiltsoi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9427c6e3c035bab7abc0deccdfabb41502b43dc3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file diploid_plugins-0.1.0-py3-none-any.whl.
File metadata
- Download URL: diploid_plugins-0.1.0-py3-none-any.whl
- Upload date:
- Size: 51.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6556c9db75c8c391594f6d69fbdf50ec09d18d3479b0720e08bf41fc097a8b8
|
|
| MD5 |
063c776ba2502d1f0a74394aeac6ba8e
|
|
| BLAKE2b-256 |
ebc2629b18e025e3e6dcb8147edd54692a2c0900d2af276c5b42d8958232223b
|
Provenance
The following attestation bundles were made for diploid_plugins-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on emiltsoi/diploid-plugins
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diploid_plugins-0.1.0-py3-none-any.whl -
Subject digest:
f6556c9db75c8c391594f6d69fbdf50ec09d18d3479b0720e08bf41fc097a8b8 - Sigstore transparency entry: 2763792398
- Sigstore integration time:
-
Permalink:
emiltsoi/diploid-plugins@9427c6e3c035bab7abc0deccdfabb41502b43dc3 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/emiltsoi
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9427c6e3c035bab7abc0deccdfabb41502b43dc3 -
Trigger Event:
push
-
Statement type: