TokenKnows

io.github.johnnywuj81由 GitHub 账号 johnnywuj81 发布v0.3.0更新于 Oct 28, 2026

Distill AI coding sessions into weekly reports, ADRs and a knowledge graph - self-hosted

概览

AI 生成的概览

自托管的 MCP 服务器,采集 AI 编程会话并提炼为周报、ADR、事故复盘和知识图谱。

可以做什么
  • 把 AI 编程工具中的会话事件提交到 TokenKnows 后端
  • 运行提炼流水线,生成周报、技术设计、ADR、事故复盘、长文书籍和 agent 技能等文档
  • 列出并读取已生成的资产及其章节
  • 检索由会话构建的实体知识图谱
  • 返回生成文档在 Web 界面中的查看链接
适用场景
适合大量使用 Claude Code、Codex、Cursor 或 VS Code 的开发者,希望把会话中的决策与权衡沉淀为可追溯来源的长期文档,而不是随终端关闭而消失。前提是愿意自行部署 TokenKnows 后端和 Web 界面。
运行要求
以 stdio 本地运行,通过 uvx 从 PyPI 拉取,需要 uv。需要自托管的 TokenKnows 后端(默认 localhost:8001)和 Web 界面(默认 localhost:5173)。可选环境变量:TOKENKNOWNS_API_BASE、TOKENKNOWNS_API_TOKEN、TOKENKNOWNS_DEFAULT_PROJECT、TOKENKNOWNS_WEB_BASE。后端要求鉴权时,需在 Web 界面的项目设置中创建 API 令牌。仅支持桌面端;macOS 体验完整,Linux 需手动运行,Windows 未测试。
安装前请注意
TOKENKNOWNS_API_TOKEN 是访问后端的 bearer 凭据,不要写入共享配置。该服务器会提交会话数据并触发文档生成,会写入你的后端。采集来源包括 Documents 下的本地文件,以及通过 gh auth 令牌读取的 GitHub PR、issue 和 commit。若开启出网开关,可能调用云端 LLM,添加云厂商密钥前请先检查出网设置。

安装

在 SourceWeft 中

  1. 打开 控制台中的 TokenKnows,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[TokenKnows logo]

TokenKnows

Distill AI coding sessions into living knowledge — weekly reports, ADRs, incident reviews, books, agent skills, and a knowledge graph.

[License] [CI] [Claude Code plugin] [MCP server] [PRs welcome]

English | 简体中文

[TokenKnows demo: capture an AI coding session, distill it into a weekly report and knowledge graph]


What is TokenKnows?

You spend hours pair-programming with Claude Code, Codex, and Cursor. The decisions, bug hunts, and design trade-offs from those sessions evaporate the moment the terminal closes. TokenKnows captures them automatically and distills them into structured, evidence-linked knowledge assets:

capture (6 collectors) → distill (5-stage LLM pipeline) → assets (7 document types) → review / redact / publish

  • 📡 Captures everything — Claude Code, Codex, Cursor, VS Code, GitHub PRs/commits/issues, and local docs, all via local file watchers and API polling. No webhooks, no tunnels.
  • 📝 Seven asset types — weekly reports, tech designs, ADRs, incident reviews, long-form books, reusable agent skills (SKILL.md), and an entity knowledge graph.
  • 🔗 Evidence-linked — every paragraph traces back to the original PR / conversation / commit, ranked by cosine × trust × recency across ≥2 sources.
  • 🔒 Local-first, zero egress by default — a three-layer LLM egress gate (instance ∧ project ∧ task) with full audit logging. Pair it with Ollama and run the whole pipeline with zero cloud keys.

Demo

WorkbenchDocument page
[图片][图片]
Evidence drawerPublish receipt + version diff
[图片][图片]

▶ Full walkthrough: engineering_handoff/walkthrough.mp4 (5 min, Chinese narration + subtitles)

All 12 screens
1 Workbench2 Event drawer3 Document list4 Document page
[图片][图片][图片][图片]
5 Evidence drawer6 Regenerate dialog7 Review8 Redaction
[图片][图片][图片][图片]
9 Publish dialog10 Publish receipt + diff11 LLM egress12 Admin
[图片][图片][图片][图片]

Install the plugin

Prerequisite: the TokenKnows backend at http://localhost:8001 and the web UI at http://localhost:5173 (see Quick start), plus uv (the plugin pulls the MCP server from PyPI via uvx). All plugin env vars have working local defaults — export TOKENKNOWS_API_BASE / TOKENKNOWS_API_TOKEN / TOKENKNOWS_DEFAULT_PROJECT / TOKENKNOWS_WEB_BASE only for non-default setups. Register/login in the web UI and create an API token under Project Settings → MCP 接入 when your backend requires auth.

