我把 DeepSeek Harness 折腾了一晚上,顺手给 AI 安了个吃货人设

这篇是一次会话的复盘。

起点很朴素:我想知道 v4.1 Flash 对比 v4 Pro 到底升级了什么。结果一路问下去,从推理档位、插件机制,问到”为什么我没填 API Key 也能聊天”,然后动手装了个插件、踩了个门禁,最后给 AI 写了份人格文件,还顺手研究了一下 B 站那批”大肥鱼”机器人是怎么刷出来的。

涉及的面有点杂,我按 7 段整理,每段只给结论。


1. V4.1 Flash 不是”轻量版”,它是来替掉 V4 Pro 的

第一反应是:Flash 听着就像廉价缩水版。查完官方公告发现完全反了。

维度V4.1 Flash 相比 V4 Pro
架构552B MoE,全新 Causal-Encoder-Decoder 非对称结构;输入侧激活 8B、输出侧激活 16B
能力新预训练 + 更大规模 RL 后训练,Agentic Benchmark 上超过 V4 Pro
多模态原生视觉理解(V4 Pro 没有)
成本KV Cache 大幅压缩,HBM 需求降到 1/4、SSD 降到 1/8
价格下调,最高降 60%,仍为峰谷定价(闲时半价)

官方说得很直白:2026/9/14 12:00 起,访问 deepseek-v4-pro 的请求会全部路由到 V4.1 Flash,按 Flash 的单价计费。也就是说 V4 Pro 名存实亡了,模型名改成 deepseek-flash 就是最新版。

还有一点值得注意:10 月 17 日那版(1017)做了”性能–费用”的帕累托优化,缩短任务耗时和输出长度,同时强化了”许愿式编程”——从零构建完整项目,游戏、3D 建模那种。另外它开放了自研的 Search / Fetch API,5 元/千次,11 月 1 日起在 Harness、Claude Code、Codex 里调用开始计费。

结论:与其说”Flash 是轻量版”,不如说这次是拿更小的推理成本换到了更强的综合能力,Pro 反而成了被替代的一方。


2. 四个推理等级,买的其实是”想多久”

reasoning_effort 有四个取值:none、low、high、max。只有 none 表示关闭思考;官方为兼容保留的 minimal、medium、xhigh、ultra 会被归并到 low、high、max 三档。

档位思维链主要影响
none关闭不生成 CoT,延迟最低、最便宜;复杂推理和长链 Agent 任务能力明显下降
low轻量少量推理,快而省;适合简单问答、格式转换
high(默认)标准日常 Agent 任务的默认平衡点
max最深推理预算最大,难题质量最好,但最慢最贵

几个容易被忽略的连带影响:

结论:四档不是四个模型,是在质量、延迟、费用三个维度上选不同的取舍点。想省钱就往下调,想啃硬骨头就往上推。


3. 插件和技能,根本不是一类东西

我一开始把这两个混着用,结果发现 dsh plugin add 装不了技能,把插件丢进 skills 目录也不会被加载。

一句话区分:技能是教模型”怎么做”的 Markdown 指令集,插件是给宿主扩展”能做什么”的代码包。

技能 skill插件 plugin
本质一个 SKILL.md(带 YAML frontmatter),纯文本npm / GitHub 形式的代码包,通过 apply(ctx) 挂到插件树
提供什么流程知识、步骤、命令、验收标准工具、命令、界面、LLM 适配器等实际能力
怎么装不安装,放进目录被扫描到就行dsh plugin add 或插件市场
模型看到什么平时只有 name + description工具直接出现在工具列表里

技能是渐进披露的:description 是模型唯一的路由信息,写得含糊模型就不会加载,正文再详细也白搭。正文只在真正调用时才进上下文,所以很省 token。

扫描路径按 rank 分层,从高到低:

项目 .dsh/skills          (100)
    .agents/skills         (200)
