跳到主内容

🎯 AI Agent 项目感知插件管理指南

6106 字
31 分钟
🎯 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.ymlProject-Local Skills + Context Files + 条件式激活Profile 系统 + cordis.patch.yml + 项目级 MCP
项目配置文件/.openclaw/.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 + L2L1 + L2 + L3L1 + L2
上手难度⭐⭐ 中等⭐ 简单(自动发现)⭐⭐⭐ 较难(Profile 概念)

一句话总结: Hermes 的项目感知最智能(L3 条件式激活 + Context Files 自动发现),OpenClaw 最均衡(workspace 插件 + profiles 白黑名单),dsh 最灵活但最复杂(Profile 系统 + cordis.patch.yml 深度定制)。


🦞四、OpenClaw 项目感知配置实战#

OpenClaw 提供两种项目感知机制: Workspace 级插件 (只在特定工作目录生效)和 profiles/openclaw.yml (自动发现的配置文件,可定义插件白黑名单)。

▍方法一:Workspace 级插件(只在当前项目生效)#

在项目目录下创建 .openclaw/ 文件夹,放入项目专属插件。这些插件只在 OpenClaw 的 workspace 指向该目录时才加载,不会污染全局。

Terminal window
# 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 会自动发现并加载。在这里定义该项目需要启用/禁用的插件列表。

Terminal window
# 创建项目级配置文件
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 可视化管理(桌面版)#

  1. 打开 OpenClaw Dashboard(菜单栏 → Open Dashboard)
  2. 进入 Settings → Workspaces
  3. 点击 Add Workspace,选择项目目录
  4. 在 Workspace 详情页,切换到 Plugins 标签
  5. 勾选该项目需要的插件,取消不需要的插件
  6. 保存后,切换到该 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/;项目级自动发现的准确行为请以官方文档为准。)

Terminal window
# 创建项目级技能目录
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 会自动发现并将其内容注入系统提示词。在这里定义项目专属的规则、需要启用的技能、需要禁用的工具。

Terminal window
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 管理)#

  1. 打开 Hermes Desktop App
  2. 点击左侧 Projects 标签
  3. 点击 New Project,输入项目名称和路径
  4. 在项目设置中,配置该项目的:模型、技能白名单、插件启用状态、记忆隔离
  5. 保存后,在 Projects 列表中点击切换项目
  6. Hermes 自动加载该项目的专属配置,关闭无关插件

记忆隔离: Hermes Projects 支持每个项目独立的记忆空间。切换项目时,记忆也自动切换,不会把 A 项目的记忆带到 B 项目。这对隐私和 Token 都有好处。


⚡六、dsh 项目感知配置实战#

dsh 的项目感知基于 Profile 系统 (每个 Profile 是独立的插件组合 + cordis.patch.yml)和 Workspace Skills (项目级技能自动发现)。由于“一切皆插件”,dsh 的项目级定制能力最强,但上手难度也最高。

▍方法一:Profile 系统(核心机制,推荐)#

dsh 的 Profile 是一组独立的配置,包含模型、插件组合、工作目录、沙箱设置等。每个 Profile 有自己的 cordis.patch.yml,定义该 Profile 下哪些插件启用、哪些禁用。

Terminal window
# 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 名适用场景启用的核心插件系统提示词
webWeb 前端开发bash + editor + search + ptc + subagent~2500 token
vscodeVS Code 侧边栏集成bash + editor + minimal 模式~1800 token
desktop-tauriTauri 桌面窗口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 进入该目录时自动发现并加载。

Terminal window
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 工具。

Terminal window
# 安装项目级 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 Reviewbash、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 资源#