PlatformHow
Claude Code/plugin marketplace add johnnywuj81/tokenknows → /plugin install tokenknows@tokenknows — full walkthrough in tokenknows-plugin/README.md (5-minute quickstart)
Codexcodex plugin marketplace add johnnywuj81/tokenknows → codex plugin add tokenknows@tokenknows (loads skills, commands and the MCP server; local-clone alternative in codex-plugin/README.md)
CursorAdd the tokenknows MCP block to ~/.cursor/mcp.json (uvx config example in code/tokenknows-mcp/README.md)
VS CodeDownload the .vsix from Releases → code --install-extension tokenknows-vscode-*.vsix

The plugin gives your AI tool MCP tools (submit_session_events, distill_document, list_assets, get_asset, get_asset_chapters, search_entity) plus slash commands like /tokenknows:weekly and /tokenknows:adr.

Quick start

bash
# 1. (Optional but recommended) Ollama — fully local inference, zero cloud keysollama serve &ollama pull minimax-m2:cloud          # or gpt-oss:20b, qwen2.5, ...
# 2. Backend (FastAPI + SQLite persistence + 3-layer LLM egress gate)cd code/tokenknows-apipython3 -m venv .venv && .venv/bin/pip install -e ".[dev]"cp .env.local.example .env.local      # defaults to Ollama; edit to add cloud providers.venv/bin/uvicorn app.main:app --host 127.0.0.1 --port 8001
# 3. Frontend (React 19 + Vite)cd code/tokenknows-webnpm installnpm run dev# open http://localhost:5173 — talks to the real backend (mocks are opt-in via ?msw=1)
# (Optional) seed demo data./engineering_handoff/demo-seed.sh

Platform support: macOS — full experience (collectors auto-start via launchd). Linux — backend, frontend, and collectors all run manually (python3 plugins/<x>/sync.py --watch); the launchd scripts don't apply. Windows — untested; WSL2 recommended.

Data collectors

All local — no ngrok, no public webhooks. On macOS they restart on crash and on reboot (launchd).

CollectorSourceMode
claude-code~/.claude/projects/*.jsonl30s polling, incremental offsets
codex~/.codex/sessions/**/rollout-*.jsonl30s polling, incremental offsets
cursorCursor's state.vscdb (read-only SQLite)60s polling
githubGitHub REST API · PRs / issues / commits5min polling (gh auth token)
vscodeVS Code extension onDidSaveTextDocumentbuffered, 10s flush
local-docs~/Documents .md .txt .pdf (watchdog)realtime, 2s debounce
bash
./scripts/launchd/install.sh          # macOS: install all 5 Python collectors as LaunchAgentslaunchctl list | grep com.tokenknowstail -f ~/Library/Logs/tokenknows/*.log

Every event carries a trust score (0.6 × source_authority + 0.4 × extraction_confidence); the evidence stage ranks citations by 0.6 × cosine + 0.25 × trust + 0.15 × recency and enforces ≥2 distinct sources.

Architecture

[Architecture overview]

Collectors feed an event store (SQLite). A five-stage pipeline (collect → outline → content → evidence → assess) turns events into assets. The LLM Gateway unifies four providers (Anthropic / OpenAI / MiniMax / Ollama) with per-task routing and fallback chains — and refuses any cloud call unless all three egress switches are on.

CI

WorkflowRunnerTrigger
ci.ymlubuntu-latest (GitHub-hosted)push to main + every PR
ci-macos.ymlself-hosted macOS ARM64maintainer pushes to main only — never runs external PR code

Privacy & local-first

  • Zero egress by default — cloud LLM calls require the instance and project and task switches all on
  • Bring your own keys; the audit log never leaves your machine
  • One-click kill switch drops the instance into fully-offline mode

Details: PRD §6.7 data residency & egress control (Chinese).

Documentation

TopicDoc
Product requirements, user journeysPRD (zh)
Technical design, API, schemaTDD (zh)
Macro architecture & milestonesArchitecture (zh)
Per-screen engineering decisionsTaskTechDesign (zh)
Pixel-level UI mockupsmockups/ — open in a browser

Most in-depth docs are in Chinese (the project's working language). Code comments are predominantly Chinese too; issues and PRs in English or Chinese are both welcome.

Community

CONTRIBUTING · Roadmap · Code of Conduct · Security policy · Issues

License

MIT © 2026 johnnywuj81

来源:README.md,提交 cb216a8

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分