用 dsh 处理了部门积压的一批文档后,我总结出 3 条经验
严格说这不是一篇教程是我自己用 dsh 几周后的一份小结。背景我们部门有一批积压的文档要处理——几百个文件格式不统一有的是 Word有的是 Excel还有一批是老格式的表。原本是排了两天的人力去做纯手工枯燥且容易出错。我趁着这个机会把 dsh 接进来试了试。下面是完整的经过、结论和我踩过的坑。如果你也在考虑要不要花时间上手这篇应该能帮你判断。一、先说结论值得用但只值得用在重复且可验证的活上。处理那批文档原本估计两天的活实际一个下午收尾含我调试的时间但它不适合一次性的、判断性的、需要人来拍板的活上手成本大概半天读懂它的配置体系和沙箱机制最容易踩的坑不是它犯错是它看起来很自信地犯错二、这个工具到底是什么一句话它是一个能直接在你电脑上动文件、跑命令的命令行程序。不是网页版聊天框不是 IDE 插件是独立跑的进程。它和聊天工具最本质的区别聊天工具dsh你得到什么一段文字文件状态的实际变化你要做什么复制、粘贴、手动执行看它改了什么、决定批不批出错成本低高因为它真的动文件最后那一行是重点后面会展开。三、它在实际工作里能干什么我这两周用到的按实用度排序1. 批量处理文件最实用几百个文件读一遍、提取内容、重新生成、转换格式。这类活人做效率最低、出错率最高它做刚好。2. 生成和修改 Office 文档这是我没想到的。它能直接生成.docx、.xlsx包括表格、样式、格式。我那份部门手册就是它直接从数据生成的 Word 文件我打开看了一下排版是正常的。3. 数据提取和核对把散落在多个表里的数据汇总成一张表或者做交叉核对——两个表对不对得上。4. 跑脚本、跑测试它能自己执行命令。而且会自己写测试脚本验证自己的结果——这一点后面单独说是它最值钱的地方。5. 长任务后台跑处理大文件的时候不用盯着丢后台跑完通知你。6. 定时任务配合它的调度能力可以让某些活定期跑。我还没深用但这是它的方向。四、转变我看法的一件事它会自己验证这是我最想讲的。处理那批文档的时候它做完之后没有直接跟我说完成了而是自己写了一个校验脚本——把处理逻辑抽出来造了一批测试输入拿手算的预期结果去比对。然后它发现了一个错误。是我自己没看出来的那种错。它没有把错误藏起来或者含糊过去而是明确说这里算错了原因是某个规则被重复应用了一次然后修掉、重跑最后给出一份跑了多少个用例、全过的报告。这件事改变了我对这类工具的判断标准。以前我判断一个工具好不好看它写得多快。现在我更看它愿不愿意验证自己。因为办公场景里最怕的不是慢是错了但你没发现。一份几百行的表格人眼很难逐行核对等到下游用它做决策的时候才发现问题代价就大了。能自己写测试的工具和只能给你结果的工具完全是两个东西。五、我总结的 3 条经验经验 1描述任务时说事实和标准别说感觉这是我最大的体会。对比一下我前后两次的描述第一次效果很差帮我整理一下这批文档做一个汇总结果它给了一份看起来挺整齐的汇总但字段不是我想要的很多内容被它自己概括掉了。第二次效果好input/目录下有 200 多个文件格式不统一Word、Excel、老格式表。 把每个文件的「文件名、日期、金额、对方单位」提取出来汇总成一张 Excel一行一个文件。 提取不到的字段留空不要自己推测。 做完写个脚本核对一下总条数跟文件数对不对得上。差别在哪我给了具体的输入位置我给了明确的输出格式Excel一行一个文件我给了边界条件提不到就留空不要推测我给了验证标准条数要对得上不要自己推测这句特别重要。办公数据里AI 猜一个值填进去比留空危险得多——因为留空你一眼能看到猜错了你根本不知道。经验 2给它可验证的完成标准做好看点整理得清楚一点这种没法验证。改成能验证的单文件、双击能打开、不依赖网络总条数等于源文件数金额列的合计等于另一张表的合计凡是你能写成一个判断句的标准它就能自己检查。这也解释了为什么它在处理数据类的活上表现特别好——数据类的活天生可验证。经验 3重要目录先确认它的操作边界这条是安全经验也是我踩过的坑。我一开始是在桌面目录启动的结果它在桌面上建了一堆中间文件我清理了半天。后来改成固定在一个项目目录里启动先cd过去再运行。它默认的工作区根目录就是你敲命令时所在的那个目录。所以别在桌面、文档根目录这种地方启动处理重要数据前先复制一份副本如果它支持沙箱或权限限制开起来——宁可麻烦一点记住一句话它是真的会改文件的。这不是可能是会。六、内部使用的边界这条请务必看这个工具能力越强越要想清楚什么能喂给它。我的三条自我约束客户信息、合同原文、个人信息这类内容先脱敏再处理。结构化的字段提取日期、金额、编号通常不需要原始姓名和联系方式。别拿它当数据出口。处理完的中间文件及时清理别留在公共盘或者同步目录里。涉及公司代码、内部系统的先确认安全部门的口径。我这次处理的都是办公文档没碰代码库。另外它的模型调用是要走网络的。如果你的数据不允许出内网这条就是硬门槛不用往下讨论了。七、五个坑按扎心程度排序坑 1它会自信地给一个错的答案这是最需要注意的。它犯错的时候语气和说对的时候一模一样。所以我现在的原则凡是结果要交给别人的一定让它给出可核对的依据——条数、合计、抽样几行。没有依据的结果我不敢发出去。坑 2任务太笼统它会自己脑补前面说过了。它不会说你说得不清楚我不做而是按自己的理解做一版。做完了你还得返工。所以宁可描述写得长一点也别让它猜。坑 3配置改了不生效它的配置是分层叠加的有 Profile 层、用户层、命令行临时层。我改完配置文件等了三分钟没反应后来才发现没开热重载的话需要重启进程。现在我改完配置的第一件事就是重启。坑 4权限/写入报错我在受限环境下运行的时候遇到过写文件被拒的报错指向它自己的配置目录。原因是它启动时要往配置目录写东西如果当前进程没权限就会失败。排查顺序配置目录存在吗、可写吗当前账号有权限吗是不是被安全软件/沙箱拦了小技巧如果只是想看它的参数说明别用会真的启动的方式——它是可能要写盘的。用只读的配置查看命令更安全。坑 5以为跑得快 用得对这个坑是心理上的。第一次看到它几分钟就处理完两百个文件我特别兴奋直接就把结果用了。后来抽查发现有几个字段提取偏了。快是真的但你省下来的时间应该花在抽查上。我现在固定抽查 5%比全程盯着划算。八、我的投入产出账项目实际情况上手时间约半天读配置体系 试跑单次收益两天的活压到一个下午还需要人做的事写清需求描述15 分钟 抽查结果20 分钟判断标准这类活一年会重复几次我的结论如果一个活是重复 可验证的而且一年会做三次以上就值得交给它。一次性、需要拍板的活自己做完更快。九、一句话总结它不是一个更快的搜索框是一个能干活但需要你把要求说清楚的同事。你说得越具体它干得越好你能验证的它就能自己验证它的输出永远要抽查尤其是要交给别人的时候我们部门那批文档处理完之后我把这个流程整理成了一份操作说明方便其他人照着做——需求描述怎么写、处理前要准备什么、结果怎么抽查、哪些内容不能放进去。因为里面有我们部门的具体文件类型和字段不好直接发出来。需要的评论区留言或私信「心得」我看到就发。如果你也在内部推类似工具欢迎在评论区聊聊——尤其是你们怎么解决数据能不能给它这个问题这块我还在摸索。