🐎 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)dshProfile 系统 + minimal 模式8 亿 Token $36(极致省)
@养虾达人 (掘金)OpenClawWorkspace 隔离 + 精简技能日均 $5→$1.5(70%)
@代码诗人 (CSDN)HermesProjects + 记忆隔离 + 关闭自主行为自述 $200→$45/月
@V2EX 用户dshcode 模式 + 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 为准)。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
作者
AWF
发布于
2026-09-23
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
AWF
Hello, I'm AWF.
公告
欢迎来到我的博客!
探索发现
最新动态
站点统计
文章
30
分类
3
标签
50
总字数
137,731
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
1
📖 本文目录
2
❓一、为什么需要项目感知的插件管理
2.1
❌ 传统做法:全局启用所有插件(下列数值为社区自述的经验量级,非统一基准)
2.2
✅ 项目感知:按项目自动加载
3
🔧二、核心原理:插件/Skill 如何消耗 Token
3.1
▍Token 消耗的三个来源
3.2
▍项目感知的三种实现层级
4
📊三、三个工具的实现范式对比
5
🦞四、OpenClaw 项目感知配置实战
5.1
▍方法一:Workspace 级插件(只在当前项目生效)
5.2
▍方法二:profiles/openclaw.yml 自动发现 + 插件白黑名单(推荐)
5.3
▍方法三:Dashboard 可视化管理(桌面版)
6
🐎五、Hermes 项目感知配置实战
6.1
▍方法一:Project-Local Skills(项目级技能自动发现)
6.2
▍方法二:Context Files(.hermes.md 自动加载项目规则)
6.3
▍方法三:条件式 Skill 激活(L3 最智能)
6.4
▍方法四:桌面版 Projects 功能(GUI 管理)
7
⚡六、dsh 项目感知配置实战
7.1
▍方法一:Profile 系统(核心机制,推荐)
7.2
▍常用 Profile 模板(直接复制使用)
7.3
▍方法二:Workspace Skills(项目级技能自动发现)
7.4
▍方法三:dsh-project-mcp-manager(项目级 MCP 自动挂载)
8
📐七、通用方法论:项目分类与插件映射
8.1
▍第一步:给你的项目分类
8.2
▍第二步:为每类项目创建配置
8.3
▍第三步:建立切换习惯
9
🔬八、实战案例:四个典型项目的完整配置
9.1
▍案例 1:React 前端开发项目
9.2
▍案例 2:技术博客写作项目
9.3
▍案例 3:数据分析项目(Python + Jupyter)
9.4
▍案例 4:日常聊天/生活助手(极简模式)
10
🌐九、社区资源与推荐插件
10.1
🦞 OpenClaw 资源
10.2
🐎 Hermes 资源
10.3
⚡ dsh 资源
10.4
🌐 社区讨论与教程
10.5
▍社区用户反馈汇总
11
📌十、常见问题与总结
11.1
▍常见问题
文章目录
1
📖 本文目录
2
❓一、为什么需要项目感知的插件管理
2.1
❌ 传统做法:全局启用所有插件(下列数值为社区自述的经验量级,非统一基准)
2.2
✅ 项目感知:按项目自动加载
3
🔧二、核心原理:插件/Skill 如何消耗 Token
3.1
▍Token 消耗的三个来源
3.2
▍项目感知的三种实现层级
4
📊三、三个工具的实现范式对比
5
🦞四、OpenClaw 项目感知配置实战
5.1
▍方法一:Workspace 级插件(只在当前项目生效)
5.2
▍方法二:profiles/openclaw.yml 自动发现 + 插件白黑名单(推荐)
5.3
▍方法三:Dashboard 可视化管理(桌面版)
6
🐎五、Hermes 项目感知配置实战
6.1
▍方法一:Project-Local Skills(项目级技能自动发现)
6.2
▍方法二:Context Files(.hermes.md 自动加载项目规则)
6.3
▍方法三:条件式 Skill 激活(L3 最智能)
6.4
▍方法四:桌面版 Projects 功能(GUI 管理)
7
⚡六、dsh 项目感知配置实战
7.1
▍方法一:Profile 系统(核心机制,推荐)
7.2
▍常用 Profile 模板(直接复制使用)
7.3
▍方法二:Workspace Skills(项目级技能自动发现)
7.4
▍方法三:dsh-project-mcp-manager(项目级 MCP 自动挂载)
8
📐七、通用方法论:项目分类与插件映射
8.1
▍第一步:给你的项目分类
8.2
▍第二步:为每类项目创建配置
8.3
▍第三步:建立切换习惯
9
🔬八、实战案例:四个典型项目的完整配置
9.1
▍案例 1:React 前端开发项目
9.2
▍案例 2:技术博客写作项目
9.3
▍案例 3:数据分析项目(Python + Jupyter)
9.4
▍案例 4:日常聊天/生活助手(极简模式)
10
🌐九、社区资源与推荐插件
10.1
🦞 OpenClaw 资源
10.2
🐎 Hermes 资源
10.3
⚡ dsh 资源
10.4
🌐 社区讨论与教程
10.5
▍社区用户反馈汇总
11
📌十、常见问题与总结
11.1
▍常见问题