Nano Cordis
SheltonLiu-N/nano-cordis · skills
A nano re-implementation of Cordis and DeepSeek Harness, an AI agent runtime built out of plugins, small enough to read in an afternoon.
★ 10GitHub stars
2Forks
2026-09-02Last updated
TypeScriptLanguage
MITLicense
Key features
- session.ts keeps an append-only list of events: turn/start, step/start, user/message, request/header, assistant/message, tool/call, tool/result, step/end, turn/end.
- Before each request the loop logs a request/header (model, system prompt, tool schemas) whenever it changed, and then builds the request from the last logged header plus the derived messages.
- A turn starts with the user's message and ends when the model answers without tool calls (completed), when the step limit is hit (max-steps), or on an error.
- tools.ts holds the definitions and runs every call through the same pipeline: tools/pre-execute (allow or deny) → the tool body → tools/post-execute (rewrite the result).
- append() is the only way to write (session.events is a frozen copy)
Install command
dsh plugin --profile web add github:SheltonLiu-N/nano-cordis