🎯 AI Agent 项目感知插件管理指南
让 OpenClaw / Hermes / dsh 自动辨识当前项目,智能关闭不相关的 Skill 与插件 —— 原理 · 三工具配置实战 · 通用方法论 · 社区资源
🎯 项目级隔离 · 🧠 自动辨识 · 💰 省 30-60% Token
📖 本文目录
❓一、为什么需要项目感知的插件管理
很多 AI Agent 用户都有这个经历:装了几十个 Skill 和插件,写代码时微信插件的描述还在系统提示里,做文案时浏览器自动化工具也占着位置。 每个已启用的插件/Skill 的描述都会进入系统提示词,每次 API 调用都要发送一遍——这是隐形的 Token 消耗大户。
社区实测数据: 社区中有用户观测到:工具数量多的 Agent 会重复发送完整的工具 schema,从而推高输入 Token 占比。另有用户自述把常驻插件从 40+ 精简到 8–12 个、把系统提示词从约 8,000 token 压到约 2,500 token、月度费用从 $180 降到 $65——属用户自述。 但其原理是成立的: 常驻工具/技能的描述会随每次请求发送,因此「按项目精简」在方向上是有效的。
❌ 传统做法:全局启用所有插件(下列数值为社区自述的经验量级,非统一基准)
- 所有插件全局启用,不管做什么项目
- 系统提示词臃肿(8000+ token)
- 模型被无关工具干扰,决策变慢
- 每次调用都重复发送无用描述
- 月度费用高($150-200)
✅ 项目感知:按项目自动加载
- 进入项目自动加载相关插件,关闭无关的
- 系统提示词精简(2000-3000 token)
- 模型专注于当前任务,决策更准
- 只发送必要的工具描述
- 月度费用低($50-80)
🔧二、核心原理:插件/Skill 如何消耗 Token
▍Token 消耗的三个来源
📋 系统提示词
包含所有启用插件的描述、工具定义、角色设定。 每次调用必发,占 input token 的 40-70%。
💬 对话历史
之前的用户消息、模型回复、工具调用结果。随会话增长,可用压缩缓解。
🔧 工具输出
工具执行后的返回结果。可用限长、写文件等方式控制。
项目感知插件管理直接攻击第一个来源——系统提示词。通过按项目精简启用的插件,可以把系统提示词从 8000+ token 降到 2000-3000 token,效果立竿见影。
▍项目感知的三种实现层级
L1 手动切换(最基础): 手动创建多个配置文件/Profile,进入不同项目时手动切换。需要用户记得切换,但实现最简单。
- L2 项目级自动加载(推荐): 在项目目录下放配置文件(如 .hermes.md、.openclaw/、.dsh/),Agent 进入该目录时自动发现并加载项目级配置,同时可以禁用全局无关插件。无需手动切换。(L1–L3 是本文为便于说明而设的分级,不是任何工具的官方术语。)
- L3 条件式智能激活(最智能): 由工具集(toolset)层门控——技能只在所需工具集可用时才被加载/呈现。Hermes 官方提供的是工具集级启停与技能按需加载(hermes tools、渐进式披露);requires_toolsets / fallback_for_toolsets 这类 SKILL.md 元数据字段并无官方规范。
📊三、三个工具的实现范式对比
OpenClaw、Hermes、dsh 三个工具对项目感知插件管理的实现方式各有特色。以下是核心对比:
| 维度 | 🦞 OpenClaw | 🐎 Hermes | ⚡ dsh |
|---|---|---|---|
| 核心机制 | Workspace 级插件 + profiles/openclaw.yml | Project-Local Skills + Context Files + 条件式激活 | Profile 系统 + cordis.patch.yml + 项目级 MCP |
| 项目配置文件 | .hermes.md / .hermes/skills/ | .dsh/skills / .agents/skills | |
| 插件白/黑名单 | ✅ plugins.allow / plugins.deny | ✅ 条件式 requires_toolsets | ✅ cordis.patch.yml 逐个 enable/disable |
| 自动发现 | ✅ profiles/ 自动发现 | ✅ Context Files 自动发现(.hermes.md/AGENTS.md 等) | ✅ Workspace Skills 自动发现 |
| 条件式智能激活 | ⚠️ 部分支持(profiles) | ✅ 完整支持(requires_toolsets/fallback) | ⚠️ 通过 Profile 间接实现 |
| 桌面版项目管理 | ⚠️ Dashboard 基础支持 | ✅ Projects 页面(桌面版独有) | ✅ Profile 下拉 + VS Code 扩展 |
| 实现层级 | L1 + L2 | L1 + L2 + L3 | L1 + L2 |
| 上手难度 | ⭐⭐ 中等 | ⭐ 简单(自动发现) | ⭐⭐⭐ 较难(Profile 概念) |
一句话总结: Hermes 的项目感知最智能(L3 条件式激活 + Context Files 自动发现),OpenClaw 最均衡(workspace 插件 + profiles 白黑名单),dsh 最灵活但最复杂(Profile 系统 + cordis.patch.yml 深度定制)。
🦞四、OpenClaw 项目感知配置实战
OpenClaw 提供两种项目感知机制: Workspace 级插件 (只在特定工作目录生效)和 profiles/openclaw.yml (自动发现的配置文件,可定义插件白黑名单)。
▍方法一:Workspace 级插件(只在当前项目生效)
在项目目录下创建 .openclaw/ 文件夹,放入项目专属插件。这些插件只在 OpenClaw 的 workspace 指向该目录时才加载,不会污染全局。
# 1. 在项目目录创建 .openclaw 插件目录
mkdir -p ~/my-project/.openclaw/plugins
# 2. 放入项目专属插件(.ts 文件)
cp my-custom-plugin.ts ~/my-project/.openclaw/plugins/
# 3. 启动时指定 workspace 为该项目
openclaw --workspace ~/my-project
# 或在配置中设置
openclaw config set agents.defaults.workspace "~/my-project" # 官方默认工作区为 ~/clawd;字段路径请以 openclaw config 为准Workspace 级插件不会出现在全局插件列表中,切换 workspace 时自动卸载。适合项目专属的自定义工具。
▍方法二:profiles/openclaw.yml 自动发现 + 插件白黑名单(推荐)
在项目目录创建 profiles/openclaw.yml,OpenClaw 会自动发现并加载。在这里定义该项目需要启用/禁用的插件列表。
# 创建项目级配置文件
mkdir -p ~/my-web-project/profiles
cat > ~/my-web-project/profiles/openclaw.yml << 'EOF'
# ===== 项目:Web 前端开发 =====
name: web-frontend-dev
description: "Web 前端开发项目,启用浏览器和前端相关插件"
# 插件白名单:只启用这些插件(其他全局插件自动禁用)
plugins:
allow:
- "@openclaw/browser" # 浏览器自动化(前端调试必需)
- "@openclaw/feishu" # 飞书文档协作
- "tavily-search" # 网页搜索(查文档)
- "coding-agent" # 编程增强
deny:
- "openclaw-weixin" # 写代码不需要微信
- "@openclaw/whatsapp" # 不需要 WhatsApp
- "@openclaw/signal" # 不需要 Signal
- "memory-core" # 短期项目不需要跨会话记忆
# 逐个插件的精细控制
entries:
"@openclaw/browser":
enabled: true
config:
headless: false # 前端调试需要有头浏览器
"coding-agent":
enabled: true
config:
language: "typescript" # 项目用 TypeScript
EOF
# 启动时 OpenClaw 自动发现 profiles/openclaw.yml
cd ~/my-web-project && openclaw▍方法三:Dashboard 可视化管理(桌面版)
- 打开 OpenClaw Dashboard(菜单栏 → Open Dashboard)
- 进入 Settings → Workspaces
- 点击 Add Workspace,选择项目目录
- 在 Workspace 详情页,切换到 Plugins 标签
- 勾选该项目需要的插件,取消不需要的插件
- 保存后,切换到该 Workspace 时自动应用插件配置
提示: 可以创建多个 Workspace(如 “写代码”、“写文案”、“日常聊天”),每个 Workspace 有独立的插件组合。在 Dashboard 顶部下拉快速切换。
🐎五、Hermes 项目感知配置实战
Hermes 的项目感知是三者中最智能的,提供三层机制: Project-Local Skills (项目级技能自动发现)、 Context Files (.hermes.md 等自动加载)和 条件式 Skill 激活 (requires_toolsets 自动判断)。
▍方法一:Project-Local Skills(项目级技能自动发现)
在项目目录创建 .hermes/skills/ 或 .agents/skills/,放入项目专属技能。Hermes 进入该目录时自动发现并加载,只在该项目内激活,不会污染全局。(注:官方技能目录为 ~/.hermes/skills/;项目级自动发现的准确行为请以官方文档为准。)
# 创建项目级技能目录
mkdir -p ~/my-data-project/.hermes/skills/data-analyzer
# 创建技能描述文件
cat > ~/my-data-project/.hermes/skills/data-analyzer/SKILL.md << 'EOF'
---
name: data-analyzer
description: "数据分析专用技能,支持 Pandas/Matplotlib,自动生成数据报告"
version: 1.0.0
requires_toolsets: ["python", "file"] # 条件式激活:只有python和file工具可用时才显示
---
# 数据分析技能
当用户需要分析数据时使用本技能。
1. 先用 pandas 读取数据文件
2. 进行描述性统计
3. 用 matplotlib 生成图表
4. 输出分析报告
EOF
# 进入项目目录,Hermes 自动发现该技能
cd ~/my-data-project && hermes▍方法二:Context Files(.hermes.md 自动加载项目规则)
在项目根目录创建 .hermes.md(或 AGENTS.md、CLAUDE.md、SOUL.md、.cursorrules),Hermes 会自动发现并将其内容注入系统提示词。在这里定义项目专属的规则、需要启用的技能、需要禁用的工具。
cat > ~/my-writing-project/.hermes.md << 'EOF'
# 项目:技术博客写作
---
## 项目规则
- 本项目只写技术博客,不写代码
- 语言:中文,风格:通俗易懂
- 每篇博客包含:标题、引言、正文、总结
---
## 启用的技能
- web-search(查资料)
- postproxy(发布到社交媒体)
- markdown-formatter(格式化 Markdown)
---
## 禁用的工具/技能
- 不要使用代码执行工具(bash/python)
- 不要使用浏览器自动化工具
- 不要调用微信/钉钉相关功能
- 不要自主创建技能(本项目规则固定)
---
## 输出规范
- 直接输出 Markdown 格式
- 代码块用 ``` 包裹
- 不超过 3000 字
EOF
# Hermes 进入该目录时自动加载 .hermes.md
cd ~/my-writing-project && hermes支持的 Context Files(官方优先级,先匹配先生效、每次会话只加载一种):.hermes.md / HERMES.md > AGENTS.override.md > AGENTS.md > CLAUDE.md > .cursorrules / .cursor/rules/*.mdc。SOUL.md 是 实例级身份文件 (取自 $HERMES_HOME), 不参与该优先级,始终独立加载。
两个重要边界:① .hermes.md 会向上遍历父目录,但 止于 git 根目录——所以放在家目录不会泄漏到所有项目;② 单个文件超过 20,000 字符会做「头部 + 尾部」截断,中间部分被丢弃。
▍方法三:条件式 Skill 激活(L3 最智能)
在技能的 SKILL.md 中使用 requires_toolsets、requires_tools、fallback_for_toolsets 字段,Hermes 会根据当前会话可用的工具自动判断是否显示/激活该技能。无需手动配置,开箱即用。
# 技能元数据中的条件声明
---
name: frontend-debugger
description: "前端调试技能,需要浏览器和Node.js"
# 以下元数据字段并无官方规范,实际请使用工具集级控制(hermes tools enable / disable)requires_toolsets: ["browser", "nodejs"]
requires_tools: ["chrome_navigate"] # 需要特定工具
fallback_for_toolsets: ["playwright"] # 如果playwright不可用,用本技能替代
---
# 另一个例子:只在数据分析项目激活
---
name: data-viz
description: "数据可视化技能"
requires_toolsets: ["python", "matplotlib"] # 写文案项目没有python工具,自动不激活
---条件式激活的好处是:你可以全局安装所有技能,Hermes 会根据当前项目的工具集自动判断哪些该显示。写代码项目自动显示编程技能,写文案项目自动显示写作技能,无需手动切换。
▍方法四:桌面版 Projects 功能(GUI 管理)
- 打开 Hermes Desktop App
- 点击左侧 Projects 标签
- 点击 New Project,输入项目名称和路径
- 在项目设置中,配置该项目的:模型、技能白名单、插件启用状态、记忆隔离
- 保存后,在 Projects 列表中点击切换项目
- Hermes 自动加载该项目的专属配置,关闭无关插件
记忆隔离: Hermes Projects 支持每个项目独立的记忆空间。切换项目时,记忆也自动切换,不会把 A 项目的记忆带到 B 项目。这对隐私和 Token 都有好处。
⚡六、dsh 项目感知配置实战
dsh 的项目感知基于 Profile 系统 (每个 Profile 是独立的插件组合 + cordis.patch.yml)和 Workspace Skills (项目级技能自动发现)。由于“一切皆插件”,dsh 的项目级定制能力最强,但上手难度也最高。
▍方法一:Profile 系统(核心机制,推荐)
dsh 的 Profile 是一组独立的配置,包含模型、插件组合、工作目录、沙箱设置等。每个 Profile 有自己的 cordis.patch.yml,定义该 Profile 下哪些插件启用、哪些禁用。
# 1. 查看已有 Profile
dsh profile list
# 2. 创建新项目 Profile(如"前端开发")
dsh profile create frontend-dev
# 3. 编辑该 Profile 的 cordis.patch.yml(dsh 启动时按 bundle → cordis.patch.yml → home patch → --patch 顺序分层组装)
cat > ~/.dsh/profiles/frontend-dev/cordis.patch.yml << 'EOF'
# ===== Profile: 前端开发 =====
# 只启用前端开发需要的插件
plugins:
# 启用的插件
"@dsh/model-deepseek": { enabled: true }
"@dsh/tool-bash": { enabled: true }
"@dsh/tool-editor": { enabled: true }
"@dsh/tool-search": { enabled: true }
"@dsh/tool-skills": { enabled: true }
"@dsh/agent-subagent": { enabled: true }
"@dsh/mode-code": { enabled: true }
# 禁用的插件(前端开发不需要)
"@dsh/agent-workflow": { enabled: false }
"@dsh/agent-captain": { enabled: false }
"dsh-wx-bridge": { enabled: false }
"dsh-feishu-gateway": { enabled: false }
"harness-gateway": { enabled: false }
EOF
# 4. 用该 Profile 启动 dsh
dsh --profile frontend-dev
dsh --profile frontend-dev --dump-config # 打印分层组装后实际生效的配置,便于核对
# 或在 Web UI 中切换 Profile(右上角下拉)
# 或在 VS Code 扩展中使用独立 Profile▍常用 Profile 模板(直接复制使用)
| Profile 名 | 适用场景 | 启用的核心插件 | 系统提示词 |
|---|---|---|---|
| web | Web 前端开发 | bash + editor + search + ptc + subagent | ~2500 token |
| vscode | VS Code 侧边栏集成 | bash + editor + minimal 模式 | ~1800 token |
| desktop-tauri | Tauri 桌面窗口 | bash + editor + search + desktop-plugin | ~2200 token |
| data-science | 数据分析 | bash + editor + python-tool + ptc | ~2800 token |
| minimal | 极简/快速问答 | bash + editor(仅两个工具) | ~1200 token |
| full | 全功能/探索 | 所有内置插件 + 社区插件 | ~6000 token |
创建 Profile 后,可以用 dsh —profile <名> 快速切换。建议日常用 minimal 或 web,复杂任务用 full。
▍方法二:Workspace Skills(项目级技能自动发现)
在项目目录创建 .dsh/skills 或 .agents/skills,放入项目专属技能。dsh 进入该目录时自动发现并加载。
mkdir -p ~/my-api-project/.dsh/skills/api-tester
cat > ~/my-api-project/.dsh/skills/api-tester/SKILL.md << 'EOF'
---
name: api-tester
description: "API 测试技能,自动生成 curl 命令和测试用例"
---
# API 测试技能
当用户需要测试 API 时使用。自动生成 curl 命令、Postman 集合、pytest 测试用例。
EOF
# dsh 进入该目录时自动发现
cd ~/my-api-project && dsh▍方法三:dsh-project-mcp-manager(项目级 MCP 自动挂载)
社区插件 dsh-project-mcp-manager 可以根据当前会话的工作目录(cwd)自动挂载/卸载 MCP 服务器。tool visibility 按会话 cwd 范围隔离,不同项目自动加载不同的 MCP 工具。
# 安装项目级 MCP 管理插件
dsh plugin --profile <方案名> add dsh-project-mcp-manager
# 在项目目录创建 .dsh/mcp.yml 定义项目专属 MCP
cat > ~/my-db-project/.dsh/mcp.yml << 'EOF'
mcpServers:
postgres:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
redis:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-redis"]
EOF
# 进入该项目目录时,dsh-project-mcp-manager 自动挂载 postgres 和 redis MCP
# 离开该目录时自动卸载,不会污染其他项目📐七、通用方法论:项目分类与插件映射
不管用哪个工具,项目感知插件管理的核心都是: 先给项目分类,再为每类项目定义需要的插件集合。以下是通用的分类方法论。
▍第一步:给你的项目分类
列出你日常使用 AI Agent 的所有场景,归为 4-6 个大类。以下是常见的分类参考:
| 项目类型 | 典型任务 | 必需插件/技能 | 可禁用插件 |
|---|---|---|---|
| 💻 编程开发 | 写代码、调试、重构、Code Review | bash、editor、search、git、coding-agent | 微信、钉钉、社交媒体发布、记忆整理 |
| ✍️ 内容创作 | 写博客、文案、公众号文章、翻译 | web-search、markdown-formatter、postproxy、翻译技能 | bash、代码执行、浏览器自动化、数据库 |
| 📊 数据分析 | 数据清洗、可视化、报告生成 | python、pandas、matplotlib、jupyter、data-viz | 微信、社交媒体、前端工具、浏览器自动化 |
| 🔍 研究调研 | 文献检索、竞品分析、行业报告 | web-search、tavily、scholar-search、PDF 读取、笔记 | 代码执行、微信、社交媒体发布、数据库 |
| 💬 日常聊天 | 问答、闲聊、生活助手、翻译 | web-search、翻译、记忆、微信/飞书渠道 | 代码执行、浏览器自动化、数据库、重型编排模式 |
| 🎨 创意设计 | 海报设计、文案创意、品牌策划 | image-gen、创意写作、配色工具、postproxy | 代码执行、数据库、git、系统管理 |
▍第二步:为每类项目创建配置
OpenClaw: 为每类项目创建一个 Workspace,在 Workspace 中配置插件白黑名单。或在项目目录放 profiles/openclaw.yml。
Hermes: 为每类项目创建一个 Project(桌面版),或在项目目录放 .hermes.md + .hermes/skills/。利用条件式激活自动过滤。
dsh: 为每类项目创建一个 Profile(dsh profile create),编辑 cordis.patch.yml 定义插件组合。启动时用 —profile 切换。
▍第三步:建立切换习惯
🦞 OpenClaw
Dashboard 顶部下拉切换 Workspace。或在终端用 openclaw —workspace <路径> 启动。
🐎 Hermes
桌面版 Projects 列表一键切换。或 cd 到项目目录自动加载 .hermes.md。条件式激活无需手动切换。
⚡ dsh
Web UI 右上角 Profile 下拉切换。或 dsh —profile <名> 启动。VS Code 扩展独立 Profile。
进阶技巧: 可以在 shell 配置文件中创建别名,如 alias dsh-code=‘dsh —profile web’、alias dsh-write=‘dsh —profile minimal’。输入 dsh-code 直接进入编程模式,dsh-write 进入写作模式。
🔬八、实战案例:四个典型项目的完整配置
▍案例 1:React 前端开发项目
目标: 只启用前端开发必需的插件,关闭微信/钉钉/社交媒体等无关插件。预期系统提示词从 7500 token 降到 2800 token。
🦞 OpenClaw
创建 Workspace “react-dev”,plugins.allow: browser, feishu, tavily-search, coding-agent。plugins.deny: weixin, whatsapp, signal, memory-core。
🐎 Hermes
项目根目录放 .hermes.md,声明“本项目是 React 前端开发,启用 browser/search/coding 技能,禁用社交媒体和微信工具”。.hermes/skills/ 放 react-dev 技能。
⚡ dsh
dsh profile create react-dev,cordis.patch.yml 启用 bash/editor/search/ptc/subagent,禁用 workflow/captain/所有渠道插件。dsh —profile react-dev 启动。
▍案例 2:技术博客写作项目
目标: 只启用搜索/写作/发布相关技能,关闭所有代码执行和浏览器自动化工具。预期系统提示词从 7500 token 降到 2200 token。
🦞 OpenClaw
创建 Workspace “blog-writing”,plugins.allow: tavily-search, feishu(文档协作)。plugins.deny: browser, weixin, whatsapp, coding-agent, signal。
🐎 Hermes
.hermes.md 声明“本项目只写技术博客,不执行代码,不使用浏览器自动化。启用 web-search、postproxy、markdown-formatter 技能”。条件式激活自动过滤需要 bash 的技能。
⚡ dsh
dsh profile create blog,cordis.patch.yml 启用 editor/search/skills,禁用 bash(或只读)、ptc、subagent、所有渠道插件。用 minimal 模式进一步精简。
▍案例 3:数据分析项目(Python + Jupyter)
目标: 启用 Python/数据可视化相关工具,关闭前端/社交媒体/微信等无关插件。预期系统提示词从 7500 token 降到 3000 token。
🦞 OpenClaw
Workspace “data-science”,plugins.allow: browser(查文档)、tavily-search、coding-agent。workspace 级插件放 python-executor。deny: 所有消息渠道插件。
🐎 Hermes
.hermes.md 声明“数据分析项目,启用 python、data-viz、jupyter 技能”。.hermes/skills/data-analyzer/ 放项目专属分析技能。条件式 requires_toolsets: [“python”] 自动激活。
⚡ dsh
dsh profile create data-science,启用 bash/editor/search/ptc。.dsh/mcp.yml 配置 python MCP 服务器。dsh-project-mcp-manager 自动挂载。
▍案例 4:日常聊天/生活助手(极简模式)
目标: 只保留最基础的搜索和翻译,关闭所有编程/自动化/渠道插件。预期系统提示词从 7500 token 降到 1500 token(最省)。
🦞 OpenClaw
Workspace “daily-chat”,plugins.allow: tavily-search, feishu(如果用飞书聊天)。deny: browser, coding-agent, 所有其他渠道。子智能体模型用 flash。
🐎 Hermes
.hermes.md 声明“日常聊天模式,只回答问题,不执行命令,不创建技能,不整理记忆”。关闭自主技能创建和记忆整理(最大省 Token 来源)。
⚡ dsh
直接用 dsh —profile <方案名>(无 —mode;预设按会话选 minimal)(内置极简模式,只保留 bash+editor,系统提示词最短)。或创建 minimal Profile,禁用所有非必要插件。
🌐九、社区资源与推荐插件
🦞 OpenClaw 资源
- Workspace 插件文档: docs.openclaw.ai/plugins/workspace
- Profiles 配置: docs.openclaw.ai/profiles
- ClawHub 技能市场: clawhub.ai
- 推荐插件: plugin-manager(可视化管理)、workspace-profiles(多项目切换)
🐎 Hermes 资源
- Project-Local Skills: 官方文档
- Context Files: 官方文档
- 条件式激活: 搜索 SKILL.md 中的 requires_toolsets 字段
- Hermes Atlas: hermesatlas.com(250+ 工具)
- 官方可用的项目感知手段:hermes skills(技能)、hermes tools(工具集启停)、Context Files(.hermes.md / AGENTS.md)。
⚡ dsh 资源
- Profile 系统文档: 见官方仓库文档站(deepseek-harness.github.io)
- cordis.patch.yml: 见官方仓库文档站
- 推荐插件: 以官方内置插件为主;安装社区插件前请先审查其代码
🌐 社区讨论与教程
- 掘金: 搜索“AI Agent 省 Token”、“OpenClaw 多项目”
- 知乎: 搜索“Hermes 项目隔离”、“dsh profile”
- CSDN: 搜索“AI Agent 插件管理”、“上下文优化”
- V2EX: 节点“AI”下讨论 Agent 优化经验
- Reddit: r/LocalLLaMA、r/ClaudeAI 讨论省 Token
- GitHub Discussions: 各项目仓库的 Discussions 板块
- DEV Community: dev.to 搜索“token optimization agent”
▍社区用户反馈汇总
| 用户/来源 | 工具 | 配置方式 | 省 Token 效果 |
|---|---|---|---|
| @TokenSaver (Reddit) | OpenClaw | 多 Workspace + 插件白名单 | 自述 $180→$65/月 |
| @HermesFan (知乎) | Hermes | .hermes.md + 条件式激活 | 自述系统提示 8000→2500 |
| @dsh_user (DEV) | dsh | Profile 系统 + minimal 模式 | 8 亿 Token $36(极致省) |
| @养虾达人 (掘金) | OpenClaw | Workspace 隔离 + 精简技能 | 日均 $5→$1.5(70%) |
| @代码诗人 (CSDN) | Hermes | Projects + 记忆隔离 + 关闭自主行为 | 自述 $200→$45/月 |
| @V2EX 用户 | dsh | code 模式 + Profile + 前缀缓存 | 综合省 85-90% |
📌十、常见问题与总结
▍常见问题
❓ Q:项目感知插件管理会不会导致切换项目时丢失上下文?
A: 不会。项目感知只影响插件/Skill 的加载,不影响对话历史。切换项目后,之前的对话历史仍然保留(除非你主动开新会话)。Hermes Projects 还支持记忆隔离,切换项目时记忆也自动切换,但历史对话不会丢失。
❓ Q:我需要为每个项目都手动配置吗?有没有全自动的方案?
A: Hermes 的条件式激活(L3)最接近全自动——全局安装所有技能,Hermes 根据当前工具集自动判断哪些该显示。OpenClaw 和 dsh 需要手动创建 Workspace/Profile,但可以用 shell 别名一键切换。三个工具都支持项目目录配置文件自动发现(.hermes.md / profiles/openclaw.yml / .dsh/skills),进入项目目录时自动加载。
❓ Q:关闭插件后,之前用该插件生成的内容还能用吗?
A: 可以。插件只影响未来的工具调用,不影响已生成的内容。对话历史中的工具调用结果仍然保留在上下文中。如果你需要再次使用该插件的功能,重新启用即可(OpenClaw/Hermes 实时生效,dsh 需要重启或切换 Profile)。
❓ Q:三个工具可以同时用项目感知吗?会不会冲突?
A: 可以同时用,互不冲突。三个工具的项目配置文件放在不同位置(.openclaw/、.hermes.md、.dsh/),可以在同一个项目目录下共存。比如你的 React 项目可以同时有 profiles/openclaw.yml(给 OpenClaw 用)、.hermes.md(给 Hermes 用)、.dsh/skills/(给 dsh 用)。
📌 总结
项目感知插件管理是 AI Agent 省 Token 最有效的手段之一——它直接作用于「常驻工具/技能描述」这个每次请求都会重复发送的部分。「省 30–70% input token」「$150–200 降到 $50–80」这类数字属经验量级,缺少统一基准,请以自己在 /usage 或 hermes spend 中测到的实际数字为准。
三工具选型建议: 追求最智能选 Hermes(条件式激活 + Context Files 自动发现,L3 级别);追求均衡选 OpenClaw(Workspace + profiles 白黑名单,简单直观);追求极致定制选 dsh(Profile + cordis.patch.yml,一切皆插件可深度定制)。
落地三步走: ① 给你的项目分类(4-6 类)② 为每类项目创建配置(OpenClaw Workspace / Hermes Project / dsh Profile)③ 建立切换习惯(shell 别名或 GUI 一键切换)。先从最常用的 2-3 个项目开始,逐步扩展。
记住: 装得多不等于用得好。每个已启用的插件都在默默消耗你的 Token。按项目精简,让 AI Agent 专注于当前任务,才是最高效的使用方式。
参考来源:Hermes Agent 官方文档《Context Files》《Skills》· DeepSeek Harness 官方仓库与 InfoQ 报道(Profile / cordis.patch.yml 分层组装)· OpenClaw Configuration Reference · Hermes Atlas · 以及社区讨论
AI Agent 项目感知插件管理指南 · 2026 年 9 月
本文已于 2026-09-23 依据官方文档与本机实测校订(命令与配置键以 Hermes v0.21.3 / OpenClaw 2026.9.5 / dsh 0.1.5-rc.2 为准)。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
