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

Python 智能体骨架 ChenYu1991ppak/Pydsh

DeepSeek Harness
ChenYu1991ppak55 天前有提交已提供中文文档扫描:无法判定

一条命令跑起可插拔的编码智能体框架

30/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ChenYu1991ppak/Pydsh
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · dev
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 55 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/11/3) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包Pydsh(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 19:26:50

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 可插拔编码智能体框架
  • 插件循环与钩子
  • 权限、目标与计划

DeepSeek Harness 极简 Python 实现:插件循环、钩子、权限、目标与计划,一条命令,零配置

README

由 DeepSeek 最新模型翻译生成
pydsh 一个用 Python 实现的最小 DeepSeek Harness。 插件循环、钩子、权限、目标/计划——一条命令,零配置。从零开始,忠实复刻 dsh 工程骨架的教育性实现。 DeepSeek Harness(dsh)是一个 AI agent 框架。这是它的 Python 双胞胎——相同的架构,最小化裁剪,开箱即用。deepseek-harness-anatomy 是配套教程,讲解了每一个机制。 pydsh 架构 适合谁使用 - 你想要一个今天就能用的 Python agent harness——克隆、配置 API key、运行 make tui,你就拥有了一个日常可用的编码 agent,具备工具、技能、子 agent 和压缩能力 - 你正在研究 agent 架构——每一个机制都与官方 dsh 源码对齐(↔ packages/*/src),教学性简化之处均有明确标注 - 你正在构建自己的 agent 框架——把它 fork 作为模板;Cordis 插件容器、seam 三重角色模式、事件流持久化都可复用 - 你读过配套教程 deepseek-harness-anatomy,想看看 Python 中的真实实现 项目描述 pydsh 是官方 DeepSeek Harness(dsh)的 Python 教育性复刻。
展开完整文档(README 剩余 1 节)
pydsh

一个用 Python 实现的最小 DeepSeek Harness。 插件循环、钩子、权限、目标/计划——一条命令,零配置。从零开始,忠实复刻 dsh 工程骨架的教育性实现。

DeepSeek Harness(dsh)是一个 AI agent 框架。这是它的 Python 双胞胎——相同的架构,最小化裁剪,开箱即用。deepseek-harness-anatomy 是配套教程,讲解了每一个机制。

pydsh 架构

适合谁使用

- 你想要一个今天就能用的 Python agent harness——克隆、配置 API key、运行 make tui,你就拥有了一个日常可用的编码 agent,具备工具、技能、子 agent 和压缩能力
- 你正在研究 agent 架构——每一个机制都与官方 dsh 源码对齐(↔ packages/*/src),教学性简化之处均有明确标注
- 你正在构建自己的 agent 框架——把它 fork 作为模板;Cordis 插件容器、seam 三重角色模式、事件流持久化都可复用
- 你读过配套教程 deepseek-harness-anatomy,想看看 Python 中的真实实现

项目描述

pydsh 是官方 DeepSeek Harness(dsh)的 Python 教育性复刻。官方 dsh 是一个 TypeScript 通用 AI agent 框架:由 Cordis 插件容器驱动,它将每一项 agent 能力——会话、模型调用、工具执行、技能、子 agent、上下文压缩、token 计量、审批、web 检索——都实现为可插拔插件,通过 bundle 和 profile 以声明式方式组装。

pydsh 忠实复现了这一架构:

- 内核:自研的 cordis/ 插件容器(Context / Fiber / Service / 事件分发 / 四形态归一化),约 400 行同步单线程内核,等价于官方 @deepseek-ai/cordis
- 能力三重角色:每项能力拆分为三层——定义(纯契约)/ 提供者(构造时自注册)/ 消费者(写入工具注册表)——使 seam 可替换
- 会话事件流:仅追加的事件日志(20+ 类型白名单);每一个可观察行为都记录为事件,TUI、持久化、压缩和 token 计量都是只读观察者
- Agent 循环:react 风格的循环驱动器——流式 LLM → 工具调用 → 结果回填 → 重新思考 → 直到文本落定
- LLM 软映射层:四类模型家族(DeepSeek / Kimi / Qwen / GPT)的推理强度、温度和推理历史在纯函数中收敛
- pi-tui 终端前端:TypeScript + @earendil-works/pi-tui,独立的 Node.js 进程,通过 ACP JSON-RPC stdio 协议通信,与官方 dsh-tui 对齐
- 真实 token 用量:由 provider 返回的用量(而非估算值)通过 tokenMeter 锚点流向 前端显示

与官方版本(TypeScript + 40 多个包)相比,pydsh 是最小化裁剪的:单仓库单包布局、同步内核,以及一个教学用的事件表面,同时保留所有核心机制形态。每一处偏离都标记为 [教学简化](teaching simplification),每一处对齐都标记为 ↔ official source location。

当前功能

- 内核:Cordis 插件容器(Context / Fiber / Service / 事件 / 四形态归一化)
- 会话:仅追加事件日志 + 恢复 + 投影 + JSONL / SQLite 持久化
- Agent 循环:react 循环(流式 LLM → 工具 → 回填 → 结算)+ 轮次边界事件
- LLM:OpenAI 兼容流式 + 五档推理强度 + 软映射层(四个模型家族收敛)+ 真实 token 用量(由 provider 返回)
- 工具:注册表 + 三阶段防护流水线 + bash / read_file + 审批(ask / never + answerer)+ 技能加载 + 子代理委派
- 检索:网络搜索 / 抓取(SSRF 防护 + HTML→文本)+ LSP 四项操作
- 压缩:上下文压缩(阈值触发,prune / summarize)
- 前端:pi-tui 终端 + ACP JSON-RPC 服务器,可通过 --profile 切换
- 装配:bundle / profile 叠加链 + pydsh plugin 管理

完整列表:docs/FEATURE.md。

项目结构

pydsh/
├── Makefile # 任务自动化 ├── scripts/ │ └── setup.sh # 一键安装脚本 ├── pydsh/ # Python 包 │ ├── __init__.py │ ├── cordis/ # 插件容器内核 │ ├── infrastructure/ # 启动、配置、bundle、profile、打包、tui │ │ ├── boot/ # CLI 入口 + 项目加载器 │ │ ├── bundle/ # Bundle 清单加载 │ │ ├── config/ # 配置 / models.json / settings.json │ │ ├── packaging/ # 插件发现(entry-points) │ │ ├── profile/ # Profile 叠加链 │ │ └── tui/ # pi-tui 启动器 + Node.js 前端 │ │ ├── app_pi_tui.py # App 插件:启动 pi-tui 子进程 │ │ └── pi-tui/ # Node.js 前端(ACP 客户端) │ ├── packages/ │ │ ├── core/ # 共享库原语 │ │ ├── services/ # 能力服务(20+ 项能力) │ │ └── tools/ # 消费端工具(bash、read_file、web、lsp) │ └── bundles/ # 内置激活清单 ├── tests/ # 测试套件(pytest) ├── docs/ # 设计文档与原则 └── pyproject.toml # 包元数据与 entry-points

快速开始

前置条件

- Python >= 3.11
- Node.js >= 18(在 Linux/macOS 上由安装脚本自动安装)

1. 安装

git clone https://github.com/ChenYu1991ppak/Pydsh.git
cd Pydsh
make install

这会安装 Python 依赖(pip install -e .)、Node.js 依赖,并编译 pi-tui 前端。

2. 配置你的模型

创建带有 API 密钥的 ~/.pydsh/models.json:

mkdir -p ~/.pydsh

models.json 示例:

{
"currentModel": "deepseek",
"availableModels": [
{
"id": "deepseek",
"baseUrl": "https://api.deepseek.com",
"apiKey": "sk-your-api-key-here",
"model": "deepseek-chat"
}
]
}

格式参考:docs/PRINCIPLES.md §8。

3. 启动 TUI

make tui # 启动 pi-tui TUI

或直接运行:

pydsh --profile tui [./project] # pi-tui 前端

开发

make test # 运行所有测试(python -m pytest)
make clean # 清理构建产物和缓存

不使用 Node.js 运行

如果你不需要 TUI 前端,可以直接使用 ACP 服务器:

pydsh --profile acp # ACP JSON-RPC 服务器(需要 API 密钥)

自定义配置文件

--profile 会启动自定义配置文件或内置 bundle。详情请参阅 docs/PRINCIPLES.md §7。

~/.pydsh/profiles/my.yaml
bundles: [tui] # 在 base 之上叠加 tui 前端
plugins: # 追加 / 覆盖插件
- my-extra-plugin
remove: [pydsh.llm-openai] # 移除插件

pydsh --profile my [./project]

未来工作(按实现顺序)

1. session-title — LLM 自动生成的会话标题(目前是确定性的回退方案)
2. fs-search + str-replace-editor — 文件搜索和编辑工具(grep / glob + 编辑器)
3. plan + todo — 任务规划和待办面板
4. full commands registry — 命令 ScopedLayers(按代理隔离)
5. ask-user — 用户提问工具
6. terminal — PTY 终端工具
7. workflow + mcp — 多代理编排 + MCP 协议

架构对比

pydsh vs 官方 dsh(DeepSeek Harness)

| 维度 | pydsh | 官方 dsh |
| 语言 | Python | TypeScript |
| 代码库规模 | 约 400 行内核,单一包 | 40+ 个包 |
| 内核 | 同步、单线程 | 异步、多线程 |
| 插件系统 | Cordis 容器(Context/Fiber/Service/events) | @deepseek-ai/cordis |
| 代理循环 | React 风格(stream → tools → backfill → settle) | 相同 |
| 会话持久化 | JSONL + SQLite,仅追加事件日志 | 相同 |
| LLM 支持 | DeepSeek、Kimi、Qwen、GPT(软映射层) | DeepSeek + 可扩展 |
| 工具 | bash、read_file、web 搜索/抓取、LSP | 完整工具套件 |
| 前端 | pi-tui(Node.js、ACP JSON-RPC) | dsh-tui |
| 复杂度 | 极简、教学用途 | 生产级、功能齐全 |
| 最适合 | 学习、原型设计、Python 原生项目 | 生产使用、TypeScript 生态 |

pydsh 与其他 Agent 框架对比

| 维度 | pydsh | LangChain | CrewAI |
| 理念 | 一切皆插件 | 链式组合 | 基于角色的 Agent |
| 插件系统 | Cordis 容器(接缝三角色) | LangChain 插件 | 有限 |
| Agent 循环 | 内置 react 循环 | 自定义链 | 内置 |
| Token 计量 | 真实提供商返回的用量 | 估算 | 估算 |
| 上下文压缩 | 内置(剪枝/摘要) | 外部 | 外部 |
| 学习曲线 | 低(极简、教学式) | 高(大量抽象) | 中 |
| 体积 | 约 400 行内核 | 10 万+ 行 | 1 万+ 行 |

许可证

MIT
预览分享卡片长什么样 ↓ChenYu1991ppak/Pydsh
分享 · DeepSeek Harness Hub
ChenYu1991ppak/Pydsh

一条命令跑起可插拔的编码智能体框架

这是你的仓库?认领条目

回到顶部