🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

内心独白 SummerSec/AI-Inner-Os

DeepSeek Harness
SummerSec177 天前有提交已提供中文文档扫描:含敏感能力

让 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
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 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
预览分享卡片长什么样 ↓SummerSec/AI-Inner-Os
分享 · DeepSeek Harness Hub
SummerSec/AI-Inner-Os

让 AI 在终端里干活时「活过来」——把它的内心独白显示出来。

这是你的仓库?认领条目

回到顶部