相关新闻

如何让代码与流程无可挑剔:轻量级自动化检查实践

如何让代码与流程无可挑剔:轻量级自动化检查实践

1. 一个词引发的思考:为什么“impeccable”值得单独拿出来聊第一次看到“impeccable”这个词被当成一个项目标题,我的反应是愣了一下。这词在英文里是“无可挑剔的、完美的”意思,日常对话里其实不算高频,但一旦被拎出来做项目名&…

2026/10/10 14:39:50 阅读更多 →
Claude Code 高效工作流:指令组合、快捷键与上下文驱动的开发范式

Claude Code 高效工作流:指令组合、快捷键与上下文驱动的开发范式

1. 这不是“快捷键列表”,而是一套可嵌入日常编码节奏的肌肉记忆系统你有没有过这种体验:刚在终端里敲完claude --help,眼睛扫过二十多行参数说明,手指却停在键盘上——不是记不住,而是根本分不清哪些该进脑子、哪些该…

2026/10/10 16:02:57 阅读更多 →
Suricata 安全加固实战:非 root 运行、权限收敛与容器部署安全配置

Suricata 安全加固实战:非 root 运行、权限收敛与容器部署安全配置

网络安全 【免费下载链接】suricata Suricata is a network Intrusion Detection System, Intrusion Prevention System and Network Security Monitoring engine developed by the OISF and the Suricata community. 项目地址: https://gitcode.com/gh_mirrors/su/…

2026/10/10 13:49:39 阅读更多 →

最新新闻

对象生命周期与资源管线:游戏引擎架构深度解析

对象生命周期与资源管线:游戏引擎架构深度解析

游戏引擎架构深度解析(四):游戏对象与资源管理做引擎底层做了这些年,我越来越觉得,游戏引擎表面上拼的是渲染效果、物理表现这些"看得见"的东西,但真正决定一个引擎好不好用、项目团队能不能顺畅…

2026/10/10 21:04:49 阅读更多 →
谈canvas转图片的方法(base64编码):用TaoToken统一Key跑通前端导出链路

谈canvas转图片的方法(base64编码):用TaoToken统一Key跑通前端导出链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 21:04:49 阅读更多 →
36Kr 连发“去AI味“报道:AI 味焦虑正在从程序员烧向整个内容圈

36Kr 连发“去AI味“报道:AI 味焦虑正在从程序员烧向整个内容圈

36Kr 连发"去AI味"报道:AI 味焦虑正在从程序员烧向整个内容圈 【免费下载链接】humanizer Agent skill that removes signs of AI-generated writing from text 项目地址: https://gitcode.com/GitHub_Trending/humani/humanizer 一个原本只在程序…

2026/10/10 21:04:49 阅读更多 →
Android Contacts 联系人读取实战:从权限申请到 Cursor Base URL 改到 TaoToken 的完整链路

Android Contacts 联系人读取实战:从权限申请到 Cursor Base URL 改到 TaoToken 的完整链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 21:04:49 阅读更多 →
无师自通的项目式学习法:用TaoToken统一Key跑通AI辅助C++编程项目

无师自通的项目式学习法:用TaoToken统一Key跑通AI辅助C++编程项目

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 21:04:49 阅读更多 →
VFS核心对象inode深度剖析:元数据、生命周期与inode耗尽排查

VFS核心对象inode深度剖析:元数据、生命周期与inode耗尽排查

在Linux内核里,如果只允许挑一个结构体来代表“文件系统”,那一定非inode莫属。它既不像dentry那样只负责路径和名字映射,也不像file那样随每次open而来、close而去;inode是整个VFS层的中枢对象,一头连着磁盘上的元数据…

2026/10/10 21:03:48 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →