Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tcp6LGbfwMjznKx2UF1Zd
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tcp6LGbfwMjznKx2UF1Zd
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017tcp6LGbfwMjznKx2UF1Zd
Contributor
Try this script
COMMUNITY_SCRIPTS_URL=https://raw.githubusercontent.com/andy-vdg/DevScripts/hindsight \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/andy-vdg/DevScripts/hindsight/ct/hindsight.sh)"
Against a core branch as wellAdd Useful flags while testing
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✍️ Description
New script: Hindsight, an open-source memory server for AI agents (MIT, Python). Agents store conversations and documents in memory banks, then recall facts, entities and their history, or reflect on them, through a REST API, SDKs and a built-in MCP server.
ct/hindsight.sh,install/hindsight-install.sh,json/hindsight.json.fetch_and_deploy_gh_release … "tarball", thensetup_uvwith Python 3.11 anduv sync --locked --package hindsight-api-slim --extra local-ml, the same lockfile and extras as upstream's Dockerfile. The embedding and reranker models the Dockerfile preloads (BAAI/bge-small-en-v1.5,cross-encoder/ms-marco-MiniLM-L-6-v2) are downloaded during install, so the first start needs no network.setup_postgresql/setup_postgresql_db(extensionsvector,pg_trgm,btree_gin). Upstream's embeddedpg0database is not used: itsinitdbrefuses to run as root./opt/hindsight.env; data and model cache:/opt/hindsight_data. Both are outside the deploy target, so the update needs no backup.app_vars(var_llm_provider,var_llm_api_key,var_llm_model,var_llm_base_url); nothing is asked inside the container. Left empty, Hindsight starts with itsnoneprovider (memories are stored as plain chunks, no extraction or reflect), and the install ends with amsg_warnnaming the file to edit. For a local LLM, the base URL can point at the Ollama script's container (http://<ollama-ip>:11434/v1).ApiKeyTenantExtensionwith a key fromrandom_password 48, saved to~/hindsight.creds(mode 600) next to the database login. The REST API and the MCP endpoint then needAuthorization: Bearer <key>;/healthand/docsstay open. The closing message and a json note say where the key is. The API listens on0.0.0.0:8888, like the Dockerfile.check_for_gh_release,CLEAN_INSTALL=1redeploy,uv syncagain.Upstream research:
docker/standalone/Dockerfile(python:3.11-slim,uv sync --locked … --extra local-ml --extra embedded-db, model preload,EXPOSE 8888,HINDSIGHT_API_HOST=0.0.0.0);hindsight_api/pg0.pyfor the embedded database;hindsight_api/config.pyfor the variables; the alembic migrations for the extensions they create.🔗 Related PR / Issue
Link: None
✅ Prerequisites (X in brackets)
🏗️ arm64 Support (X in brackets)
No arm64 host available, so
var_arm64is left unset (the user is asked) and the json has noarchitectures. The lockfile pins CPU torch wheels for x86_64; arm64 wheels exist upstream but are untested here.🖥️ Tested on (X in brackets)
Proxmox VE 9, Debian 13 template, unprivileged:
noneprovider);initializewithout the key → 401, with it → 200;/healthand/docs→ 200;pct reboot: service back, health 200;~/.hindsight: 1.0.0 → 1.1.0 deployed,uv syncrebuilt the environment, config unchanged, the stored memory still recalled.🛠️ Type of Change (X in brackets)
README,AppName.md,CONTRIBUTING.md, or other docs.🔍 Code & Security Review (X in brackets)
CODE-AUDIT.md&CONTRIBUTING.mdguidelinesAppName.sh,AppName-install.sh,AppName.json)fetch_and_deploy_gh_release,fetch_and_deploy_codeberg_release,fetch_and_deploy_gl_release, orfetch_and_deploy_from_urlinstead ofgit pull.🤖 AI Assistance (X in brackets)
AGENTS.mdand.github/agents/pve-script-creator.agent.mdas guidance, and the output has been reviewed and corrected to match those guidelines.Claude Opus 5.5 (Anthropic), medium reasoning, in Claude Code: read upstream's Dockerfile and source, drafted the scripts and the JSON from
AGENTS.md, and ran the test builds on my Proxmox hosts. I made the design decisions, ran the interactive installs and reviewed the result.📋 Additional Information (optional)
The generated API key departs from upstream's default (no authentication). If upstream's default is preferred, the change is the two
HINDSIGHT_API_TENANT_*lines and the creds block; they can be swapped for a warning note.📦 Application Requirements (for new scripts)
🌐 Source