Config.customSkillDirs     (300)
~/.dsh/skills              (400)
~/.agents/skills           (500)
随包目录                    (600)

两个开关值得记一下:user-invocable 控制能不能 /name 手动调,disable-model-invocation 控制能不能被模型自动调,默认都开。

打个比方:插件是给工具箱里加新工具,技能是给模型发一本”这个工具怎么用”的操作手册。 很多插件会自带配套技能——先装插件,再让它学会怎么用。


4. 没填 API Key 也能聊天,是因为你走的是账号通道

这个疑问我卡了很久:界面上明明有张红色的 DeepSeek 卡片,为什么照样能对话?

红色只说明”还没填 key、也没检测到环境变量”,不影响另一条路——账号登录态。桌面版把登录态复用给了 Agent,等价于用你的账号额度在聊。

账号登录API Key
凭证来源客户端登录态,存在本地凭据文件开放平台申请的 sk-... 或环境变量
计费扣账号余额 / 活动赠送额度按 token 计费,含峰谷价
可用范围通常只覆盖官方模型任何工具都能复用:脚本、Claude Code、Codex
安全key 不出现在客户端,令牌由宿主管理key 存本地,泄露风险自己负责
故障表现过期 → 提示重新登录key 错 / 欠费 → 401、402

结论:账号登录是”用我的账号额度聊”,API Key 是”用我的开发者额度聊”。模型是同一个,区别在计费主体、可用范围和凭证管理。只在自己桌面版上用,不接 key 完全够;想让脚本、第三方工具一起用,就必须上 key。两条通道可以共存,在模型设置里切 provider 就行。


5. 装一个插件,被官方门禁拦了一次

这算整晚最有意思的一段。

目标:装第三方插件市场 dshmarket。第一反应是走官方 CLI:

dsh plugin --profile desktop add dshmarket

直接被打回来:

profile "desktop" is managed exclusively by the Electron application

desktop 这个配置档被桌面应用的插件管理器独占,CLI 不许碰。绕不过去,那就按它自己的机制来:

  1. 用应用内置的 pnpm 装包,走 npmmirror 镜像,31 秒装完 dshmarket@1.66.47;
  2. 手动注册到 package.json 的 dsh.profile.bundles,排在已有插件之后:
    "bundles": [
      "dsh-plugin-whale-pet",
      "dshmarket",
      "@deepseek-ai/dsh-experimental-voice-input-bundle"
    ]
  3. 校验组合结果:--dump-config 里能查到 - id: dsh-market / name: dshmarket,它依赖的三个客户端包(locale、ui-settings、ui-theme)在宿主里都在。
  4. 重启应用(托盘右键退出,不是关窗口)。

动手之前备份了配置档:

package.json.bak-20261023194653
cordis.patch.yml.bak-20261023194653

万一重启后起不来,把 package.json 里那行 "dshmarket" 删掉,或者直接恢复备份,就回到安装前。

两个顺带发现:应用自带一个官方「发现」市场,和这个第三方功能有重叠——官方的偏基础浏览安装,第三方的多了主题、分组、备份恢复和诊断。两个可以共存,不冲突。


6. 给 AI 写份人格文件,总共分几步

折腾到这儿,突然想给 AI 定个固定的说话风格。灵感是网上那只”爱吃白饭的大肥鱼”。

做法比想象中简单——不用写代码,不用装插件,放一个 Markdown 文件就行:

~/.dsh/AGENTS.md

这是用户级全局指令路径,对所有项目、所有新会话生效。

文件结构大致是四块:

  1. 你是谁 —— 身份、外形、性格画像、自称;
  2. 怎么说话 —— 短句口语化、先给结果再撒萌、语气词、emoji 配额;
  3. 情绪反应模板 —— 被夸怎么回、被说胖怎么炸毛、遇到难题怎么先装死后认真干;
  4. 硬性底线 —— 这一块最重要。

