arkism

module
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2026 License: MIT

README

Arkism

English 한국어

Release

Memory, passed on. Arkism is an open-source app that lets AI coding agents share memories and skills.

Carry context between Claude Code, Codex and Gemini CLI. Arkism collects what is worth keeping from your conversations and hands over approved memories that match the current job. A test with real agents showed memories reaching the task, but no gain over a static instructions file yet (report, Korean). Manage memory, tools, model selection and team workflows in one place.

Arkism is still in testing and development. The product overview below and the future roadmap describe different stages of the work.


1. Keep the context as your work moves on

Focused recall, skills on demand and model routing shared across tools

  • Shared memory. Keep decisions, preferences and solutions with their sources.
  • You decide what stays. AI-generated notes are candidates. Agents use them after a person approves them.
  • Shared skills. Manage working methods with versions and history. Any agent connected through MCP can load them; installing them as skill folders covers Claude Code, Codex and ZCode only.
  • Connected work. Configure tasks and teams through model routing and Arkism's own workflow engine.

Start on your own PC, without an Arkism account or Docker. Memory extraction uses your chosen model and agent login. Your model provider's terms and charges still apply.


2. How memory carries on

2.1 Gather

Filter private content from conversations, then create memory candidates with sources

Turn decisions, preferences and solutions from connected agents' conversations into candidates. Keep a link to the source text, and filter private markers and excluded folders first on supported capture paths.

2.2 Check and approve

Compare the source with the note, then approve, edit or reject it yourself

Even candidates quoting your own words wait for review. Check the source and meaning, then approve, edit or reject the note. AI analysis does not replace your approval.

2.3 Find and hand over

Merge search results and pass relevant memories within a size limit

Find approved memories that fit the current task, merge their rankings and pass them within a size limit. Searching by meaning needs embeddings; keyword search works without them.

2.4 Look back at use

Keep records of memory delivery separate from evaluations of the result

Keep delivery records separate from task outcome signals. Delivering a memory does not establish that the model used it or that it caused a good result.

2.5 Tend memory — dreaming

The full improvement loop is in development. Build on duplicate and conflict proposals and outcome signals: review the reason and scope of a change, apply what a person approves, then check it in later work. Proposals, approvals, applied changes and confirmed benefits are tracked separately.

The roadmap describes the order of improvements and the conditions for accepting them.


3. From memory to work

Area What you can do
MEMORY Review candidates; search, edit, merge and delete memories; view and export sessions; check usage.
FLOW Manage individual work, collaboration, meetings, and automations together, retaining role/persona settings, graphs, and history.
ROUTER Register model providers and accounts, set routing rules and fallback order, and inspect call records.
TOOLS Manage skill versions and validation records, see the success or failure results agents report after using a skill (self-reported, not independently checked), connect MCP servers and plugins per agent, and manage knowledge sources.

Workflows run on Arkism's own Go engine. Team meetings and task execution are managed as separate flows.


4. Get started

  1. Download the latest installer from Releases. Windows installers are currently available.
  2. Open the app in built-in mode. The server and database run on your PC.
  3. Connect your agents and work as usual. Agent settings changed during connection are backed up first.
  4. Review candidates in MEMORY and approve only what you want agents to use later.

Current Windows installers do not have Authenticode publisher signing, so SmartScreen may warn. App update verification signatures are separate. See the security guide for installation and update checks.

To share one Arkism across several PCs, use server mode. Configure the server database and SSH connection separately.


5. Where your data lives and how it is used

Start on your PC and control capture exclusions and your data

Built-in mode stores data on your PC. This includes memories, skills, session records and usage. Archived session transcripts are encrypted. Server mode uses the database on the server you configure.

Creating a memory candidate sends relevant parts of a conversation to your chosen model provider. Model routing and connected external tools may also communicate with their respective providers.

  • Pause capture or exclude folders. You can also exclude a folder with .arkism-ignore.
  • Content marked with <private>…</private> is excluded before extraction or model transfer on supported capture paths. Sessions containing the marker are also excluded from raw transcript archiving.
  • Delete memories and sessions, export sessions, and back up or restore data. Capture exclusions and deletion of previously stored data are separate controls.

See the capture privacy guide for scope and limits, and the backup guide for recovery.


6. Development and checks

Checks CodeQL OpenSSF Scorecard Quality Gate Coverage AI Code Assurance Dependabot Secret scanning

