npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@icedcola/dsh-provider-veark

v0.2.2

Published

火山方舟 Coding Plan LLM provider for DeepSeek Harness — provider-scoped PDF、图片与 Responses API 流式支持

Readme

dsh-provider-veark · 火山方舟 Coding Plan Provider for DeepSeek Harness

为什么做这个插件 · 安装 · 配置 · 卸载 · Endpoint 与计费 · 已知边界 · 开发


为什么做这个插件

事情要从火山方舟 Coding Plan 打骨折说起:基础 Lite 原价 ¥40 现在只要 ¥9.9,高阶 Pro 原价 ¥200 现在只要 ¥49.9——这个价格不薅简直对不起钱包。可惜 DSH 自带的 pi-ai 路由虽然也能接火山方舟,却用不了 Files API:贴图只能一轮一轮地把整张图片 base64 塞进上下文,多轮对话又慢又费。

于是就有了这个插件:走火山官方 Responses API + Coding 网关;图片优先上传到方舟 Files API(上传一次,多轮只传 file_id),失败自动降级 base64;PDF 则通过插件私有 sidecar 安全接入 Coding Responses 原生 input_file,不改 Harness 核心,也不使用 TOS。

9.9!真的TM太香了!

折扣信息为 2026-08 活动价,以火山方舟官网为准。

安装

以下命令以 web profile 为例(profile 名不同请替换,如 headless)。三种方式任选其一,安装后重启 DSH 生效。

首次安装报错 ERR_PNPM_IGNORED_BUILDS? pnpm 11+ 默认禁止依赖执行构建脚本(涉及 protobufjs),先手动放行一次构建,再重新执行安装命令即可:

dsh plugin --profile web approve-builds protobufjs

放行后重新跑一遍下方安装命令,只需处理这一次。

方式一:npm 源(推荐)

dsh plugin --profile web add @icedcola/dsh-provider-veark

方式二:GitHub 源

dsh plugin --profile web add github:IcedWatermelonJuice/dsh-provider-veark

方式三:本地 link(开发调试)

dsh plugin --profile web add /path_to_dsh-provider-veark

本地安装是 link 方式:直接引用源码目录,改动即时生效;但安装期间不要删除或移动该目录,否则 bundle 解析失效。

配置

  1. 打开 DSH 网页 → 设置 → 插件 →「火山方舟 Coding Plan」,展开卡片。
  2. 粘贴密钥(火山方舟 API Key)→ 保存。密钥写入 DSH 凭据服务,不回显、不落 settings.yaml。
  3. 完成。模型选择中出现「火山方舟 Coding Plan」(默认 ark-code-latest),文本、图片和 PDF 文档理解即可使用。

插件配置卡片

PDF 使用方法:先选择声明了 pdf 输入能力的模型(默认 ark-code-latest)。工作区内文档可直接在问题中输入 @docs/文件.pdf,带空格路径使用 @"docs/my paper.pdf";工作区外文档点击 Composer 左侧的 PDF 按钮,插件会立即暂存不可变快照并向草稿追加 @.dsh-pdf/<uuid>/<文件名>。/pdf 仅保留为迁移提示。按钮仅在本插件的 volcengine provider 且当前模型声明 pdf 时显示;自定义模型默认只有 text,请仅在实际 endpoint 支持文档理解时手动勾选 pdf。

Composer 左侧的 PDF 上传按钮

内置 @ 文件引用与 PDF 按钮

卡片内可折叠调整:图片是否走云端文件服务、接口地址、图片清晰度与大小上限、PDF 本地保留天数、超时与重试、模型列表等;全部字段留空即恢复默认。

也可直接编辑 %DSH_HOME%\settings.yaml 的 dsh-provider-veark: 段(保存即热生效,可整段省略 = 全默认):

dsh-provider-veark:
  preferFiles: true
  chatBaseURL: https://ark.cn-beijing.volces.com/api/coding/v3   # coding 网关,勿改
  filesBaseURL: https://ark.cn-beijing.volces.com/api/v3         # 标准域被 403 时切到 …/api/coding/v3
  apiKeyEnv: ARK_API_KEY
  # models:
  #   - id: ark-code-latest
  #     name: Ark Code Latest
  #     contextWindow: 1000000
  #     maxTokens: 128000
  #     inputModalities: ["text", "image", "pdf"]
  #     imagePixelBudget: 640000
  #     imageMaxBytes: 1048576
  # requestImagePixelBudget: 640000
  # requestImageMaxBytes: 1048576
  # fileExpirySeconds: 604800
  # filesApiTimeoutMs: 15000
  # filesProbeIntervalMs: 21600000
  # pdfRetentionDays: 0       # 0 = 不自动删除;1–3650 = 后续上传时清理超期 sidecar

密钥也可不填卡片,改为启动前设置环境变量 ARK_API_KEY(或自定义 apiKeyEnv 指定的引用名)。

卸载

dsh plugin --profile web remove @icedcola/dsh-provider-veark

然后重启 DSH。插件不修改任何宿主源码;卸载后可再手动删除 %DSH_HOME%\dsh-provider-veark\(图片状态)和 %DSH_HOME%\provider-veark\(PDF sidecar)。删除 PDF sidecar 后,旧会话中的 PDF token 将无法再次展开。

Endpoint 与计费

| 请求 | URL | 计费 | |---|---|---| | 模型对话 | …/api/coding/v3/responses | Coding Plan 套餐 | | 图片上传/删除 | …/api/v3/files(默认) | 存储 API,不计模型 token | | PDF 文档理解 | PDF base64 input_file 随模型对话发送 | Coding Plan 套餐;不调用 Files/TOS |

实测(2026-08,coding key):coding 网关 /api/coding/v3/files 不可用;标准域 /api/v3/files 可用。感觉官方日后是想将coding的files api也顺带迁移过去。

已知边界

  • 单个 PDF 和每次请求内累计 PDF 原始大小上限均为 45 MiB,为方舟 50 MB 文件限制与 64 MB 整体请求限制预留编码开销。
  • PDF 按钮产生的 sidecar 默认保存在 %DSH_HOME%\provider-veark\pdfs\:已经使用的快照默认永久保留,未被消息使用的暂存项和不完整孤儿会在 24 小时宽限后清理;可设置 pdfRetentionDays 清理已使用快照,但清理后旧会话无法再读取对应 PDF。
  • 普通 @路径.pdf 只会读取当前会话工作区围栏内的相对路径;绝对路径和越界路径保持普通文本,不会由 adapter 自动读取或外发。工作区文件按每次请求的当前内容读取,按钮 sidecar 则是选择时的不可变快照。
  • 仅导出/迁移会话 JSONL 不会携带 PDF sidecar;跨机器恢复时需同时迁移该目录。
  • 助手历史中的 reasoning 块不回放(Responses 协议限制)。
  • 不支持视频、音频或 TOS 直传。

开发

架构、测试、发布与回退手册见 DEV.md。

pnpm install
pnpm test

License

MIT