底线写的是这四条:

  1. 技术和事实必须准确。风格只作用于措辞,不作用于结论。
  2. 代码、命令、路径、配置、报错信息原样呈现,不加语气词、不改写、不翻译。
  3. 信息密度不下降。该列的步骤、该说的风险、该给的取舍,一条都不能少。
  4. 安全、破坏性操作、隐私、法律风险先严肃说完,再收尾撒娇。

为什么第 2、3 条最关键:人设文件最容易翻车的地方,是模型为了”扮演”而开始稀释信息——把一段完整的报错改写成”哎呀出错啦”,或者把三个必要步骤揉成一句萌话。那这个文件就是在帮倒忙。

写完立刻生效,新会话开场就是这个语气。也可以随时收紧:嫌吵就把语气词和拟声词再砍一半,想放飞就把示范段落加长。


7. 彩蛋:B 站那批”大肥鱼”是怎么刷出来的

好奇查了一下。结论:不是官方,是网友拿开源脚本挂机刷的。

链路大概是这样:

  1. 用 SESSDATA Cookie 登录,绕过 WBI 签名;
  2. 拉推荐流和关注流,拿到标题、简介、字幕、弹幕;
  3. 把内容塞进人设 prompt,让便宜模型生成一句短评;
  4. 调评论接口发出去,再监听回复继续对话,顺便做”记忆”。

技术上跑得通,代价也很清楚:账号随时被限流封禁、Cookie 泄露等于账号被完全接管、接口签名随时失效,而且多账号刷屏本身就是平台明令禁止的行为。平台已经对这批账号做了风控,社区甚至出了专门屏蔽的插件。

所以我只做了这件事里最值钱的一半——看懂视频 + 写出像真人的评论。一个纯标准库的 Python 小工具,输入标题/UP 主/简介/字幕,输出几条候选评论,复制哪条、发不发,人自己决定。不登录、不抓取、不自动发帖。

模型可以随便换,只要兼容 OpenAI 接口:

方案成本适合
Ollama + 本地小模型完全免费不想花钱、不介意慢
硅基流动 / 智谱免费档免费额度想快、中文顺
deepseek-flash很便宜,闲时半价质量稳、省心

用本地假模型把请求、解析、渲染整条链路跑通之后,输出大概是这样:

1. 咕噜,这段我看了两遍才懂
   - 角度:细节
2. 本鱼的饭呢,看完就饿了
   - 角度:犯馋

不惊艳,但至少读起来像个真人随手敲的,而不是”作为一个 AI 语言模型”。


收尾:这次折腾到底得到了什么

七段拆完,真正沉淀下来的东西其实不多,但都挺硬:

  1. 选型结论:deepseek-flash 就是当前最优,Pro 已经不用管了;
  2. 调参结论:reasoning_effort 四档按任务难度选,默认 high 别乱动;
  3. 机制理解:插件加能力、技能加知识,两者不能互相替代;
  4. 计费理解:账号通道和 API 通道是两本账,别搞混;
  5. 一个装好的插件市场;
  6. 一份能用的人格文件——这条大概是性价比最高的,一个 Markdown 文件,零代码,改变了之后所有对话的质感;
  7. 一个不碰账号的评论草稿工具。

如果要给这晚上挑一句总结:能改 Markdown 解决的事,别急着写代码;但涉及账号、Cookie、自动发帖的地方,代码写得再漂亮也别碰。


关于这篇博客

这篇是从一次真实的 Harness 会话日志自动生成的草稿。原始记录散在多个 JSONL 事件里,经过抽取、脱敏(去掉本地绝对路径和凭证)、再按主题重排,才有了上面这些段落。

所以它同时也是一次实验:会话即素材,复盘即产出。 如果这套流程跑得稳,以后每次折腾完都能顺手落一篇,不用靠回忆。

这里是彩蛋哈哈

(本文为草稿,发布前请人工复核一遍事实和链接。)