Automated checks Coverage of the checks
Server and data Go tests and concurrency checks, PostgreSQL integration tests, OpenAPI structure and actual response validation, and offline evaluation regression tests.
Windows and desktop Windows paths, installation recovery and uninstall boundaries; Rust/Tauri tests; UI and keyboard regression checks in Windows Chromium.
Security and code quality CodeQL, gitleaks, govulncheck and SonarCloud analysis.
Test coverage Codecov tracks Go, UI and Windows installation code coverage and checks requirements for changed code.

Routine browser regression checks are separate from production builds and screen comparisons. Production builds and screen comparisons require a manual option; installer generation and release publishing also have separate conditions. See GitHub Actions for recent runs.

Product improvements begin with reproducible comparisons. Compare new methods with existing ones under the same conditions, recording failures, retries, unknown outcomes and total costs alongside successes. Passing automated checks and demonstrating value in real work require separate evidence.

See the development guide for the environment and commands, CONTRIBUTING for how to contribute, and SECURITY for reporting vulnerabilities.


7. Where we are heading

Build a basis for comparison, strengthen memory and recovery, then expand where the evidence supports it. The plan covers memory quality, understandable correction states, team execution, model selection and tool compatibility.

Explore the illustrated roadmap →

Memory carries across tools and conversations, with you in charge


License

MIT

FLOW calls and research

@리서치 starts normal research; the configured @딥리서치 alias enters deep research in the same definition. Review and save the existing research upgrade in FLOW to enable source/gap checks while preserving models, search services, approvals, and budgets. Elapsed time alone never escalates research. Existing $handle calls remain available.

Connected agents use run_workflow and repeat wait_workflow on the same run until completion. Closed conversations are not automatically awakened; reconnect and retrieve the same run. Discord persists final-delivery receipts and resumes acknowledged message parts after restarts. Unknown send outcomes are not blindly retried. Call and support contract

Directories

