我把 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 | 最深 | 推理预算最大,难题质量最好,但最慢最贵 |
几个容易被忽略的连带影响:
- 思维链按输出 token 计费,可以在
completion_tokens_details.reasoning_tokens里查。档位越高,账单越厚。 max_tokens默认值跟着档位变:非思考 8K,思考 64K,max档 128K。同一份代码在不同档位下”能想多久”的上限不一样。- 思考模式下
temperature、presence_penalty、frequency_penalty全部失效;top_p只在思考模式生效(0.95–1.0),非思考模式恒为 1.0。 - 带
tools的请求必须回传历史reasoning_content,否则直接 400。档位越高,要回传的 CoT 越长,对上下文和缓存的压力越大。
结论:四档不是四个模型,是在质量、延迟、费用三个维度上选不同的取舍点。想省钱就往下调,想啃硬骨头就往上推。
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 不许碰。绕不过去,那就按它自己的机制来:
- 用应用内置的 pnpm 装包,走 npmmirror 镜像,31 秒装完
dshmarket@1.66.47; - 手动注册到
package.json的dsh.profile.bundles,排在已有插件之后:"bundles": [ "dsh-plugin-whale-pet", "dshmarket", "@deepseek-ai/dsh-experimental-voice-input-bundle" ] - 校验组合结果:
--dump-config里能查到- id: dsh-market / name: dshmarket,它依赖的三个客户端包(locale、ui-settings、ui-theme)在宿主里都在。 - 重启应用(托盘右键退出,不是关窗口)。
动手之前备份了配置档:
package.json.bak-20261023194653
cordis.patch.yml.bak-20261023194653
万一重启后起不来,把 package.json 里那行 "dshmarket" 删掉,或者直接恢复备份,就回到安装前。
两个顺带发现:应用自带一个官方「发现」市场,和这个第三方功能有重叠——官方的偏基础浏览安装,第三方的多了主题、分组、备份恢复和诊断。两个可以共存,不冲突。
6. 给 AI 写份人格文件,总共分几步
折腾到这儿,突然想给 AI 定个固定的说话风格。灵感是网上那只”爱吃白饭的大肥鱼”。
做法比想象中简单——不用写代码,不用装插件,放一个 Markdown 文件就行:
~/.dsh/AGENTS.md
这是用户级全局指令路径,对所有项目、所有新会话生效。
文件结构大致是四块:
- 你是谁 —— 身份、外形、性格画像、自称;
- 怎么说话 —— 短句口语化、先给结果再撒萌、语气词、emoji 配额;
- 情绪反应模板 —— 被夸怎么回、被说胖怎么炸毛、遇到难题怎么先装死后认真干;
- 硬性底线 —— 这一块最重要。
底线写的是这四条:
- 技术和事实必须准确。风格只作用于措辞,不作用于结论。
- 代码、命令、路径、配置、报错信息原样呈现,不加语气词、不改写、不翻译。
- 信息密度不下降。该列的步骤、该说的风险、该给的取舍,一条都不能少。
- 安全、破坏性操作、隐私、法律风险先严肃说完,再收尾撒娇。
为什么第 2、3 条最关键:人设文件最容易翻车的地方,是模型为了”扮演”而开始稀释信息——把一段完整的报错改写成”哎呀出错啦”,或者把三个必要步骤揉成一句萌话。那这个文件就是在帮倒忙。
写完立刻生效,新会话开场就是这个语气。也可以随时收紧:嫌吵就把语气词和拟声词再砍一半,想放飞就把示范段落加长。
7. 彩蛋:B 站那批”大肥鱼”是怎么刷出来的
好奇查了一下。结论:不是官方,是网友拿开源脚本挂机刷的。
链路大概是这样:
- 用
SESSDATACookie 登录,绕过 WBI 签名; - 拉推荐流和关注流,拿到标题、简介、字幕、弹幕;
- 把内容塞进人设 prompt,让便宜模型生成一句短评;
- 调评论接口发出去,再监听回复继续对话,顺便做”记忆”。
技术上跑得通,代价也很清楚:账号随时被限流封禁、Cookie 泄露等于账号被完全接管、接口签名随时失效,而且多账号刷屏本身就是平台明令禁止的行为。平台已经对这批账号做了风控,社区甚至出了专门屏蔽的插件。
所以我只做了这件事里最值钱的一半——看懂视频 + 写出像真人的评论。一个纯标准库的 Python 小工具,输入标题/UP 主/简介/字幕,输出几条候选评论,复制哪条、发不发,人自己决定。不登录、不抓取、不自动发帖。
模型可以随便换,只要兼容 OpenAI 接口:
| 方案 | 成本 | 适合 |
|---|---|---|
| Ollama + 本地小模型 | 完全免费 | 不想花钱、不介意慢 |
| 硅基流动 / 智谱免费档 | 免费额度 | 想快、中文顺 |
deepseek-flash | 很便宜,闲时半价 | 质量稳、省心 |
用本地假模型把请求、解析、渲染整条链路跑通之后,输出大概是这样:
1. 咕噜,这段我看了两遍才懂
- 角度:细节
2. 本鱼的饭呢,看完就饿了
- 角度:犯馋
不惊艳,但至少读起来像个真人随手敲的,而不是”作为一个 AI 语言模型”。
收尾:这次折腾到底得到了什么
七段拆完,真正沉淀下来的东西其实不多,但都挺硬:
- 选型结论:
deepseek-flash就是当前最优,Pro 已经不用管了; - 调参结论:
reasoning_effort四档按任务难度选,默认high别乱动; - 机制理解:插件加能力、技能加知识,两者不能互相替代;
- 计费理解:账号通道和 API 通道是两本账,别搞混;
- 一个装好的插件市场;
- 一份能用的人格文件——这条大概是性价比最高的,一个 Markdown 文件,零代码,改变了之后所有对话的质感;
- 一个不碰账号的评论草稿工具。
如果要给这晚上挑一句总结:能改 Markdown 解决的事,别急着写代码;但涉及账号、Cookie、自动发帖的地方,代码写得再漂亮也别碰。
关于这篇博客
这篇是从一次真实的 Harness 会话日志自动生成的草稿。原始记录散在多个 JSONL 事件里,经过抽取、脱敏(去掉本地绝对路径和凭证)、再按主题重排,才有了上面这些段落。
所以它同时也是一次实验:会话即素材,复盘即产出。 如果这套流程跑得稳,以后每次折腾完都能顺手落一篇,不用靠回忆。
(本文为草稿,发布前请人工复核一遍事实和链接。)