← 返回列表
⚠ 装前注意
AgentShell 嵌入 DSH 的桥插件:唯一 shell 工具持续终端+ pre-step 落点 +…
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/14 · 已提供中文文档
AgentShell 嵌入 DSH 的桥插件:唯一 shell 工具(持续终端)+ pre-step 落点 + llm/stream 短路接管(git 分发)
综合分
29.8
GitHub 分
29.8
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Eric-GoodBoy-Tech/dsh-agsh-context未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 11 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-agsh-context(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 21:26:58
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-agsh-context
AgentShell 嵌入 DSH 的桥插件(Path B:请求接管)。git 分发,官方 dsh plugin 安装,预设挂载用裸包名。
它做什么
在 agsh 预设下,DSH 负责调度与 API 调用,AgentShell 持续终端是凭证/节点/history 的唯一权威:
1. 唯一模型工具 shell — 指向持续终端(tmux PTY + agent.zsh headless);执行走注入协议,工具结果由终端 precmd 尾调写入节点 history,插件轮询 history 取结果(History 即同步通道)。
2. agent/pre-step — 用户消息按落点规则写入目标节点 history:有凭证沿用;drop 后自然回到上一节点 claim 继续(claim 被其他会话锁挡下则回退会话专属节点);仅首句落会话专属节点。
3. llm/stream 短路接管 — 循环主请求替换为 agsh context build --cred 上下文 + 一次全新 one-shot 调用;回合模型:回合结束无需 drop,凭证跨轮保留,执行 drop 则本节点段立即结束。
非 agsh 会话零侵入(全部钩子带预设/目录门禁)。
内建 API 调用重试
第 3 步的内层 ctx.llm.stream(innerOptions) 自带「API 调用层重试」:一次内层调用的输出被判为异常时,丢弃该次全部事件、同参数重发该次调用(纯重试,不改 messages)。
触发条件(任一):
- shell tool-call 参数漂移(如把 cmd 写成 command,仍可用别名救回);
- tool-call 参数为非法 JSON / 无可救值;
- 流以 finish.reason.kind === 'error' 收尾。
aborted(用户取消)/ stop / tool-calls / max-tokens 不触发重试。
预算:环境变量 AGSH_API_RETRY_MAX(含首次,默认 2,非法值回落 2);耗尽后原样放行(降级,不死循环)。
为何幂等:重发发生在 agshStream 把 assistant 消息(含 tool_calls)写入节点 history 之前;命令执行更要等到流成功结束后。故丢弃 buffer 重发时,命令未进终端、history 未写。分类规格镜像 agsh-stdlib/api-retry-core.ts(标准模式适配器 api-retry.ts 使用的纯逻辑核;此处内联,无跨仓 import)。
依赖
- 运行时依赖:@deepseek-ai/cordis ^4.0.1、@deepseek-ai/dsh-llm ^0.1.0-rc.6。第 2 步 bun install 把它们装进 checkout 的 node_modules;dsh plugin add 是 link: 语义(profile 里的 dsh-agsh-context 是指向 checkout 的符号链接),ESM 加载器按链接真实路径解析,所以裸名 import 时依赖从 checkout 的 node_modules 命中
- DSH 启动时会用 healProfilesModuleFallback 把 harness 依赖平铺 symlink 到 $DSH_HOME/profiles/node_modules,是 --preserve-symlinks 路径下的第二解析锚点
- AgentShell 运行件(agent.zsh + src/cli.ts)通过 AGSH_ROOT 定位(或工作目录下的 agent-shell/src/cli.ts)——从未装过先按 INSTALL.md 第 0-2 节从零安装(写 ~/.zshrc 与重启 DSH 两步需用户确认);AgentShell 框架独立发布,不随本包分发
- 机器前置:bun、jq、tmux
安装(git 分发)
机器上还没有 AgentShell 运行件或 bun/jq/tmux?先按 INSTALL.md 第 0-2 节准备(关键步骤需用户确认),再从下表「取代码」开始。
| 步骤 | 命令 | 落地 |
| :--- | :--- | :--- |
| 取代码 | git clone https://github.com/Eric-GoodBoy-Tech/dsh-agsh-context /path/to/dsh-agsh-context(稳定路径,装后保留) | 源码 + preset/ + dist/ |
| 装依赖并构建 | cd /path/to/dsh-agsh-context && bun install && bun run build | dist/index.js(node 目标) |
| 官方安装进 profile | dsh plugin --profile web add /path/to/dsh-agsh-context | profile 目录内裸名 dsh-agsh-context 可解析 |
| 注册预设 | mkdir -p ~/.dsh/.agent-presets/agsh && cp preset/preset.yml preset/agent.cordis.yml ~/.dsh/.agent-presets/agsh/ | 挂载行已是裸包名 |
| 验证 | 在 profile 目录:node --input-type=module -e "import('dsh-agsh-context').then(m=>console.log(m.name,typeof m.isAgentShellSession,typeof m.inject,typeof m.apply))" | agsh-context function object function |
| 回退 | 预设挂载行改回绝对路径,dsh plugin --profile web remove dsh-agsh-context | 恢复开发态挂载 |
不想手动装?把 INSTALL.md 里的「给安装/排障 Agent 的提示词模板」整段复制给你的 DSH Agent,让它替你完成上表全部步骤。
链接安装注意:dsh plugin add 安装为符号链接(link:),profile 的 node_modules/dsh-agsh-context 指向 checkout 目录本身——安装后不要移动或删除 checkout,否则插件立即失效(恢复目录或重新 bun install 后重跑 dsh plugin --profile add 即可修复)。
在预设中挂载
开发态(本地源码路径):
- id: agsh-context
name: '/path/to/dsh-agsh-context/src/index.ts'
发布后(裸包名,dsh plugin add 安装):
- id: agsh-context
name: 'dsh-agsh-context'
开发
bun install # 装依赖
bun run build # node 目标构建 dist/index.js(external @deepseek-ai/*)
发布入口 main/exports 指向 dist/index.js。git 分发,无 npm 发布步骤。