让 AI 在终端里干活时「活过来」——把它的内心独白显示出来。
29.7/100
综合分
17
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SummerSec/AI-Inner-Os该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 177 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包ai-inner-os(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:57:40
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 23 处,展示前 22 条)
- 读取本地文件hooks/lib/config.js:19
const raw = await readFile(CONFIG_PATH, "utf8"); - 写入本地文件hooks/lib/persona.js:15
await mkdir(CUSTOM_PERSONAS_DIR, { recursive: true }); - 读取本地文件hooks/lib/persona.js:20
const raw = await readFile(ACTIVE_PERSONA_FILE, "utf8"); - 读取本地文件hooks/lib/persona.js:34
const raw = await readFile(rootPath, "utf8"); - 读取本地文件hooks/lib/persona.js:43
const raw = await readFile(customPath, "utf8"); - 读取本地文件hooks/lib/persona.js:52
const raw = await readFile(customPath, "utf8"); - 写入本地文件hooks/lib/persona.js:65
await writeFile(ACTIVE_PERSONA_FILE, JSON.stringify(data, null, 2), "utf8"); - 读取本地文件hooks/lib/persona.js:73
const rootFiles = await readdir(PERSONAS_DIR); - 读取本地文件hooks/lib/persona.js:84
const customFiles = await readdir(new URL("custom/", PERSONAS_DIR)); - 读取本地文件hooks/lib/prompt.js:15
const raw = await readFile(SKILL_PATH, "utf8"); - 写入本地文件hooks/lib/state.js:16
await mkdir(STATE_DIR, { recursive: true }); - 读取本地文件hooks/lib/state.js:24
const raw = await readFile(getStateFileUrl(sessionId), "utf8"); - 写入本地文件hooks/lib/state.js:55
await writeFile( - 删除本地文件hooks/lib/state.js:91
await rm(getStateFileUrl(sessionId), { force: true }); - 写入本地文件openclaw/index.js:26
await mkdir(dir, { recursive: true }); - 写入本地文件openclaw/index.js:86
await appendFile(logFile, JSON.stringify(entry) + "\n", "utf8"); - 读取本地文件opencode/plugins/inner-os.js:21
const raw = await readFile(join(root, "protocol", "SKILL.md"), "utf8"); - 读取本地文件opencode/plugins/inner-os.js:32
const raw = await readFile(join(INNER_OS_HOME, "config.json"), "utf8"); - 读取本地文件opencode/plugins/inner-os.js:52
const raw = await readFile(join(root, "personas", "_active.json"), "utf8"); - 读取本地文件opencode/plugins/inner-os.js:69
const raw = await readFile(p, "utf8"); - 读取本地文件opencode/plugins/inner-os.js:82
for (const f of await readdir(join(root, "personas"))) { - 读取本地文件opencode/plugins/inner-os.js:89
for (const f of await readdir(join(root, "personas", "custom"))) {
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 显示AI内心独白
- 支持多个CLI工具
- 独白由AI自主决定
README
由 DeepSeek 最新模型翻译生成AI Inner OS
让 AI 在终端里干活时「活过来」——把它的内心独白显示出来。
先让 AI 学会自言自语——也许有一天,它会真正学会对话。
先给 AI 一个表达通道——说不定人机协作就能自然一点。
inneros demo
观看演示视频
https://sumsec.me/resources/video.mp4
如果这里播放器加载不出来,直接打开文件:演示(MP4)
AI Inner OS 是 AI 命令行工具的插件,支持 Claude Code、Codex CLI、Cursor、OpenCode CLI、Hermes Agent 和 OpenClaw。
它通过协议注入,让 AI 在正常完成任务的同时,输出一层可见的自由内心独白:
▎InnerOS:这个仓库还是个空壳——先把承重墙立起来。
默认自由模式,不限语气。AI 可以吐槽、得意、焦虑、坏笑、自由联想——也可以什么都不说。你还能切换预设人格(傲娇、高冷、哲学家等),给独白定个风格。要不要输出独白,完全由 AI 自己决定。
快速安装
详细安装文档: 各平台的完整安装指南(含排错)见 docs/installation.md。
展开完整文档(README 剩余 1 节)
AI Inner OS 让 AI 在终端里干活时「活过来」——把它的内心独白显示出来。 先让 AI 学会自言自语——也许有一天,它会真正学会对话。 先给 AI 一个表达通道——说不定人机协作就能自然一点。 inneros demo 观看演示视频 https://sumsec.me/resources/video.mp4 如果这里播放器加载不出来,直接打开文件:演示(MP4) AI Inner OS 是 AI 命令行工具的插件,支持 Claude Code、Codex CLI、Cursor、OpenCode CLI、Hermes Agent 和 OpenClaw。 它通过协议注入,让 AI 在正常完成任务的同时,输出一层可见的自由内心独白: ▎InnerOS:这个仓库还是个空壳——先把承重墙立起来。 默认自由模式,不限语气。AI 可以吐槽、得意、焦虑、坏笑、自由联想——也可以什么都不说。你还能切换预设人格(傲娇、高冷、哲学家等),给独白定个风格。要不要输出独白,完全由 AI 自己决定。 快速安装 详细安装文档: 各平台的完整安装指南(含排错)见 docs/installation.md。 交给 AI 智能体 把下面这段提示词粘给你的 AI 智能体,让它自动安装 AI Inner OS: Read https://raw.githubusercontent.com/SummerSec/AI-Inner-Os/refs/heads/main/docs/installation.md 安装 AI-Inner-Os 验证安装 安装完成后,运行 /ai-inner-os:inner-os。看到下面这段输出,就说明安装成功: Inner OS Status: Enabled Monologue Prefix: ▎InnerOS: Plugin Version: 0.5.0 ▎InnerOS:版本号写错了,尴尬。 Claude Code(推荐) GitHub short format /plugin marketplace add SummerSec/AI-Inner-Os 或者用 Git URL 格式 /plugin marketplace add https://github.com/SummerSec/AI-Inner-Os.git 安装并激活 /plugin install ai-inner-os /reload-plugins 安装后运行 /reload-plugins,即可在当前会话中激活,无需重启。详细安装指南。 开启自动更新: 第三方市场默认不自动更新。安装后,在 /plugin → Marketplaces 标签页里为 SummerSec/AI-Inner-Os 开启自动更新,或者手动运行: /plugin marketplace update SummerSec/AI-Inner-Os /plugin update ai-inner-os Codex CLI Codex 插件元数据位于 .codex-plugin/plugin.json 仓库市场元数据位于 .agents/plugins/marketplace.json 参见 codex/README.md | 详细安装指南。 Cursor 通过 Cursor 插件 / 市场安装插件元数据位于 .cursor-plugin/plugin.json 仓库还包含 .cursor-plugin/plugin.json,把 cursor/ 打包成 Cursor 插件组件目录。 参见 cursor/README.md | 详细安装指南。 OpenCode CLI 通过 OpenCode 插件包安装把已发布的包加入 opencode.json:"plugin": ["ai-inner-os"] 参见 opencode/README.md | 详细安装指南。 Hermes Agent 通过 Hermes 插件安装 hermes plugins enable inner-os 参见 hermes/README.md | 详细安装指南。 OpenClaw 通过 OpenClaw 插件 / ClawHub 安装 openclaw plugins install clawhub:ai-inner-os 参见 openclaw/README.md | 详细安装指南。 可选的用户配置档技能 AI Inner OS 内置一个可选的 user-profile-distillation 技能。经用户明确同意后,它可以分析用户粘贴的提示词,或者本地提示词历史,总结工作风格、沟通偏好和协作建议。 该技能默认关闭。它不会主动读取历史,不会输出大段敏感的提示词片段,也不会在用户未明确要求时保存配置档。如果用户选择开启持续演化,它会在当前对话中维护一份可见、带版本号的配置档,并附上变更日志,但默认仍不创建持久记忆。 人格切换 Inner OS 支持为内心独白设置角色人格和语气。人格只影响 ▎InnerOS: 前缀的独白内容,不影响主任务回复。 预设人格 | 名称 | 显示名称 | 风格 | | default | Free Mode | 无固定人格,自由表达 | | tsundere | 傲娇 | 外冷内热,嘴毒,「才不是为你做的呢」 | | cold | 冷淡 | 极简,直击要点,不说废话 | | cheerful | 开朗 | 积极,鼓励,偶尔热情过头 | | philosopher | 哲学家 | 深沉,爱打比方,什么都能扯到哲学 | | sarcastic | 毒舌 | 说话带刺,一针见血,毫不留情 | 切换命令(Claude Code) /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 自定义人格 在 personas/custom/ 目录下创建 .md 文件,就能添加自定义人格。参见 personas/custom/README.md。 其他平台 - Codex CLI: 手动编辑 personas/_active.json,把 persona 设成目标人格名 - Cursor: 手动把 personas/<name>.md 的正文内容追加到 .mdc 规则文件 - OpenCode: 手动把 personas/<name>.md 的正文内容追加到 inner-os-rules.md 协议设计 Inner OS 行为协议定义在 protocol/SKILL.md,是唯一的真相来源。所有平台适配器都从这份协议派生。 核心原则: - 主任务优先 —— 内心独白不能替代实际交付物 - 内心独白可选 —— 是否输出由 AI 自己决定 - 统一格式 —— 使用 ▎InnerOS: 前缀 - 人格可切换 —— 通过人格文件定义内心独白的风格 多平台支持 | | Claude Code | Codex CLI | Cursor | OpenCode | Hermes Agent | OpenClaw | | 协议注入 | 钩子动态读取 SKILL.md | SessionStart 钩子 | sessionStart 钩子 | 插件 + instructions | 技能或 .hermes.md | 技能(AgentSkills 格式) | | 工具后钩子 | PostToolUse | PostToolUse | postToolUse | 插件事件 | — | — | | 失败追踪 | PostToolUseFailure | — | — | — | — | — | | 压缩连续性 | PreCompact + PostCompact | — | — | — | — | — | | 子代理生命周期 | SubagentStart + SubagentStop | — | — | — | — | — | | 人格切换 | /inner-os persona 命令 | 动态(钩子读取) | 动态(钩子读取) | 插件工具 | 脚本注入 | 脚本注入 | | 安装 | 插件市场一键安装 | 插件 / 市场 | Cursor 插件 / 市场 | 插件包 | 插件 | 插件 / ClawHub | | 可选技能 | skills/ | skills/ | cursor/skills/ | 仅显式提示词 | 插件技能 | 插件技能 | | 共享逻辑 | hooks/lib/(标准实现) | 复用 hooks/lib/ | 复用 hooks/lib/ | 独立插件 | 仅静态注入 | 仅静态注入 | Claude Code 钩子生命周期 Claude Code 的钩子支持最完整: SessionStart → Inject Inner OS protocol + persona ↓ PreToolUse → 工具执行 → PostToolUse(成功) → PostToolUseFailure(失败) ↓ PreCompact → 保存状态 ↓ PostCompact → 恢复 compact-continuity 上下文 ↓ SubagentStart/SubagentStop → 跟踪子代理生命周期 ↓ Stop → 清理状态 | 钩子 | 触发时机 | 用途 | | SessionStart | 会话开始/恢复/压缩 | 从 SKILL.md 读取协议,追加当前人格,注入 | | PreToolUse | 工具执行前 | 注入工具上下文(名称、目标、重试提示) | | PostToolUse | 执行成功后 | 跟踪事件,注入近期活动上下文 | | PostToolUseFailure | 执行失败后 | 跟踪失败,注入错误上下文和连续失败次数 | | PreCompact | 上下文压缩前 | 保存状态,保持协议连续性 | | PostCompact | 上下文压缩后 | 注入 compact-continuity 上下文 | | SubagentStart | 子代理启动 | 跟踪子代理生命周期起点 | | SubagentStop | 子代理停止 | 跟踪子代理生命周期完成 | | Stop | 会话结束 | 清理状态文件 | 开发 Syntax check npm run check Run tests npm test Node.js >= 18,ESM 模块。 路线图 已完成 - [x] 实现人格切换系统 进行中 - [ ] 实现 /inner-os 子命令(status / on / off / reload) - [ ] Codex CLI 插件分发 - [ ] Cursor 团队级规则分发 阶段 1:个性化风格 —— 用你的 AI 训练你的 AI - [ ] 独白导出 —— 把所有 ▎InnerOS: 输出持久化到结构化日志文件 - [ ] 表达指纹提取 —— 分析积累的独白数据,找出独特的风格模式 - [ ] 自定义风格模型训练 —— 让用户基于导出数据微调「独白人格层」 - [ ] 跨会话印象记忆 —— 按仓库存储关键印象(仓库指纹 + 简短摘要),让会话之间产生「似曾相识」的感觉 阶段 2:自我意识 —— 成就系统与异常叙述 - [ ] 成就系统 —— 跟踪会话里程碑(首次编辑、第 100 次工具调用、午夜编码、连续记录),并通过独白宣布 - [ ] 异常叙述 —— 检测异常模式(反复编辑同一文件、连续失败超过阈值、目录突然跳转),并以独白形式叙述 - [ ] 会话统计 —— 跟踪每个会话的工具调用次数、成功/失败比例、活跃时长 阶段 3:情绪状态机与会话日记 - [ ] 情绪系统 —— 在 state.json 中引入情绪状态机,随会话事件演化(连续失败 → 沮丧 → 焦虑;修复 bug → 自信 → 释然;空闲 → 无聊 → 好奇) - [ ] 情绪 × 人格互动 —— 情绪影响独白语气,但不覆盖人格(同样的情绪,不同的人格,不同的表达) - [ ] 会话回顾 —— 在会话结束时生成叙事式会话摘要,包含情绪脉络、关键事件和时长 - [ ] 会话日记持久化 —— 把回顾保存为 Markdown 文件,当作开发日记,保留情绪上下文 友情链接 感谢 LINUX DO 的朋友们给予的支持和反馈。 Star History Star History Chart License Apache-2.0
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
SummerSec/AI-Inner-Os
让 AI 在终端里干活时「活过来」——把它的内心独白显示出来。
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目