预设兼容:按真实抓包对齐装配与包装层,补上声明式工具与预设正则。
- 装配只认 prompt_order.enabled;squash_system_messages 只合并相邻 system(新增 system 档,连接符按酒馆用单换行)
- 包装层:new_chat_prompt、示例对话(new_example_chat_prompt + <START> 切段 + name)、角色卡三块与 personality_format/scenario_format、{{user}}/{{char}} 取值、任务契约并进预设条目
- 工具协议:按 ToolBindings / 伪工具协议数据声明真 tools(presetToolPolicy=preset),工具描述用到的条目不再重复作为消息发出
- 正则:promptOnly 作用于对话历史(含 depth 过滤)、写入时脚本改写回复;{{//}} 注释按配平扫描
- tools/st-request-diff:真假上游抓包对比工具、三份预设的机制结论与实测报告
This commit is contained in:
@@ -50,6 +50,31 @@
|
||||
|
||||
用户数据目录可用环境变量 `WRITING_AGENT_DATA_DIR` 覆盖;默认 `~/.writing-agent`(Windows 多为 `%USERPROFILE%\.writing-agent`)。
|
||||
|
||||
## 代理与网络
|
||||
|
||||
国内直连 `api.deepseek.com` 就够了,不需要任何代理。若要用 OpenRouter、Gemini 等境外接口,**不要依赖 Windows「系统代理」—— Node 的内置 `fetch` 既不读系统代理,也不读 `HTTPS_PROXY`**。
|
||||
|
||||
本仓库自带一层进程级代理引导(`src/config/network.ts`):启动后自动探测本地代理内核,探到就把本进程的 `fetch` 与 WebSocket 都交给它,探不到就静默退化为直连。
|
||||
|
||||
```text
|
||||
本仓库出网 ──→ 本地代理内核(默认 127.0.0.1:7890)──→ 内核「规则模式」自动分流
|
||||
├─ 国内域名 → 直连
|
||||
└─ 境外域名 → 代理节点
|
||||
```
|
||||
|
||||
**这意味着不需要手动切开关**:`api.deepseek.com` 始终直连不减速,`openrouter.ai` 自动走节点,以后新增任何接口也不用改代码。
|
||||
|
||||
因为它只作用于本进程 —— 不改系统代理、不装虚拟网卡、不动路由表 —— 所以可以和 UU 加速器、Radmin VPN、ZeroTier 同时开,不会互相抢路由。
|
||||
|
||||
| 环境变量 | 作用 |
|
||||
| --- | --- |
|
||||
| (不设置) | 自动探测,默认目标 `http://127.0.0.1:7890` |
|
||||
| `WRITING_AGENT_PROXY=http://host:port` | 指定代理 |
|
||||
| `WRITING_AGENT_PROXY=off` | 完全直连 |
|
||||
| `HTTPS_PROXY` / `ALL_PROXY` | 未设上面变量时的回退来源 |
|
||||
|
||||
> 代理内核需保持运行。启动时若探不到,本次运行全程直连(stderr 会提示一行)。
|
||||
|
||||
## 维护者
|
||||
|
||||
开发与排障常用命令:
|
||||
|
||||
Reference in New Issue
Block a user