/stashvision

⚔️ A private stash indexing tool and in-game item highlighting overlay for Path of Exile. 🗡️🧰

Primary LanguageAutoHotkeyMIT LicenseMIT

stashvision

unsplash.com/@romankraft

Stashvision is a proof-of-concept private stash indexing tool and overlay for Path of Exile.

Rationale

Better search

Naive stash searching is something many players have complained about over the years, with few solutions other than just dealing with it until GGG develops more powerful searching functionality.

A number of open source tools exist for searching the stash locally, outside of the game, but it's just as painful having to lookup the item position in-game.

Recipe discovery

Chaos recipes are great for passively making currency, but a time investment trade-off must be made; either play stash tab tetris prior to mapping in an effort to "optimize" rapid stashing of items post-grind, or spend a considerable amount of time (only after your tab(s) are full, granted) searching for the right item classes for each set.

Maybe GGG will implement some form of a premium recipe fulfilling tab in the distant dystopian future, but until then, the only way to truly optimize vendor recipe discovery (WITHOUT buying 10 quad tabs) is to augment your brain with an AI implant, improving chaos recipe item recognition by a factor of 10. As an added bonus, the AI will be able to discern what killed you in Blight encounters when your screen looks like a bowl of spaghetti.

Or just use Stashvision.


Stashvision provides a stash tab item indexing framework and CLI utility for indexing, querying, and recipe scanning your private stash tabs, as well as an AutoHotkey-based overlay that highlights the items at the press of a hotkey.

No auto-clicking is involved, so Stashvision should be 100% ToS compliant.

Features

  • Private stash tab indexing and full-text search (powered by Bleve).
  • Customizable stash tab item highlighting for search results and recipes.
  • Portable as heck, the user is not expected to install any developer frameworks or runtimes other than AutoHotkey, which many PoE players have installed regardless for PoE-TradeMacro.
  • Non-intrusive to the game client. Completely hotkey-driven, and absolutely no auto-clicking.

Caveats

  • Avoid manipulating your stash tabs (or at least the one being scanned) excessively, as updates are nowhere close to real-time. For chaos recipes, the ideal workflow would be to start with a full quad tab, highlight the recipe, move items from the stash to your inventory, vendor, cycle to the next set of items, rinse and repeat, all without moving any items around, or adding new ones to the stash tab.
  • The overlay only works if your game is running in windowed borderless mode. The language will also likely need to be set to English, much like PoE-TradeMacro and other tools that consume PoE's stash API.

Screenshots

Search capability Chaos recipe highlighting

Quickstart

  1. Download the current version of AutoHotkey (not V2).
  2. Download and extract the latest release of Stashvision.
  3. Copy stashvision.ini.example to stashvision.ini, and fill in your POESESSID, account name, and any other desired configuration.
  4. Run stashvision.ahk.

Note: Ensure your game client is running in borderless mode, and the language is set to English.

Default Hotkeys

shift + alt + c: Highlight chaos recipe in configured stash tab. Subsequent triggers will cycle through multiple recipe item sets. After all sets have been cycled through, a new index scan will occur.

shift + alt + s: Search and highlight items in configured stash tab.

escape: Close the overlay or search window.

Configuration (stashvision.ini)

Account settings

[General]
SessionId = xxx
AccountName = xxx

SessionId is your POESESSID.

Stash settings

[Stash]
DumpTabIndex = 0
DumpTabQuad = true

Currently, Stashvision only supports searching and highlighting one tab at a time.

Display

[Display]
DefaultHighlightBorder = 0xff1aff1a

Expected color code format is AARRGGBB.

Hotkeys

[Bindings]
ChaosRecipe = +!c
Search = +!s

See AutoHotkey's documentation on hotkey modifier symbols for more information.

Indexer application

Stashvision provides a Golang-based indexer application that can be invoked separately from the AutoHotkey script, to manually manage a local index, search for items, or scan a stash index for sets of items that meet vendor recipe criteria.

$ ./stashvision.exe
stashvision - Index and analyze your Path of Exile stash.

commands:
  q, query     query stash items index
  r, recipe    evaluate recipes against index
  s, server    run stash indexing server

usage:
  stashvision query [--json] -s=<querystring>
  stashvision server -s=<poesessionid> -a=<account_name>

arguments:
  --help             show this screen
  --version          show version

Search

See Bleve's query string syntax for specifics about query string format. Features at a glance include:

  • Boolean queries (prefix items with + or -)
  • Phrase queries (quote phrases with double quotes)
  • Numeric queries (e.g. field:>8, field:<=9, or field:10)

In addition to robust searching capability, Stashvision adds a number of fields to item metadata that are not easily searchable in-game.

Note: Due to shortcomings of the indexing library used, Stashvision stores boolean fields as integers. So a query string for identified:true should actually be identified:1.

Fields

class
corrupted
frameType
h
icon
id
identified
ilvl
inventoryId
league
name
numLinks
numSockets
properties
tabIndex
typeLine
verified
w
x
y

Convenience fields

class: The class name of an item, e.g. Gloves, Body Armour, or Boots.

numSockets: The total number of sockets on an item.

numLinks: The name is a bit of a misnomer, as this is really just the maximum number of links across all socket groups.

Roadmap

In no particular order...

  • Settings GUI
  • Autocomplete search
  • OAuth
  • Multiple stash tab support
  • Detect in-game stash tab state non-intrusively
  • More vendor recipe support
  • Automatically find item sets (i.e. ring + ring + amulet) that fulfill missing resistance values
  • Total potential chaos recipe reward displayed as another overlay