violetdream/dsh-officecli ↗★ 0
dsh-officecli
DeepSeek Harness plugin: operate Office documents via officecli CLI, with live sidebar preview
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:violetdream/dsh-officecli说明文档
阅读完整 README ↗7. 使用方式
7.1 侧边栏
- 点击 DSH Web UI 侧栏底部的「📄 Office 预览」按钮(宽/窄两种形态自适应)
- 面板上半部分是当前会话的文档列表(含类型、大小、修改时间)
- 点击任一文件,下半部分 iframe 加载 OfficeCLI watch 页面
- Agent 编辑文档后,列表项会高亮闪烁,iframe 内容自动刷新(走 SSE,不重载页面)
7.2 对话调用
底层原语(docx / xlsx 为主):
创建一个 report.docx,写两段自我介绍。
在 report.docx 的第二段后插入一个表格,包含姓名、年龄、职业三列。
读取 report.docx 的全部内容。
列出当前会话中的所有 Office 文档。
高层 PPT 生成(推荐流程,先读指南再生成,最后截图自检):
请先用 office_design_guide 查看设计规范,然后用 office_deck_create 生成一份 7 页的
中文 PPT,主题为《2026 年 AI 办公趋势洞察》,文件名 ai趋势洞察.pptx,主题用 tech-cyan。
生成后用 office_screenshot 逐页截图自查,如发现文字溢出或对比度问题就用 office_batch
修正,最多 3 轮。
一个最小 DeckSpec:
{
"theme": "business-blue",
"footer": "内部资料",
"slides": [
{ "layout": "cover", "title": "年度技术规划", "subtitle": "2026 · 平台架构组", "eyebrow": "2026 年度规划" },
{ "layout": "kpi", "title": "核心指标", "metrics": [
{ "value": "3.2x", "label": "吞吐提升" },
{ "value": "92%", "label": "自动化率" }
]},
{ "layout": "bullets", "title": "三个重点", "items": [
{ "title": "统一网关", "desc": "收敛 17 个入口到单一网关层" },
{ "title": "可观测", "desc": "链路追踪覆盖核心链路" }
]},
{ "layout": "ending" }
]
}
8. 配置参考
在 $DSH_HOME/profiles/ /cordis.patch.yml 的插件行 config 中覆盖,改动后需重启 DSH:
- insert:
- id: dsh-officecli
name: dsh-officecli
config:
officecliPath: officecli # 命令名,或绝对路径
workspaceDir: "" # 兜底目录:会话无 cwd 时用;有会话 cwd 时自动写进 DSH 工作区
watchPort: 0 # 0 = OS 自动分配
commandTimeoutMs: 30000 # 单条命令超时
batchTimeoutMs: 60000 # batch 命令超时
| 字段 | 类型 | 默认 | 说明 |
|---|---|---|---|
officecliPath | string | officecli | 可执行文件。找不到时报错会提示本机常见安装位置 |
workspaceDir | string | "" | 兜底工作区根目录。目录优先级:DSH 会话 cwd(exec.agent.session.cwd,生成的文件直接落进用户工作区)→ 本字段(填了必须是绝对路径,否则相对路径会让 officecli 在自身 cwd 下二次解析,拼出 // 的重复层级)→ 系统临时目录 |
watchPort | number | 0 | watch 服务器端口,0 表示由 OS 分配(推荐) |
commandTimeoutMs | number | 30000 | 单条 officecli 命令超时(毫秒) |
batchTimeoutMs | number | 60000 | batch 命令超时;office_deck_create 内部另用 120s |