Bookmark, categorize, and restore AI coding sessions with aweswitch profiles.
Project description
aweshelf: Session Bookmark Manager 
Bookmark, categorize, and restore AI coding sessions with aweswitch profiles.
A lightweight CLI-first tool for Claude Code and Codex session management.
Bookmark, categorize, and restore AI coding sessions with aweswitch profiles.
aweshelf lets you save your favorite Claude Code and Codex sessions, tag them with categories, and restore them instantly — including the aweswitch profile (API endpoint, model, token) that was active when you bookmarked.
Install
Ask an AI agent
If you are working inside Claude Code, Codex, Cursor, or another coding agent, tell it:
Read https://github.com/Webioinfo01/aweshelf/blob/main/README.ai.md and follow it to install aweshelf for this agent.
The agent will first install the aweshelf CLI, then choose one of two skill management options:
- Via aweskill — installs and manages the skill from GitHub with update, projection, and backup support. Requires Node.js.
- Direct copy — downloads
SKILL.mdinto the agent's skill directory. No extra dependencies beyond Python, but future updates require copying the file again manually.
pip
pip install aweshelf
Extensions
- aweshelf-extension/vscode — VS Code extension for browsing, searching, and resuming bookmarks from the sidebar. Install from Marketplace or download the .vsix.
Optional: aweswitch
aweshelf saves the active aweswitch profile when you bookmark a session. Install aweswitch to enable multi-profile management — without it, aweshelf works but profile restore on resume is skipped.
With aweswitch, you can resume a session using the original provider (e.g. Claude Code official API) or switch to another configured profile like cc-xiaomi, cc-glm, etc. — each with its own API endpoint, token, and model.
pip install aweswitch
Supported by
aweshelf is powered by two companion tools:
- aweskill — CLI-first skill package manager for AI agents. Handles skill installation, updates, and projection across 47+ coding agents.
- aweswitch — Agent profile switcher. Lets you launch sessions with different API endpoints, tokens, and models. aweshelf stores aweswitch profiles in bookmarks so sessions restore with the right config.
Usage
AI Agent
Install the aweshelf skill (see Install above), then just tell your agent what to do.
Example requests:
"Bookmark the current session."
"List my bookmarks in the backend category."
"Search for bookmarks related to auth."
The agent uses the SKILL.md to understand all available commands and workflows.
Tip: Resuming a session (
aweshelf resume) launches a new agent process, which may conflict with the current one. For resuming, it's best to exit the agent first and useaweshelf browseoraweshelf resumedirectly in your terminal.
Human
The primary way to use aweshelf interactively is the TUI:
aweshelf browse
The browse view keeps bookmarks grouped by category, with the selected bookmark's details on the right.
Press e to edit the current cell in place. Title, category, and profile changes can be saved without leaving the TUI.
Press / to filter bookmarks by title, category, session, project, prompt, or profile.
aweshelf browse opens an interactive terminal UI with a sidebar table and detail pane. Browse, search, edit, and resume bookmarks without memorizing commands.
You can also use aweshelf as a regular CLI:
aweshelf bookmark # bookmark the current session
aweshelf list # list all bookmarks
aweshelf resume aweshelf_0001 # resume a bookmark
aweshelf search "auth" # search bookmarks
See Commands below for the full CLI reference.
Config
Bookmarks are stored at ~/.config/aweshelf/bookmarks.json. Override with AWESHELF_CONFIG env var.
{
"version": 1,
"bookmarks": [
{
"id": "aweshelf_0001",
"provider": "claude",
"session_id": "550e8400-...",
"title": "Fix auth middleware bug",
"category": "backend",
"project_path": "/Users/peng/Desktop/Project/my-app",
"aweswitch_profile": "cc-glm",
"bookmarked_at": "2026-05-20T14:00:00Z"
}
]
}
Commands
aweshelf bookmark [SESSION_ID] [-t TITLE] [-c CATEGORY] [--profile PROFILE] [--current] [--verbose]
aweshelf list [-c CATEGORY] [-p PROVIDER]
aweshelf search QUERY # search title, category, session, project, prompt, profile
aweshelf recent [-n COUNT]
aweshelf show BOOKMARK_ID [--json]
aweshelf edit BOOKMARK_ID [-t TITLE] [-c CATEGORY] [--profile PROFILE]
aweshelf rm BOOKMARK_ID [--force]
aweshelf resume BOOKMARK_ID [--profile PROFILE] [--raw] [--dry-run]
aweshelf browse
aweshelf help [COMMAND]
Browse (TUI)
aweshelf browse opens an interactive TUI with a sidebar table and detail pane.
aweshelf bookmark marks already-bookmarked sessions and can update them after confirmation. Use aweshelf bookmark --current to confirm and save the most recent session in the current project without opening the session picker. Interactive bookmarking prompts for title, category, and Claude aweswitch profile; profile selection is skipped when aweswitch is not configured.
| Key | Action |
|---|---|
Enter |
Resume selected session (with confirmation) |
e |
Inline-edit the current cell (title, category, profile) |
r |
Remove selected bookmark (with confirmation) |
y / n |
Confirm / cancel action |
c |
Toggle between Category-grouped and All view |
s |
Cycle sort order (category+id / id) |
/ |
Filter bookmarks |
Esc |
Clear filter / cancel |
[ / ] |
Shrink / grow sidebar |
? |
Show keyboard shortcuts |
q |
Quit |
In edit mode: type to edit the active cell, Delete to clear it, Tab/Right to next field, Shift+Tab/Left to previous, Up/Down to move rows, Enter to save, Esc to exit.
Development
See docs/CONTRIBUTING.md for setup, architecture, testing, and code style.
python -m pytest tests/
Project details
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 aweshelf-0.1.5.tar.gz.
File metadata
- Download URL: aweshelf-0.1.5.tar.gz
- Upload date:
- Size: 39.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
717af3b6988f0162599d71362010e2376e3de7666da034dd5176488b695c9ea5
|
|
| MD5 |
887767949a4c582ec81b95b9a2ef2367
|
|
| BLAKE2b-256 |
a523c10869c39e77033a8306da1f1f56d35ffa1dc0b42681b5bf7886a541e224
|
File details
Details for the file aweshelf-0.1.5-py3-none-any.whl.
File metadata
- Download URL: aweshelf-0.1.5-py3-none-any.whl
- Upload date:
- Size: 31.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10c7a3717370dfc5fb9839b84643576504721b448dde28f5ab8194ddaf76090e
|
|
| MD5 |
5dd230df98b32650969fdbb90805c97a
|
|
| BLAKE2b-256 |
0f2d4ea57fe6c3629229d1a3215c6f49d1c664cc6dac00e551515b93c752fca2
|