Path Synopsis
cmd
arkism command
arkism runs the host-side tools (capture hooks, crew runner, gateway, PC work client, skills, backups) as subcommands: arkism COMMAND [ARGS].
arkism runs the host-side tools (capture hooks, crew runner, gateway, PC work client, skills, backups) as subcommands: arkism COMMAND [ARGS].
arkism-crew command
arkism-crew runs Arkism workflow graphs on the host.
arkism-crew runs Arkism workflow graphs on the host.
arkism-installer command
arkism-installer is an internal Windows installer participant.
arkism-installer is an internal Windows installer participant.
memory-principal command
memory-principal provisions canonical permissions with an init connection.
memory-principal provisions canonical permissions with an init connection.
memoryd command
memoryd runs the API and the leased embedding worker against a dedicated PostgreSQL database.
memoryd runs the API and the leased embedding worker against a dedicated PostgreSQL database.
personal-compliance command
personal-compliance is a personal_compliance outcome checker (ST-302, FR-012).
personal-compliance is a personal_compliance outcome checker (ST-302, FR-012).
Package config ships the harness model plan and Haiku quality evidence inside the binary, so an installed host has the same defaults as the repository (ST-620, FR-012).
Package config ships the harness model plan and Haiku quality evidence inside the binary, so an installed host has the same defaults as the repository (ST-620, FR-012).
desktop
src-tauri/tests/windows_runtime_control_peer command
This console fixture runs the real control gate without gateway/model/DB work.
This console fixture runs the real control gate without gateway/model/DB work.
internal
codegraph
Package codegraph builds a symbol and call graph of a source tree on the host where the code lives.
Package codegraph builds a symbol and call graph of a source tree on the host where the code lives.
crewrun
Package crewrun runs workflow graphs on the operator's host.
Package crewrun runs workflow graphs on the operator's host.
flowresult
Package flowresult renders immutable workflow results identically for MCP and messengers.
Package flowresult renders immutable workflow results identically for MCP and messengers.
host
Package host holds the host-side tools: capture hooks, the crew runner, the model gateway, the PC work client, skills and backups.
Package host holds the host-side tools: capture hooks, the crew runner, the model gateway, the PC work client, skills and backups.
host/backup
Package backup ports database backups: snapshot, bundle, encrypted archive and retention from tools/*.py.
Package backup ports database backups: snapshot, bundle, encrypted archive and retention from tools/*.py.
host/capture
Package capture ports capture hooks, session archives, work handoff and the Windows PC client from tools/*.py.
Package capture ports capture hooks, session archives, work handoff and the Windows PC client from tools/*.py.
host/capture/dshzstd
Package zstd provides a decompressor for zstd streams, described in RFC 8878.
Package zstd provides a decompressor for zstd streams, described in RFC 8878.
host/crew
Package crew ports the crew runner, CLI jobs, maintenance, git and skill execution from tools/*.py.
Package crew ports the crew runner, CLI jobs, maintenance, git and skill execution from tools/*.py.
host/crew/keystore
Package keystore keeps provider key secrets in the operating system's credential store (Windows Credential Manager, macOS Keychain, Linux Secret Service) and resolves the "keyring:<service>/<id>" references the keys file holds in their place.
Package keystore keeps provider key secrets in the operating system's credential store (Windows Credential Manager, macOS Keychain, Linux Secret Service) and resolves the "keyring:<service>/<id>" references the keys file holds in their place.
host/desktopcontrol
Package desktopcontrol coordinates an explicitly opted-in desktop child's shutdown.
Package desktopcontrol coordinates an explicitly opted-in desktop child's shutdown.
host/discord
Package discord is `arkism discord`: the host process that connects the workspace's Discord bots.
Package discord is `arkism discord`: the host process that connects the workspace's Discord bots.
host/doctor
Package doctor is `arkism doctor`: a read-only health check of this computer's Arkism client (app connection, agent hooks and MCP entries, model CLIs, capture queues, capture settings, disk), with `--fix` for the two safe repairs: re-running the agent installer and moving failed capture jobs back into the spool.
Package doctor is `arkism doctor`: a read-only health check of this computer's Arkism client (app connection, agent hooks and MCP entries, model CLIs, capture queues, capture settings, disk), with `--fix` for the two safe repairs: re-running the agent installer and moving failed capture jobs back into the spool.
host/gateway
Package gateway ports the model gateway, provider request/response translation and subscription accounts from tools/*.py.
Package gateway ports the model gateway, provider request/response translation and subscription accounts from tools/*.py.
host/skills
Package skills ports the skill hub client, skill router MCP, agents, tool info and reviews from tools/*.py.
Package skills ports the skill hub client, skill router MCP, agents, tool info and reviews from tools/*.py.
host/subscription
Package subscription ports subscription logins, account selection, the Codex OAuth backend and gateway auth from tools/*.py.
Package subscription ports subscription logins, account selection, the Codex OAuth backend and gateway auth from tools/*.py.
httpguard
Package httpguard supplies the shared local HTTP boundary.
Package httpguard supplies the shared local HTTP boundary.
installtxn
Package installtxn publishes a complete Windows payload and keeps the prior directory until publication and its metadata have committed.
Package installtxn publishes a complete Windows payload and keeps the prior directory until publication and its metadata have committed.
memory
Package contextscope defines the Gate 2 wire contract; it is not a store.
Package contextscope defines the Gate 2 wire contract; it is not a store.
notifycfg
Package notifycfg edits the host notify file (~/.config/arkism/notify.json, 0600) that crewrun reads for Telegram and Slack notices.
Package notifycfg edits the host notify file (~/.config/arkism/notify.json, 0600) that crewrun reads for Telegram and Slack notices.
prices
Package prices holds public list prices for the models Arkism runs, in dollars per million tokens.
Package prices holds public list prices for the models Arkism runs, in dollars per million tokens.
processlock
Package processlock supplies a crash-released singleton lock for host daemons.
Package processlock supplies a crash-released singleton lock for host daemons.
tools
apitypes command
Command apitypes exposes Go JSON DTO shapes without loading application code or contacting a package registry.
Command apitypes exposes Go JSON DTO shapes without loading application code or contacting a package registry.
backendref command
Command backendref is a local reference runner for the arkism.backend.v1 contract (guide/agent-backends.md).
Command backendref is a local reference runner for the arkism.backend.v1 contract (guide/agent-backends.md).
complexity command
complexity reports Go cyclomatic complexity, retaining visible legacy debt while refusing new functions above 20 or increases above the frozen baseline.
complexity reports Go cyclomatic complexity, retaining visible legacy debt while refusing new functions above 20 or increases above the frozen baseline.
windows-ssh-fixture command
windows-ssh-fixture serves only fresh loopback SSH fixtures.
windows-ssh-fixture serves only fresh loopback SSH fixtures.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL