bun build --compile)npm install 完成# Windows
powershell -c "irm bun.sh/install.ps1 | iex"
# 验证安装
bun --version
打包脚本会自动探测以下位置:
PATH 中的 bun%BUN_INSTALL%\bin\bun.exe%USERPROFILE%\.bun\bin\bun.exeD:\bun\bin\bun.exeC:\bun\bin\bun.execd E:\workspace\QIWEI-skill
node scripts/build-training-package.mjs
# 产物输出到:dist/qiwei-training/
打包产物结构:
dist/qiwei-training/
├── qiwei-workbench.exe # 主程序(约 80-120 MB)
├── web/ # 前端资源
│ ├── index.html
│ ├── app.js
│ ├── styles.css
│ └── echarts.min.js
├── knowledge/ # 知识库(可现场编辑)
│ ├── rules.md
│ ├── playbooks.md
│ ├── faq.md
│ └── ...
├── .env.local # 凭据模板(空白)
├── .mcp.json # MCP 配置,已注册 qiwei-assistant
├── qiwei.runtime.config.mjs # 监听配置
└── README.md # 用户手册
# 方式 1:打包整个目录为 ZIP
cd dist
zip -r qiwei-training-v1.0.zip qiwei-training/
# 方式 2:单独上传 qiwei-workbench.exe
# 用户需要配合下载其他资源文件
推荐分发方式:
重要:qiwei-workbench.exe 是 Bun 单文件可执行文件,已内置 Bun runtime,用户不需要单独安装 Bun。
打包时通过 bun build --compile 将 Node.js 代码、Bun runtime 和必要依赖全部打包进 exe。
D:\qiwei-training\)# 双击或命令行启动
D:\qiwei-training\qiwei-workbench.exe
# 可选:指定端口
qiwei-workbench.exe --port 4321
启动后自动完成:
自动检测来源:
~/.fmode/config.json (本机飞马客户端的配置).env.local 中的 QIWEI_AUTH_TOKEN手动填写(如未检测到):
sk- 开头的 Fmode token.env.localToken 来源:
前提:已配置有效 Token
流程:
http://127.0.0.1:4310(付费流程页)QIWEI_UID 并写入 .env.local注意:
前提:已开通席位
流程:
卡点说明:
前提:账号已在线
流程:
白名单机制:
# 访问工作台
http://127.0.0.1:4320/
# 检查状态接口
curl http://127.0.0.1:4320/api/status | jq
# 期望返回:
{
"summary": {
"authConfigured": true,
"online": true,
"subscribed": true
}
}
# 方式 1:命令行查询
qiwei-workbench.exe runtime status
# 方式 2:查看状态文件
type outputs\runtime\qiwei-runtime.json
# 期望输出:
{
"status": "running",
"pid": 12345,
"mode": "personal",
"transport": "local_polling"
}
前提:
测试步骤:
无 Claude Code 的情况:
# 修改知识库
notepad knowledge\rules.md
# 重启工作台(自动重新加载)
# 或等待约 60 秒自动热重载
# 查看加载状态
curl http://127.0.0.1:4320/api/agent/config | jq .knowledge
交付包自带 .mcp.json,其中已注册 qiwei-assistant,不需要客户手动创建。解压后可执行:
node scripts/verify-training-package-mcp.js D:\qiwei-training
期望结果为 status: ok,并显示已发现企微 MCP 工具。该检查只执行 MCP 初始化和工具列表发现,不发送群消息、不启动自动回复。
现象:工作台显示「Token 未配置」
原因:
~/.fmode/config.json 不存在或格式错误.env.local 未填写或 token 无效解决:
或预先填写 .env.local:
QIWEI_AUTH_TOKEN=sk-xxxxx
现象:扫码后提示「席位已满」
原因:
解决:
现象:
stopped原因:
解决:
# 检查 Runtime 状态
qiwei-workbench.exe runtime status
# 重启 Runtime
qiwei-workbench.exe runtime stop
qiwei-workbench.exe runtime start
# 或重启整个工作台
现象:消息进入工作台,但无草稿生成
原因:
解决:
claude --version 可执行现象:启动时提示「端口已被占用」
原因:
解决:
# 查看端口占用
netstat -ano | findstr 4320
# 杀掉占用进程
taskkill /PID <进程ID> /F
# 或指定其他端口启动
qiwei-workbench.exe --port 4321
现象:
解决:
| 文件/目录 | 用途 | 是否保留 |
|---|---|---|
.env.local |
Fmode token、UID、GUID | 保留 |
outputs/ |
会话数据、消息记录、SQLite 数据库 | 保留 |
qiwei.runtime.config.mjs |
监听轮询配置 | 保留 |
knowledge/ |
知识库(可现场编辑) | 按需保留 |
打包脚本已内置 REBUILD_PRESERVED 机制:
# 删除敏感数据
del .env.local
rmdir /s outputs
# 保留干净的可执行文件和知识库
# 供下次培训使用
qiwei.runtime.config.mjs 调整)本培训包不包含以下功能:
Runtime 进程意外退出时:
# 备份现有数据库
copy outputs\workbench.db outputs\workbench.db.bak
# 删除损坏的数据库(会话数据丢失)
del outputs\workbench.db
# 重启工作台,自动创建新数据库
# 停止所有进程
qiwei-workbench.exe runtime stop
taskkill /IM qiwei-workbench.exe /F
# 清空所有数据
rmdir /s outputs
# 重新启动,回到初始状态
qiwei-workbench.exe
.mcp.json 存在且注册 qiwei-assistant培训包交付应包含:
qiwei-workbench.exeweb/, knowledge/.env.local, .mcp.json, qiwei.runtime.config.mjsREADME.mdtraining-package-deployment-guide.md(可选,供技术支持)最后更新:2026-08-20
打包版本:v1.0
目标平台:Windows x64
运行时:Bun 1.x (内置)