# 使用说明 本文讲**装了 Humanity 之后你会看到什么、默认会发生什么、每个开关是干嘛的**。 架构与源码依据见 [ARCHITECTURE.md](ARCHITECTURE.md)。 装完之后:左侧栏出现 `Humanity` 入口(有待确认内容时图标带红点),点进去就是工作台。 --- ## 1. 工作台长什么样 打开就是**总览**:姓名 / 当前策略摘要 / 最近行为 / 消耗,左边小字是"这是什么",右边是"现在是什么值"。 总览下面是四张**模块卡片**(人格 / 记忆 / 技能 / 自进化),点哪张看哪块。 **「待确认」不在卡片里** —— 它常驻最上面一张卡:没积压时写"没有积压",有积压时写条数并给一个「展开处理」。 界面上**不放整段说明文字**:每块(卡片标题、总览每一行)旁边有一个**圈问号 `?`**, 鼠标停上去(或键盘 Tab 聚焦)就显示这块是干嘛的、口径与限制是什么。读屏软件读到同一句话。 **想知道某个数字是怎么来的,先看那个 `?`。** --- ## 2. 人格 - **两张卡**:身份卡(姓名 / 性别 / 人格偏好 / 主语言 + 自定义字段)与人格卡(若干小节)。 - **原生项锁定**:插件靠少数几个原生标题认标识,它们**不可删除、不可改名**(界面里没有入口, 绕过界面直删直改会被宿主拒绝)。原生项之外的**一切都是自定义项、待遇完全相同**:可增、可改名、可整项删除。 - **名称固定、内容可改**:每项的名字是固定文字,内容一直是一个可直接编辑的输入框(不需要"点一下才出现")。 添加统一走**底部入口**。 - **改完即时生效**:人格注入是热更新的,不需要重启 DSH。 - **历史留档**:被改写或被删除的旧内容会进 `persona_history`(不参与注入),**有保留期** (`modules.persona.historyRetentionDays`,默认 30 天;设成 `0` 或负数=永久保留)。 清理只动历史表,**记忆条目与人格本体一个都不碰**。 > 删除是**真删**:删掉的小节在文档与提示词里都不会再出现(删除前二次确认,被删内容进历史)。 --- ## 3. 记忆 三层,按"能被想起来的范围"分: | 层 | 含义 | |---|---| | **长期** | 任何地方都能被想起(稳定事实、偏好、约定) | | **区域** | 只在某个工作目录里被想起(跟具体项目绑定的东西) | | **会话** | 只在当次会话里有效 | - **自动写入**:低风险内容(明确偏好、稳定事实、约定)直接生效; **敏感内容**(密码、财务、健康、隐私、亲密内容)只能进「待确认」,**你不点它永远不生效**。 - **你随时可以纠正它**:每条记忆左侧的归属标签是个下拉,可以在「长期 ⇄ 区域」之间改 —— 模型判错了作用域,你自己点一下就行,不用回对话里让它重记。 - **清理重复**:记忆页有「清理重复条目」(把"同一件事的另一种说法"并成一条;归档条目不参与、 互相矛盾的两条绝不合并)与「撤销上次合并」(只在本次运行内有效)。**不点它,什么都不会动。** ### 衰减与归档 - **窗口**:`memory.advanced.decayUnusedDays`(默认 90 天)。窗口内的记忆**完全不衰减**; 超出后按半衰期逐步降权(半衰期是记忆策略的内部参数,工作台里不开放配置),降到阈值以下才**归档**。 - **受保护的三类永不归档**:用户固定过的、用户明确说过的稳定事实、重要度 ≥ 4 的记忆。 - **归档不是删除**:归档只表示"默认检索不再命中",数据仍在存储里,工作台可一键恢复。 - 关掉衰减(`memory.advanced.decay = false` 或记忆模块 `mode = off`)⇒ **一次核算都不跑**,库里一个字都不动。 --- ## 4. 技能 自进化从对话里总结出的方法会变成**技能**,落在官方用户技能目录 `$DSH_HOME/skills//SKILL.md`。 - 技能页可以 `新建`、`编辑`(表单就地展开,正文全文就是模型看到的说明书)、`停用` / `恢复`。 - 卡片上的状态标签告诉你它到底在哪:**已存成文件** = 文件真的在 `$DSH_HOME/skills/` —— 你可以直接用编辑器改,**卸载 Humanity 它照样被 DSH 加载**;**还没存成文件** = 还没落盘(页面会写明原因)。 - 若卡片出现「这条技能用到了这些插件的能力:XXX」,意思是它正文里用了**那个插件提供的工具**。 **卸载对应插件后这条技能就做不到自己写的事了**(技能文件还在)。想避免绑定,就用 `编辑` 把那句改成"有条件就做、没条件就直说"的写法。 ### 为什么有时候技能写不进文件 技能目录在工作区**之外**,能不能写进去由**那次调用的会话权限**决定 —— 这和"插件能不能自己写"是两件事: - 插件在「批准提案 / 启动恢复」时落盘,而那一刻**没有会话身份**,官方文件后端只能按**部署默认模式**判 ⇒ 若 `$DSH_HOME/skills` 不在该模式允许的根下,**一律被拒**(错误原文类似 `cannot write "…/SKILL.md": file access denied under workspace-write mode`)。 ⚠️ 把**会话级**权限预设放宽到 `danger-full-access` **并不能**让插件自己写成功:预设是会话级的,对无会话的插件调用不生效。 - **正确做法**:在会话里让 Agent 调用工具 **`humanity_skill_persist`**(参数只要技能名)。 它用**你当前会话**的模式与 cwd 解析策略,再交给官方文件后端 ⇒ 权限够就成功,不够就如实告诉你被拒 (这不是缺陷,重试绕路也没用)。它**不会**放大围栏,也**不能**写任意路径或任意内容。 - **不想用工具**:手动把正文写到 `$DSH_HOME/skills//SKILL.md`(官方目录包格式, frontmatter 需有 `name` / `description`)效果一样。 - **没落盘也不影响本次会话**:技能以**运行时注册**存在,关掉会话就没了;技能页会如实显示"还没写进文件", 不会假装成功。 --- ## 5. 自进化与梦境 **自进化 = 一个后台整理员**:它翻看你们聊过的对话,把有长期价值的东西提炼出来 —— 该记的记进记忆、该整理的人格习惯整理进人格卡、值得沉淀的方法变成技能建议 —— 但**凡是高风险的改动,它只能"递条子"(提案),必须你点头才生效**。 **梦境 = 同一个整理员的"深度整理模式"**:窗口更长、偏联想和回顾,会额外产出一段 第一人称的短叙事和几条"洞察",存在运行时间线里给你看,**不自动写进任何记忆**。 它不是第二个 AI,也不接管对话 —— 就是定期打扫房间,贵重物品(身份卡、技能)一律先问过你再动。 ### 什么都不动,默认会发生什么 | 事 | 默认行为 | |---|---| | 什么时候整理 | **空闲自动**:连续一段时间(默认 30 分钟)没说话且期间有新对话,跑一次小整理 | | 整理哪些对话 | **只整理建立基线之后的新对话**;旧对话永远不碰,除非你手动「回扫历史」 | | 子代理 / 工作流会话 | 默认**不扫**(那是干活的脚手架,不是你们的对话) | | 每次花多少 | 见下面「预算」一组 | | 用什么模型 | 你的**默认模型** | | 花钱可见性 | 每次运行的调用次数与 token 记在运行时间线里;页面顶部有"今日模型调用 x / N" | | 出结果后 | 低风险记忆直接生效;敏感/高风险的进**待确认**;侧栏图标出现**红点**;下次对话时 AI 会用两三句话提醒你一次(同一批只提醒一次) | > **你唯一需要定期做的事**:看到红点 → 打开工作台 → 顶上的「待确认」点「展开处理」→ 逐条确认 / 拒绝。 ### 自进化页从上到下 1. **运行状态**:五盏灯(模块开关 / 存储 / 会话扫描 / 模型解析 / 技能服务)。哪盏灭了,对应功能降级并用人话说明原因。 2. **今日模型调用 x / N**:今天后台花了多少次调用。 3. **下次定时 / 扫描基线**:定时模式才有"下次";基线 = 从哪个时刻起的新对话会被整理。 4. **手动触发**:「立即整理」跑一次小整理;「做梦」跑一次梦境模式。都在后台跑,不挡你聊天。 5. **回扫历史**:默认不碰旧对话;想整理旧的就在这里选范围(最近 N 天 / 指定工作区 / 指定会话 / 全部历史)。同样受预算管着。 6. **调度 / 扫描范围 / 预算**:见下表。 7. **提案**:它递给你的条子(人格固定层修改 / 技能),批准、拒绝、删除。 8. **运行时间线**:每次运行的完整账本 —— 成功/失败/跳过、扫了几个会话、写了几条记忆、几个提案、花了多少 token。 梦境运行可以点开看**叙事和洞察**。 ### 配置项字典 **调度(什么时候跑)** | 项 | 默认 | 说明 | |---|---|---| | 触发方式 | 空闲自动 | 四选一。选定时则空闲自动关闭(不会双重触发);手动按钮永远在 | | 空闲阈值(分钟) | 30 | 连续多久没对话才算"空闲"。想更勤就调小(有每日上限兜底) | | 触发时刻 | 03:00 | 定时模式的钟点。**每天** = 增量整理;**每周 / 每月** = 自动用梦境模式(长窗口) | | 周几 / 几号 | 周一 / 1 日 | 每周、每月模式各自的锚点(几号限 1–28,避开大小月) | | 时区 | 空 = 系统 | 填 IANA 名(如 `Asia/Shanghai`),跨时区部署才需要 | 错过怎么办:容器停机跨过触发点 —— 宽限窗内开机**只补跑一次**;超窗记一条"跳过",不补。 **扫描范围** | 项 | 默认 | 说明 | |---|---|---| | 包含子代理 / 工作流会话 | 关 | 打开后子代理会话也纳入整理。一般不用开:那里多是干活过程,开了费 token 还容易把工具噪音提炼成"记忆" | **预算(嫌贵就动这一组,其他都不用碰)** | 项 | 默认 | 说明 | |---|---|---| | 单轮最多会话数 | 5 | 一次运行最多消化几个会话,剩下的下轮接着来(游标记水位,**不会丢**) | | 单会话最多事件数 | 200 | 超长会话分批消化 | | 单次调用输入字节上限 | 32768 | 喂给模型的对话摘要封顶 | | 单次调用输出 token 上限 | 4000 | **是上限不是目标**,用不满就不花钱 | | 每日调用上限 | 20 | 全天后台调用总闸。到顶 = 停手 + 警告,第二天清零。填 0 = 不限(不建议) | > 具体默认值以工作台显示为准(升级不会改你已有的配置)。 --- ## 6. 什么需要你点头,什么不用 | 内容 | 它能自己干吗 | 你要做什么 | |---|---|---| | 低风险记忆(明确偏好、稳定事实、约定) | ✅ 直接生效 | 不用管;随时可归档 / 删除 | | 敏感记忆(密码、财务、健康、隐私、亲密内容) | ❌ 只能进待确认 | 待确认页确认 / 拒绝。**你不点它永远不生效**,也不会自动过期 | | 人格可变层(说话风格、习惯、经验教训等) | ✅ 可自动整理(走与对话时同一套校验) | 不用管;校验拒绝的会自动变成提案 | | 身份卡(姓名 / 性别 / 人格偏好 / 主语言 / 自定义字段) | ❌ 只能提案 | 待确认页批准 = 以**你的名义**写入。AI 在对话里无论如何改不了、也批不了 | | 技能 | ❌ 只能提案(但技能页里你能自己新建 / 编辑 / 停用) | 批准后落盘进 `$DSH_HOME/skills/`;**绝不覆盖**同名技能(重名直接拒绝) | --- ## 7. 常见问题 **Q:人格卡从提示词里消失了、工作台也不见了,数据丢了吗?** 大概率是 DSH 版本落在兼容门之外(见 README「兼容性」),整个 bundle 被拒绝挂载。 **数据不受损** —— 升级 DSH 或调整 peer 范围后回来即可。 **Q:极简模式下不生效?** 极简模式的平台配置会跳过所有插件的 systemPrompt 注入(工作台界面仍可访问)。 插件会探测这种组合并在记忆页顶部给出警告条。这属于平台限制,不是缺陷。 **Q:我改了称呼,为什么提示要确认?** 改称呼是**普通改动**,改**固定层字段**才需要确认(高风险走对话内审批)。规则以界面提示为准。 **Q:卸载插件会删掉我的人格和记忆吗?** 不会。数据在 `$DSH_HOME/storages/humanity.json` 与 `$DSH_HOME/skills/`,是**独立数据**。 但注意:技能文件落盘之后**由 DSH 直接加载**,卸载 Humanity 也照样生效。