dsh-doctor
asdf17128
Find what your DeepSeek Harness (dsh) patches silently broke — dead patches, config fields dropped by whole-config repla…
PROJECT TOPICS
PROJECT README
English | 中文
Let AI learn to talk to itself first — maybe one day, it will truly learn to converse.
Give AI an expression channel first — it might just make human-AI collaboration feel more natural.

https://sumsec.me/resources/video.mp4
If the player does not load here, open the file directly: demo (MP4)
AI Inner OS is a plugin for AI CLI tools, supporting Claude Code, Codex CLI, Cursor, OpenCode CLI, Hermes Agent, and OpenClaw.
Through protocol injection, it enables AI to output a visible layer of free-form inner monologue while completing tasks normally:
▎InnerOS:This repo is still a bare shell — let me get the load-bearing walls up first.
Free mode by default, no tone restrictions. The AI can complain, gloat, feel anxious, smirk, free-associate — or say nothing at all. You can also switch to preset personas (tsundere, cold, philosopher, etc.) to give the monologue a specific style. Whether to produce monologue is entirely up to the AI.
Detailed installation docs: Full installation guides (with troubleshooting) for each platform at docs/installation.md.
Paste the following prompt to let your AI agent install AI Inner OS automatically:
Read https://raw.githubusercontent.com/SummerSec/AI-Inner-Os/refs/heads/main/docs/installation.md 安装 AI-Inner-Os
After installation, run /ai-inner-os:inner-os. If you see the following output, the installation is successful:
Inner OS Status: Enabled
Monologue Prefix: ▎InnerOS:
Plugin Version: 0.5.0
▎InnerOS:Caught with the wrong version number, embarrassing.
# GitHub short format
/plugin marketplace add SummerSec/AI-Inner-Os
# Or Git URL format
/plugin marketplace add https://github.com/SummerSec/AI-Inner-Os.git
# Install and activate
/plugin install ai-inner-os
/reload-plugins
Run /reload-plugins after installation to activate in the current session — no restart needed. Detailed installation guide.
Enable auto-update: Third-party marketplaces don't auto-update by default. After installation, enable auto-update for
SummerSec/AI-Inner-Osin/plugin→ Marketplaces tab, or manually run:/plugin marketplace update SummerSec/AI-Inner-Os /plugin update ai-inner-os
# Codex plugin metadata is included at .codex-plugin/plugin.json
# Repo marketplace metadata is included at .agents/plugins/marketplace.json
See codex/README.md | Detailed installation guide.
# Install through Cursor plugin / marketplace
# Plugin metadata is included at .cursor-plugin/plugin.json
The repository also includes .cursor-plugin/plugin.json, which packages cursor/ as a Cursor plugin component directory.
See cursor/README.md | Detailed installation guide.
# Install through OpenCode plugin package
# Add the published package to opencode.json: "plugin": ["ai-inner-os"]
See opencode/README.md | Detailed installation guide.
# Install through Hermes plugin
hermes plugins enable inner-os
See hermes/README.md | Detailed installation guide.
# Install through OpenClaw plugin / ClawHub
openclaw plugins install clawhub:ai-inner-os
See openclaw/README.md | Detailed installation guide.
AI Inner OS includes an opt-in user-profile-distillation skill. It can analyze prompts the user pastes, or local prompt history after explicit approval, to summarize work style, communication preferences, and collaboration suggestions.
This skill is disabled by default. It does not proactively read history, does not output long sensitive prompt excerpts, and does not save a profile unless the user explicitly asks. If the user opts into continuous evolution, it keeps a visible versioned profile in the current conversation with a change log, but still does not create persistent memory by default.
Inner OS supports setting character personalities and tones for inner monologue. Personas only affect the ▎InnerOS: prefixed monologue content — they don't affect main task responses.
| Name | Display Name | Style |
|---|---|---|
| default | Free Mode | No fixed persona, free expression |
| tsundere | Tsundere | Tough on the outside, soft inside; snarky; "it's not like I did it for you" |
| cold | Cold | Minimalist, to the point, no wasted words |
| cheerful | Cheerful | Positive, encouraging, occasionally over-enthusiastic |
| philosopher | Philosopher | Deep, metaphorical, everything becomes philosophy |
| sarcastic | Sarcastic | Sharp-tongued, hits the nail on the head, no mercy |
/inner-os persona list # List all available personas
/inner-os persona use tsundere # Switch to tsundere mode
/inner-os persona show # Show current persona
/inner-os persona reset # Reset to free mode
Create .md files in the personas/custom/ directory to add custom personas. See personas/custom/README.md.
personas/_active.json, set persona to the target persona namepersonas/<name>.md to the .mdc rule filepersonas/<name>.md to inner-os-rules.mdThe Inner OS behavior protocol is defined in protocol/SKILL.md, serving as the single source of truth. All platform adapters derive from this protocol.
Core principles:
▎InnerOS: prefix| Claude Code | Codex CLI | Cursor | OpenCode | Hermes Agent | OpenClaw | |
|---|---|---|---|---|---|---|
| Protocol Injection | Hook reads SKILL.md dynamically | SessionStart Hook | sessionStart Hook | Plugin + instructions | Skill or .hermes.md |
Skill (AgentSkills format) |
| Post-tool hook | PostToolUse |
PostToolUse |
postToolUse |
Plugin event | — | — |
| Failure tracking | PostToolUseFailure |
— | — | — | — | — |
| Compaction continuity | PreCompact + PostCompact |
— | — | — | — | — |
| Subagent lifecycle | SubagentStart + SubagentStop |
— | — | — | — | — |
| Persona switching | /inner-os persona command |
Dynamic (Hook reads) | Dynamic (Hook reads) | Plugin tool | Script injection | Script injection |
| Installation | Plugin marketplace one-click | Plugin / marketplace | Cursor plugin / marketplace | Plugin package | Plugin | Plugin / ClawHub |
| Optional Skills | skills/ |
skills/ |
cursor/skills/ |
Explicit prompt only | Plugin skills | Plugin skills |
| Shared logic | hooks/lib/ (canonical) |
Reuses hooks/lib/ |
Reuses hooks/lib/ |
Standalone Plugin | Static injection only | Static injection only |
Claude Code has the most complete hook support:
SessionStart → Inject Inner OS protocol + persona
↓
PreToolUse → Tool execution → PostToolUse (success)
→ PostToolUseFailure (failure)
↓
PreCompact → Save state
↓
PostCompact → Restore compact-continuity context
↓
SubagentStart/SubagentStop → Track subagent lifecycle
↓
Stop → Clean up state
| Hook | Trigger | Purpose |
|---|---|---|
SessionStart |
Session start/resume/compact | Read protocol from SKILL.md, append current persona, inject |
PreToolUse |
Before tool execution | Inject tool context (name, target, retry hints) |
PostToolUse |
After successful execution | Track events, inject recent activity context |
PostToolUseFailure |
After failed execution | Track failures, inject error context and consecutive failure count |
PreCompact |
Before context compaction | Save state, maintain protocol continuity |
PostCompact |
After context compaction | Inject compact-continuity context |
SubagentStart |
Subagent starts | Track subagent lifecycle start |
SubagentStop |
Subagent stops | Track subagent lifecycle completion |
Stop |
Session end | Clean up state files |
# Syntax check
npm run check
# Run tests
npm test
Node.js >= 18, ESM modules.
/inner-os subcommands (status / on / off / reload)▎InnerOS: outputs to structured log filesstate.json that evolves based on session events (consecutive failures → frustrated → anxious; bug fix → confident → relieved; idle → bored → curious)Thanks for the support and feedback from the friends at LINUX DO.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。