Directory
Every brick has a drawer
The official 0.1.1-rc.2 source contains 227 package manifests. This curated directory covers the core and representative plugins; open a group to see its relationships.
146 packages
vendor/
vendor / Cordis
The brick baseplate
Cordis, Loader, Include, HMR, and Schemastery
packages/boot
boot
The startup manual
app-boot, cmdline, and profile assembly
packages/bundle
bundle
Ready-made toy boxes
dsh-base / web-app / headless patch layers
packages/core
core
The heartbeat and journal
session, prompt, tools, agent, loop, and scope
packages/llm
llm
The speaking brain
Adapter seam plus DeepSeek / pi-ai / retry / token-meter
packages/fs
fs
Read and write papers in the room
Filesystem seam, local/sandbox providers, read/write/edit/glob/grep
packages/subprocess
subprocess
Ask a runner to do the work
Process groups, output spill, and escalated termination
packages/sandbox
sandbox
A fenced play area
bwrap / Landlock / Seatbelt / Windows ACL
packages/shell
shell
Speak commands aloud
bash / pwsh executors plus model-facing tools
packages/terminal
terminal
A blackboard that stays open
Persistent PTY, owner isolation, and six tools
packages/lsp
lsp
Glasses that read the code map
Language-server seam, stdio provider, and LSP tools
packages/code-runtime
code-runtime
A small laboratory
Code-execution seam: worker threads / CPython
packages/session
session
Put the journal in a drawer
JSONL/SQLite, projections, telemetry, titles, and checkpoints
packages/session-query
session-query
Read old journals
Reading, lineage, filtering, and SQLite FTS
packages/storage
storage
A box that is not the journal
Non-session KV hub, JSON/SQLite, and domains
packages/attachment
attachment
Attach a photo beside the journal
Content-addressed attachments; logs store references
packages/compaction
compaction
Summarize a journal that is too thick
token-meter-driven summaries and tool-result pruning
packages/spill
spill
Put an overlong note on another sheet
Spill oversized tool results
packages/skill
skill
Skill cards
Skill registry, filesystem provider, and loader tool
packages/plan
plan
Draw the plan before building
Plan mode: explore, submit, and wait for review
packages/goal
goal
A goal pinned to the wall
Per-session goal persistence and round driver
packages/jobs
jobs
Work that runs in the background
Background job registry and job_* tools
packages/workflow
workflow
A choreography script
Model-written JavaScript orchestration in worker threads
packages/subagent
subagent
Ask another agent for help
spawn / fork / ACP / SDK / Claude / Codex
packages/web
web
Look things up online
search / fetch providers and model tools
packages/mcp
mcp
Tools from an outside shop
MCP client bridge that mounts remote tools on ctx.tools
packages/todo
todo
A to-do list
todo_write snapshots the complete list into the session log
packages/extensions
extensions
The agent adds its own bricks
Model-authored plugins: inspect / mount / dispose
packages/host
host
The inside half of the house
webserver, apiproxy, static frontend, and directory selection
packages/client
client
The window half
slot, conversation, sidebar, settings, and other ui-* plugins
packages/interaction
interaction
Raise a hand and ask
Approvals, permission presets, slash commands, and user questions
packages/credentials
credentials
Keep keys in a safe
Credential-reference seam, local provider, and authorization flows
packages/settings
settings
Switches on the wall
User-settings seam and settings.yaml
packages/guard
guard
Stop going in circles
Repeated-call reminders and tool timeouts
packages/hooks
hooks
Use manuals from other kits
Claude Code / Codex hook bridge
packages/identity
identity
An anonymous name tag
Shared anonymous user id for telemetry and feedback
packages/feedback
feedback
A thumbs-up card
Session feedback command and per-message ratings
packages/workspace
workspace
What is this room called?
Workspace entity registry
packages/preset
preset
Different agent outfits
Per-session agent assembly plus persona
packages/context
context
Check the clock and manual before leaving
AGENTS.md, time, tmux, @file, and @session
packages/api
api
An intercom through the wall
Typert RPC gateway and Remote BFF
packages/typert
typert
Draw instructions for every brick
Type-graph generation, loading, and runtime registry
packages/sdk
sdk
Drive with a remote control
Out-of-process JSON-RPC client, protocol, and server
packages/acp
acp
A plug made for automation
Agent Client Protocol stdio server
packages/schedule
schedule
An alarm clock
Per-session after / at / fixed-frequency reminders
packages/e2b
e2b
Move the room into the cloud
E2B sandbox lifecycle plus fs/subprocess providers
packages/experimental
experimental
An experimental team
Agent Teams: roster, mailbox, and task board
packages/runtime-diagnostics
runtime-diagnostics
A health-check sheet
Package-owned runtime invariant registry
packages/util
util
Glue and rulers
brand, home-paths, timeout, and atomic-write
packages/test-support
test-support
Practice bricks
testkit, LLM mock, replay, and loader smoke tests
Package cards
@deepseek-ai/cordisLibraryThe brick baseplate
Context / Fiber / Service / events / registries
@deepseek-ai/cordis-plugin-loaderLibraryPick bricks from the instructions
Mount a plugin tree from YAML
ctx.loader@deepseek-ai/cordis-plugin-includeLibraryApply patch stickers
include + applyEntryPatches
@deepseek-ai/cordis-plugin-groupLibraryA classroom's own water tap
Nested groups and isolate realms
@deepseek-ai/cordis-plugin-hmrLibrarySwap a brick without rebuilding the city
Hot replacement and precise config watching
@deepseek-ai/schemasteryLibraryThe brick-shape checker
Type-driven schemas
@deepseek-ai/dsh-app-bootLibraryThe startup caretaker
boot(), profiles, and fail-loud startup
@deepseek-ai/dsh-cmdlineCoreThe note carried out the door
Frozen startup arguments
ctx.cmdlineArgs@deepseek-ai/dsh-baseBundleThe largest bag of basic bricks
The first patch layer in every profile
@deepseek-ai/dsh-web-appBundleThe box with a window
Browser layer plus web-runtime
@deepseek-ai/dsh-headlessBundleThe box that goes home after one job
One-shot runner with no HTTP
@deepseek-ai/dsh-scopeLibraryOne locker per person
Partition registrations by agent
@deepseek-ai/dsh-sessionCoreThe journal of truth
Append-only SessionEvent log
ctx.sessions@deepseek-ai/dsh-system-promptCoreThe handbook bound before leaving
Assemble prompt segments and tool schemas
ctx.systemPrompt@deepseek-ai/dsh-toolsCoreThe tool cabinet and permission slips
Scoped tool registry and guard pipeline
ctx.tools@deepseek-ai/dsh-agentCoreThe agent's public name card
Agent interface, registry, and agent/* events
ctx.agents@deepseek-ai/dsh-agent-loopCoreThe heartbeat that does homework
Default replaceable loop driver
ctx.agentLoop@deepseek-ai/dsh-agent-default-modelCoreThe teacher used when none is chosen
Shared default model at entry points
ctx.agentDefaultModel@deepseek-ai/dsh-agent-tool-presentationCoreDecide how tools are set on the table
Choose native tools, PTC tools, or both per agent
@deepseek-ai/dsh-llmDefinitionThe brain's socket
Message vocabulary and adapter registry
ctx.llm@deepseek-ai/dsh-llm-deepseekProviderThe DeepSeek teacher
Official DeepSeek adapter
@deepseek-ai/dsh-llm-pi-aiProviderA socket for many teachers
Multiple providers activated through settings
@deepseek-ai/dsh-llm-retryConsumerAsk again when the answer is unclear
Retry through agent/request-error
@deepseek-ai/dsh-token-meterCoreWeigh the journal
Replayable token accounting
ctx.tokenMeter@deepseek-ai/dsh-fsDefinitionThe paper-and-pencil socket
Filesystem vocabulary and service
ctx.fs@deepseek-ai/dsh-fs-localProviderThe desk at home
Local disk
@deepseek-ai/dsh-fs-sandboxProviderWrite only in your own notebook
Fence writes according to sandbox mode
@deepseek-ai/dsh-tool-fsConsumerRead-and-write tools for the model
read / write / edit
@deepseek-ai/dsh-tool-fs-searchConsumerFind things in the room
glob / grep (ripgrep)
@deepseek-ai/dsh-fs-observation-policyConsumerRead the newest page before changing it
Read-before-edit and version guards on fs/* events
@deepseek-ai/dsh-tool-str-replace-editorConsumerChange the exact sentence
view / create / replace / insert
@deepseek-ai/dsh-subprocessDefinitionThe runner's socket
Process-group and PTY primitives
ctx.subprocess@deepseek-ai/dsh-subprocess-localProviderThe runner at home
Local process tree / node-pty
@deepseek-ai/dsh-sandboxDefinitionThe safety-gate socket
confine(argv)
ctx.sandbox@deepseek-ai/dsh-sandbox-localProviderThe actual fence
bwrap / Landlock / Seatbelt
@deepseek-ai/dsh-sandbox-policyCoreChoose how tight the fence is
Mode plus workspace root
ctx.sandboxPolicy@deepseek-ai/dsh-shellDefinitionThe command voice
bash executor seam
ctx.shell@deepseek-ai/dsh-bash-sandboxProviderCall commands through the fence
POSIX default: fence, then run
@deepseek-ai/dsh-pwsh-sandboxProviderThe Windows command voice
win32 twin stack
@deepseek-ai/dsh-bash-localProviderCall commands in this room
Bash executor over the local subprocess seam
@deepseek-ai/dsh-pwsh-localProviderThe Windows voice in this room
Local PowerShell executor
@deepseek-ai/dsh-tool-bashConsumerThe command the model can type
Model-facing bash
@deepseek-ai/dsh-tool-bash-persistentConsumerA Bash blackboard that stays open
Owner-scoped persistent Bash tool
@deepseek-ai/dsh-tool-pwsh-persistentConsumerA PowerShell blackboard that stays open
Owner-scoped persistent PowerShell tool
@deepseek-ai/dsh-terminalDefinitionA blackboard that stays open
Owner-isolated persistent PTY
ctx.terminals@deepseek-ai/dsh-terminal-bashProviderThe shell on the blackboard
bash PTY backend
@deepseek-ai/dsh-tool-terminalConsumerChalk for the model
Six PTY tools
@deepseek-ai/dsh-lspDefinitionGlasses that read the code map
def / refs / impl / hover
ctx.lsp@deepseek-ai/dsh-lsp-stdioProviderPut on the glasses
stdio language server
@deepseek-ai/dsh-tool-lspConsumerAsk the glasses who wrote this
Model-facing LSP tools
@deepseek-ai/dsh-session-persistenceDefinitionCopy the journal into a drawer
Durable-write seam
ctx.sessionPersistence@deepseek-ai/dsh-session-persistence-jsonlProviderCopy one line at a time
Default JSONL backend
@deepseek-ai/dsh-session-titleDefinitionName the journal
Generate a title from the log
ctx.sessionTitle@deepseek-ai/dsh-session-projectionCoreSummarize the journal into cards
Fold views from the log
ctx.sessionProjections@deepseek-ai/dsh-session-queryDefinitionBrowse old journals
Read, trace lineage, and filter
ctx.sessionQuery@deepseek-ai/dsh-session-query-sqliteProviderThe journal search cabinet
FTS5 backend
@deepseek-ai/dsh-storageDefinitionA box that is not the journal
Non-session KV hub
ctx.storage@deepseek-ai/dsh-storage-domainCoreA labeled drawer
Schema-backed domain tables
ctx.storageDomain@deepseek-ai/dsh-credentialsDefinitionThe label on the safe
Store only credential names in config
ctx.credentials@deepseek-ai/dsh-credentials-localProviderThe actual key
env takes priority over .credentials.yaml
@deepseek-ai/dsh-settingsDefinitionThe wall-switch socket
Layered user settings
ctx.settings@deepseek-ai/dsh-settings-fileProviderThe switch manual
settings.yaml
@deepseek-ai/dsh-skillDefinitionThe recipe shelf
Skill-card registry
ctx.skills@deepseek-ai/dsh-skill-filesystemProviderTake a recipe from the drawer
Scan SKILL.md files on disk
@deepseek-ai/dsh-tool-skillConsumerRead the menu before opening a recipe
List skills and load their bodies
@deepseek-ai/dsh-plan-modeCoreDraw the plan first
Design first, then exit through human review
ctx.planMode@deepseek-ai/dsh-goalCoreA goal magnet on the fridge
Event-sourced goals within a session
ctx.goals@deepseek-ai/dsh-command-goalConsumerPut a goal on the fridge
Human-facing slash command for persisted goals
@deepseek-ai/dsh-goal-round-driverCoreFinish a goal one round at a time
Race-fenced same-session goal-round driver
@deepseek-ai/dsh-tool-goalConsumerLet the agent look after the goal
Goal tools with execution-time authority checks
@deepseek-ai/dsh-jobsDefinitionA note on the washing machine
Background job registry
ctx.jobs@deepseek-ai/dsh-jobs-localProviderThe washing machine at home
In-process implementation
@deepseek-ai/dsh-tool-jobsConsumerCheck whether the washer is still turning
job_list / wait / kill
@deepseek-ai/dsh-subagentDefinitionThe socket for asking friends
Named provider registry
ctx.subagents@deepseek-ai/dsh-subagent-spawn-in-processProviderInvite a new friend
A fresh child agent
@deepseek-ai/dsh-subagent-fork-in-processProviderCopy the journal for a friend
Fork with the parent's log prefix
@deepseek-ai/dsh-subagent-acpProviderCall an outside friend over a shared intercom
Drive an out-of-process child through the Agent Client Protocol
@deepseek-ai/dsh-subagent-claude-codeProviderAsk Claude Code for one job
One-shot Claude Code provider over the official Agent SDK
@deepseek-ai/dsh-subagent-codexProviderAsk Codex for one job
One-shot Codex provider over the app-server protocol
@deepseek-ai/dsh-tool-subagentConsumerThe model calls a friend
Delegation tool
@deepseek-ai/dsh-tool-subagent-controlConsumerMessage a friend or ask them to stop
send_message / interrupt_agent / list_agents
@deepseek-ai/dsh-tool-subagent-reportConsumerA friend returns with the homework
Child-scoped reporting to its parent
@deepseek-ai/dsh-workflowDefinitionThe choreography manual
Orchestration-engine seam
ctx.workflowEngine@deepseek-ai/dsh-tool-ralphConsumerLet a newcomer iterate until the job is done
Ralph loop with fresh agents
@deepseek-ai/dsh-webDefinitionThe web socket
search / fetch registry
ctx.web@deepseek-ai/dsh-tool-webConsumerGo look online
web_search / web_fetch
@deepseek-ai/dsh-web-fetch-httpProviderBring a web page back to read
Anonymous public HTTP(S) fetch provider
@deepseek-ai/dsh-web-search-deepseekProviderAsk DeepSeek to search
DeepSeek native web_search provider
@deepseek-ai/dsh-web-search-exaProviderUse another search teacher
Exa search provider
@deepseek-ai/dsh-web-search-perplexityProviderUse one more search teacher
Perplexity search provider
@deepseek-ai/dsh-mcp-clientConsumerHang outside-shop tools in the cabinet
Mount MCP servers into ctx.tools
@deepseek-ai/dsh-compactionDefinitionWrite a recap when the journal grows thick
Summary seam
ctx.compaction@deepseek-ai/dsh-compaction-basicProviderThe person who writes the recap
Token pressure plus LLM summaries
@deepseek-ai/dsh-command-compactConsumerPress the recap button yourself
Human-facing slash command for explicit session compaction
@deepseek-ai/dsh-compaction-tool-result-prunerConsumerTrim a long result into its beginning, middle, and end
Replay-safe, model-free head/middle/tail pruning
@deepseek-ai/dsh-user-approvalDefinitionRaise a hand and ask
One-shot permission waterfall
ctx.approval@deepseek-ai/dsh-permission-presetsCoreThree levels of house rules
read-only / workspace-write / danger
ctx.permissionPresets@deepseek-ai/dsh-commandsCoreCommands that bypass the model
Human slash commands
ctx.commands@deepseek-ai/dsh-user-questionsDefinitionAsk you midway through the work
Human-question seam
ctx.userQuestions@deepseek-ai/dsh-tool-ask-userConsumerWrite the whole question before asking you
Multiline ask_user_question tool
@deepseek-ai/dsh-host-webserverCoreThe mailbox at the door
Passive HTTP route carrier
ctx.webServer@deepseek-ai/dsh-host-apiproxyCoreThe receptionist
Host API gateway
ctx.apiProxy@deepseek-ai/dsh-host-frontend-staticProviderInstall the window glass
SPA dist fallback
@deepseek-ai/dsh-client-webUIAssemble a small city in the window
Browser Cordis bootstrap core
@deepseek-ai/dsh-client-modulesUIThe window's directory
__DSH_BOOT__ graph
ctx.clientModules@deepseek-ai/dsh-client-ui-conversationUIThe conversation window
Conversation shell and composer
@deepseek-ai/dsh-client-ui-slotsLibraryHoles in the felt board
SlotMap composition API
@deepseek-ai/dsh-client-ui-settings-plugin-inventoryUISee which bricks are installed
Read-only Cordis plugin inventory in Settings
@deepseek-ai/dsh-typert-registryCoreThe cabinet of brick manuals
Runtime type registry
ctx.typert@deepseek-ai/dsh-api-gatewayCoreThe intercom through the wall
Typert RPC
ctx.typertGateway@deepseek-ai/dsh-sdk-clientLibraryThe remote control
Out-of-process JSON-RPC client
@deepseek-ai/dsh-acpCoreA plug made for automation
ACP stdio server
@deepseek-ai/dsh-e2bCoreMove the playroom into the cloud
Remote sandbox lifecycle
ctx.e2b@deepseek-ai/dsh-experimental-agent-teamCoreThe experimental team club
Roster, mailbox, and task DAG
ctx.agentTeams@deepseek-ai/dsh-invariantsCoreThe health-check sheet
Package-owned runtime invariants
ctx.invariants@deepseek-ai/dsh-agent-presetsCoreAgents in different outfits
Mount agent.cordis.yml per session
ctx.agentPresets@deepseek-ai/dsh-personaConsumerChange the agent's clothes
Composable persona segments
@deepseek-ai/dsh-tool-cordisConsumerThe agent adds its own bricks
Inspect / mount / dispose live plugins
@deepseek-ai/dsh-code-runtimeDefinitionThe small laboratory
Run a model-authored program
ctx.codeRuntime@deepseek-ai/dsh-tool-todoConsumerThe to-do list
todo_write full-list snapshots
@deepseek-ai/dsh-attachmentDefinitionA photo attached beside the journal
Durable binary identity
ctx.attachments@deepseek-ai/dsh-attachment-localProviderFile photos in a drawer by fingerprint
Private content-addressed attachment storage under DSH_HOME
@deepseek-ai/dsh-spillDefinitionPut an overlong note on another sheet
Spill oversized tool results
ctx.spillStore@deepseek-ai/dsh-workspaceCoreWhat is this room called?
Workspace entities
ctx.workspaceRegistry@deepseek-ai/dsh-agent-instructionsConsumerRead the manual before leaving
Load workspace AGENTS.md and CLAUDE.md files
@deepseek-ai/dsh-file-referenceDefinitionPoint to a paper by name
@file discovery contract and shared grammar
@deepseek-ai/dsh-file-reference-localProviderFind that paper on the desk
Bounded fuzzy @file indexes over the local filesystem
@deepseek-ai/dsh-session-referenceConsumerBorrow a page from another journal
Cross-session snapshots and durable untrusted context
@deepseek-ai/dsh-time-contextConsumerCheck the clock at every step
Optional current-time and elapsed-time context
@deepseek-ai/dsh-tmux-contextConsumerRemember which blackboard you are using
Optional tmux pane and window context
@deepseek-ai/dsh-scheduleCoreThe alarm clock
after / at / fixed-frequency reminders
ctx.schedule@deepseek-ai/dsh-repeat-tool-reminderConsumerStop going in circles
Warn about repeated tool calls
@deepseek-ai/dsh-tool-call-timeout-policyConsumerStop when time runs out
Put a deadline on every tool call and return TOOL_TIMEOUT
@deepseek-ai/dsh-hooks-claude-codeConsumerUse another kit's manual
Claude Code hook bridge
@deepseek-ai/dsh-hooks-codexConsumerUse a second outside manual
Codex hook bridge
@deepseek-ai/dsh-anonymous-user-idCoreThe anonymous name tag
Shared anonymous id for telemetry and feedback
@deepseek-ai/dsh-command-feedbackConsumerRate the whole conversation
Log-only session feedback and slash command
@deepseek-ai/dsh-message-feedbackConsumerGive this sentence a thumbs-up
Per-message ratings and note sidecar
@deepseek-ai/dsh-brandLibraryThe name printed on the ruler
Product names and path conventions
@deepseek-ai/dsh-home-pathsLibraryWhere is home?
$DSH_HOME resolution
@deepseek-ai/dsh-agent-loop-testkitLibraryPractice bricks for the heartbeat
Shared prerequisites for concrete agent-loop tests
@deepseek-ai/dsh-loader-smokeLibraryTry the real instructions once
Keyless smoke harness for real Loader examples
@deepseek-ai/dsh-llm-replayProviderPretend the teacher is speaking
Replay recorded logs for keyless tests
@deepseek-ai/dsh-fs-e2bProviderThe desk in the cloud cabin
Remote Linux sandbox disk
@deepseek-ai/dsh-subprocess-e2bProviderThe runner in the cloud cabin
Remote sandbox processes
@deepseek-ai/dsh-session-persistence-sqliteProviderPut the journal in a cabinet
SQLite session backend