Preserve architectural decisions, trade-offs, and next actions in a local web app.
Project description
afterthread
Keep the thread after the conversation ends.
afterthread 是一個 local-first 的個人知識延續工具,用來保存討論結束後最容易
蒸發的架構脈絡:決策、理由、替代方案、取捨、風險與下一步。主要介面是一個由
FastAPI、SQLite 與 React 組成的本機網頁應用;wheel 已內嵌完整前端,只需要一個
afterthread 指令即可啟動。
目前是早期版本,支援 Python 3.14,以及 Linux/macOS。Windows 尚未列入支援 範圍。
安裝與啟動
不需要常駐安裝,直接執行:
uvx afterthread
或安裝成固定指令:
uv tool install afterthread
# 或
pipx install afterthread
啟動後以瀏覽器開啟 http://127.0.0.1:8000。資料預設儲存在
$XDG_DATA_HOME/afterthread;未設定 XDG_DATA_HOME 時使用
~/.local/share/afterthread。可用 afterthread --data-dir <path> 覆寫。
功能
- 快速捕捉一個決策、調查主題或擱置工作。
- 逐步補齊背景、理由、替代方案、後果、風險與下一步。
- 以狀態、階段、標籤與關鍵字篩選,回顧陳舊或待補齊項目。
- 選配 OpenAI-compatible LLM,提供結構化的 AI 捕捉、補齊與進度更新。
- 讓 AI 依 OpenAPI 文件建立可呼叫外部 API 的本機工具。
本產品沒有聊天介面;AI 功能都是針對單一記憶項目的結構化操作。
AI 設定與隱私
手動新增、編輯、刪除、篩選與回顧不需要 LLM。若要啟用 AI 功能,請在資料目錄
建立 .env:
OPENAI_BASE_URL=https://your-endpoint.example/v1
OPENAI_API_KEY=your-key-if-required
OPENAI_MODEL=your-model
記憶項目儲存在本機 SQLite;但使用 AI 功能時,正在處理的內容會傳送到你設定的 LLM endpoint。若 endpoint 是遠端服務,內容就會離開本機。
KB 工具安裝器能讓 AI 執行真實 bash 指令,而且沒有容器隔離。只應使用你信任的 OpenAPI 文件與安裝指示;完整威脅模型與設定參考請閱讀 afterthread 文件。
授權
MIT License。Copyright (c) 2026 birdhackor。
Project details
Release history Release notifications | RSS feed
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 afterthread-0.1.0.tar.gz.
File metadata
- Download URL: afterthread-0.1.0.tar.gz
- Upload date:
- Size: 419.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8224de0c9da00f320ee3c3559d0464a03b085cc711a44149a50f0b8a8c097291
|
|
| MD5 |
42d6e50fba208172c655eb2b4a663510
|
|
| BLAKE2b-256 |
6eee75222e0c2476b4fd17cbc94f2b531d27a781008ce9f494875ebfaa56d467
|
Provenance
The following attestation bundles were made for afterthread-0.1.0.tar.gz:
Publisher:
release.yml on birdhackor/afterthread
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
afterthread-0.1.0.tar.gz -
Subject digest:
8224de0c9da00f320ee3c3559d0464a03b085cc711a44149a50f0b8a8c097291 - Sigstore transparency entry: 2212786199
- Sigstore integration time:
-
Permalink:
birdhackor/afterthread@cfec8a1af74e8b92364385b5faadcd534619f7f7 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/birdhackor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cfec8a1af74e8b92364385b5faadcd534619f7f7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file afterthread-0.1.0-py3-none-any.whl.
File metadata
- Download URL: afterthread-0.1.0-py3-none-any.whl
- Upload date:
- Size: 423.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c484405687160a30bc8cf449ff60c8915fd423434d4bcc8af714839a9fa7fa6a
|
|
| MD5 |
2fe3e9f200d9c0cd7b6a5f47c0d56b15
|
|
| BLAKE2b-256 |
da1d053d22c376670971159cf97ca0cac2f59f72d892b952722bf1754586fef5
|
Provenance
The following attestation bundles were made for afterthread-0.1.0-py3-none-any.whl:
Publisher:
release.yml on birdhackor/afterthread
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
afterthread-0.1.0-py3-none-any.whl -
Subject digest:
c484405687160a30bc8cf449ff60c8915fd423434d4bcc8af714839a9fa7fa6a - Sigstore transparency entry: 2212786305
- Sigstore integration time:
-
Permalink:
birdhackor/afterthread@cfec8a1af74e8b92364385b5faadcd534619f7f7 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/birdhackor
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@cfec8a1af74e8b92364385b5faadcd534619f7f7 -
Trigger Event:
release
-
Statement type: