40eed39110
docs(ops): anonymize sample NE in ops expert intro
...
Replace realistic host/IP fixture with a placeholder in the WhatsApp alarm example.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 10:29:31 +08:00
4c85dedf33
docs(ops): add oclaw and netx ops expert introduction guide
...
Introduce the ops specialist, netx integration, automation flows, and WhatsApp channel usage with Mermaid diagrams.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 17:18:08 +08:00
8781a200c9
docs(netx): document ume_ne_id exec and listCliTargets MCP tool
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 17:13:50 +08:00
bc1b45a8fd
fix(chat,channels): admin session delete, weixin inbound, PG and docs
...
- List/delete chat sessions for administrator by username (cross-tenant UUID)
- Return 404 when delete does not remove a session; add tests
- Weixin: dispatch lang, inbound attachments, reply persist, native reply timeout
- PG compat scrub and administrator session delete repo path
- RUNBOOK: WhatsApp re-bind with Remove-Item auth; weixin poll diag scripts
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-03 01:36:45 +08:00
a0a3f4b65f
feat(mcp): integrate netx via netx_mcp and improve MCP install
...
- Gate builtin netx tools; ops docs/skills use mcp__netx__*
- Import Cursor mcpServers JSON; pass env_schema defaults to subprocess
- Allow source_type=local; UTF-8 MCP stdio on Windows
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 15:44:34 +08:00
8233db93db
Increase default tool rounds to 100 with 300 cap.
...
Raise Admin/UI defaults and backend clamps for AIA_TURN_MAX_TOOL_ROUNDS across gateway, worker, and direct loop paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-28 11:34:20 +08:00
89b295293d
Raise default tool rounds to 30 and cap at 100 per turn.
...
Update gateway, worker, direct_loop, and Admin tool policy UI/docs for AIA_TURN_MAX_TOOL_ROUNDS.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 17:34:39 +08:00
97d5c1744a
Add DeepSeek DSML-to-tool_calls conversion at transport and runtime layers.
...
Promote DSML markup from assistant text into native tool calls during streaming and completion, filter DSML from UI tokens, and document AIA_DSML_TEXT_TOOLS for local vLLM proxies.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 15:39:11 +08:00
0dc0c4663f
docs(pg): slim migration guide to shell one-liners
...
Migrator: only refuse import when SQLite and PG both have rows for a table (PG seed rows ok when SQLite empty). Add unit test for conflict helper.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 15:15:08 +08:00
1caf96e694
fix: harden assistant SQLite/PostgreSQL dual-backend (singleton, timeouts, warnings)
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 10:24:23 +08:00
1490bd5f24
feat: unify runtime logging (rotating files, log root, scripts, desktop)
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 10:11:51 +08:00
86d4bad107
docs: add assistant PostgreSQL migration guide and link from README
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 09:42:08 +08:00
d14e9d3596
feat(persistence): PostgreSQL assistant store, chat persist fixes, gateway scripts
...
- Add SQLAlchemy Core repos, pg adapter/compat, assistant_store factory, Alembic bootstrap and migration/cutover scripts.
- Harden chat_message writes (NUL scrub for PG), turn_uuid on attempt failure, WS turn_runner fallbacks and gateway executed_turn_uuid init.
- start_gateway: log paths, PS7 stderr handling via cmd, background stdout/stderr redirect; runtime assistant_runtime_log_dir export.
- Ops: clear_all_chat_sessions with PG-only --postgresql and env-gated wipe; clear_postgres_chat_sessions.ps1.
- Tests: SA repos, pg compat, persist fallback, smoke env isolation; CI and docs touch-ups.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 09:33:50 +08:00
48190afbc1
docs: document AIA_TOOL_FUNCTION_STRICT and add env example
...
Add ENVIRONMENT_VARIABLES entry, changelog note, and _local/system.env.example placeholder for OpenAI-style tools function.strict toggling.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 15:09:17 +08:00
420abac9f1
refactor: root-package imports (svc/runtime/interfaces) and fix PYTHONPATH
...
- Rename platform/ to svc/ to avoid shadowing stdlib platform.
- Replace from oclaw.* with from svc/runtime/interfaces; update -m CLI paths.
- tests/conftest: prepend repo root to sys.path (no parent-folder package name).
- CI: paths and offline_eval script under repo root.
- Ops scripts: PYTHONPATH must be repo root for python -m runtime.* (fixes gateway/WhatsApp sidecar startup).
- Fix default oclaw.json path in tabular/file attachment limits; stabilize attachment test config.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 14:51:17 +08:00
274a9b8ddd
feat(mcp): pass all mcp_local.env keys to subprocess; allowlist supplements host-only
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 18:51:07 +08:00
48d5e468e6
feat(mcp): allowlist EXTRA merges with default; add Trilium keys to default
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 17:39:14 +08:00
df30b5902f
feat: 路径约定体系 & 自优化管道落地
2026-05-10 23:28:41 +08:00
4335040a27
feat(video): DashScope video specialist with correct i2v request bodies
...
- Add video_generation_client: async video-synthesis, t2v vs i2v (Wan 2.7 input.media first_frame vs legacy img_url).
- Coerce *-t2v* to *-i2v* when first frame present; AIA_VIDEO_I2V_INPUT_STYLE / I2V_MODEL overrides.
- Gateway/direct_loop early return for video specialist; workspace video + factory allowlist.
- Normalize WS and admin chat attachments (image_ref parity); mp4 attachment store roundtrip tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 16:20:43 +08:00
beb52006d8
refactor: move bundled skills tree to repo root skills/
...
- Relocate runtime/skills -> skills/; runtime_skills_root() prefers oclaw/skills
with fallback to legacy runtime/skills for unmigrated trees.
- session-bootstrap hook handler resolves repo root via PROJECT_ROOT.
- Update architecture/migration docs and in-tree skill references.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 11:35:57 +08:00
396dba76ea
feat(chat): image specialist session image fallback and WS UX
...
- Resolve legacy multimodal inputs from session history when the user sends
text-only (assistant images first, then user uploads); optional env toggles.
- Support relay_pointer image resolution in legacy lane collector.
- Align uvicorn WebSocket frame limit with MAX_PAYLOAD_BYTES; document
OCLAW_UVICORN_WS_MAX_SIZE and compatible-mode env knobs.
- Admin chat: encode attachments after bubble preview; FileReader-based
base64 for large files.
- Tests and docs for new behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 11:25:21 +08:00
faeb067856
feat(chat): image specialist legacy lane, Responses fixes, ACL + UI attachments
...
- Image expert: DashScope-style /chat/completions via image_legacy_client; early exit in
direct_loop when skill_binding_role is image; shared placeholder helper; docs/IMAGE_SPECIALIST_LANE.md.
- Strict attachment ACL: link_attachment_acl on assistant chat_message rows (sqlite_store);
chat attachment rate limit when user_id empty; admin chat tests updated.
- Admin chat UI: aggregate bubbles render assistant_text attachments (image_ref); WS expand path.
- turn_runner: persisted_chat_attachments_nonempty for final_msg selection.
- OpenAI Responses transport + agent_messages/agent_core_attempt adjustments; env docs and tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 07:06:05 +08:00
d1bcc4debe
feat: multimodal image clients, workspaces, Tushare skill, test fixes
...
- Replace monolithic image_message_client with HTTP/OCR/legacy modules; tighten OpenAI transport + tool schemas for multimodal downgrade to OCR specialist path.
- Add image/stock workspace prompts (META/SOUL/ROLE_SYSTEM); register experts; tweak specialist agent/direct loop/query_image_attachment.
- Add bundled runtime/skills/tushare-finance (references, api_client, SKILL metadata).
- Document OCR-related env vars; admin chat tweaks; README; weixin_install Ensure-OfficialPluginRuntimeDeps helper.
- Tests: multimodal downgrade + OCR coverage, strict tool pairing in attachment replay guard, workspace contract skips _internal/_system dirs, router/trace/prompt guards.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 04:41:42 +08:00
acf1266e90
feat(品牌): 支持 _local 外部优先 Logo 与图标覆盖
...
新增 /admin/brand-assets 静态挂载,并在前端与桌面端统一采用外部优先、内置兜底的品牌资源解析;同时补充 BRANDING 文档与 README 入口说明。
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-07 10:17:38 +08:00
4444a8040e
docs: add out-of-the-box quickstart and cross-links
...
Add Chinese quickstart in README, env file step in OPEN_SOURCE_QUICKSTART, and RUNBOOK pointer to the one-page checklist.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-04 11:42:54 +08:00
b0e0c05d8a
feat: integrate netx ops data access and unify prompt/workspace runtime
...
Migrate prompt templates into runtime workspaces, add network_ops netx toolchain (latest batch injection, raw fields, SQL query), and align docs/tests/admin/runtime wiring so ops analysis can query netx detail data through stable role-scoped paths.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 23:54:38 +08:00
37522f492a
feat: plan agent v2, global chat mode, and user-mode v2 flag sync
...
- Add runtime/plan_agent_v2 package and shims; gateway/direct_loop/WS wiring
- Admin chat: interaction mode and specialist only in user menu; session API stores memory_mode and execution_mode only
- POST /admin/api/chat/user-mode mirrors plan_agent_version to AIA_EXPERT_PLAN_AGENT_V2_ENABLED (v2 to 1, v1 to 0)
- Composer cleanup (hidden mode select, no reasoning toggle in meta bar); tests and _local/system.env.example
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-02 18:41:45 +08:00
ae44cbcad5
完善 MCP/会话上下文治理并补齐搜索与诊断能力。
...
补充历史压缩与会话诊断链路,强化 tool pairing 与空响应兜底观测;完善 Admin MCP 导入/绑定与相关前端展示;新增 web_search_fast/web_fetch_clean 及多项测试与文档更新,并同步技能安装与角色绑定策略改进。
Made-with: Cursor
2026-05-01 17:46:50 +08:00
df91434936
适配 Bailian WebParser 兼容接入并完善 sidecar 文档。
...
新增 WebParser 兼容工具与 MCP health/tools-sync 兼容模式,让 WebParser/sse 可注册到 agent 并暴露明确 schema;同时修复 mcp argv 环境变量展开并补齐微信 sidecar 纯本地化安装与文档说明。
Made-with: Cursor
2026-05-01 17:40:52 +08:00
e06184cc2f
对齐 run_command 与 write_file 的默认路径行为。
...
将 run_command 在未传 cwd 时改为默认 data/workspace,并将 write_file 调整为相对路径写入 data/workspace、绝对路径直写(经路径守卫校验),同步更新测试与文档。
Made-with: Cursor
2026-05-01 01:10:03 +08:00
d0a66d190d
统一公共工具并移除 workspace 专家链路。
...
将文件/命令/Git/检索能力统一迁入 public,去除重复工具与 local_ 命名前缀,并重命名底层路径守卫模块为 path_guard 以提升语义清晰度。
Made-with: Cursor
2026-05-01 00:38:31 +08:00
75aec2abe4
补齐本地 public 工具的 P1/P2/P3 能力。
...
新增目录列举、文件/目录操作、内容搜索、cwd/env 管理与进程管理工具,并在本地适配层统一实现与测试覆盖,保持风险门控策略一致。
Made-with: Cursor
2026-04-30 23:37:39 +08:00
d8e2f4cacc
新增本地 public 工具与适配器
...
Made-with: Cursor
2026-04-30 23:18:58 +08:00
853dc1812f
收敛微信 sidecar 到官方单链路并同步文档与回归测试。
...
移除 weixin 安装与启动脚本中的 legacy/localSource 分支,只保留 official_runner 路径,统一开源安装命令并更新 RUNBOOK/Quickstart/README,确保脚本行为与测试预期一致。
Made-with: Cursor
2026-04-29 01:10:25 +08:00
048e8ec1c1
新增开源极简安装文档,并在 README 增加入口。
...
为首次使用者提供最短启动路径(仅 Web/Admin、微信、WhatsApp),降低开源部署门槛并减少安装误解。
Made-with: Cursor
2026-04-28 23:01:43 +08:00
5ab69e88d3
Update channel dispatch UX and harden sidecar startup behavior.
...
This aligns Weixin/WhatsApp with admin-managed model routing by adding channel/account-level specialist controls, improves OSS startup resilience by skipping missing sidecars gracefully, and refreshes runbook/readme guidance for the new default behavior and Weixin OpenAI-key silent handling.
Made-with: Cursor
2026-04-28 22:58:50 +08:00
b1a0f94cd6
update ops scripts to include weixin by default
...
Make start/status/stop all scripts include Weixin sidecar by default and add -WithoutWeixin as an explicit opt-out.
Refresh RUNBOOK commands to match the new default behavior.
Made-with: Cursor
2026-04-28 19:32:45 +08:00
88b1fdc9d3
feat(weixin): native official runner and OSS install docs
...
Default Weixin to official native runner, add /weixin/native/reply host endpoint, and harden gateway stop to clean stale port listeners.
Document open-source installation flow for gateway + Personal WeChat.
Made-with: Cursor
2026-04-28 19:26:26 +08:00
31e3962c74
Harden attachment access controls and stabilize the Weixin bridge.
...
This persists referenced media safely, adds explicit attachment ACL/backfill flows, and fixes the Weixin sidecar so official login state can bridge reliably into oclaw without duplicate replays or dropped replies.
Made-with: Cursor
2026-04-28 15:38:55 +08:00
d57969d66d
修复 MCP 图片在流式与历史会话中的显示一致性。
...
将 tool_result 图片落库为 attachments,并在聊天渲染中保留单气泡与时序位置,避免流式结束后图片消失或刷新后错位。
Made-with: Cursor
2026-04-28 03:35:51 +08:00
7253f6795d
完成 WebSocket 与 workspace 架构优化收尾,并修复全量回归阻塞。
...
本次将握手鉴权、Origin 校验、限流、重连补偿、发送背压与观测字段打通,同时修复 gateway 异常路径与备份清理兼容问题,确保工具历史压缩语义一致并恢复全量测试通过。
Made-with: Cursor
2026-04-27 20:41:50 +08:00
37a2ef35f4
实现附件处理链路的统一引用化与可检索增强,避免大文件/多模态内容直接撑爆上下文并提升工具可用性。
...
本次补齐 text/image/video/archive 的标准化处理、会话级工具守卫、回放压缩、配置与文档对齐,并修复表格与流式输出相关体验问题。
Made-with: Cursor
2026-04-26 15:25:50 +08:00
9d2900db02
完成运行时与启动链路的全面相对路径整改,统一以仓库根为路径基准并移除 oclaw 双层硬编码。
...
同时补齐路径回归测试与开源自检文档,确保从非仓库 cwd 启动时 workspace 根、配置和 wiki 路径仍稳定可用。
Made-with: Cursor
2026-04-26 09:22:42 +08:00
dbbe3add6a
重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
...
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。
Made-with: Cursor
2026-04-26 08:34:33 +08:00
4a23b715a2
重构仓库目录为统一的 runtime 分层并清理历史 openclaw 残留。
...
本次迁移将网关/通道/工具/技能/脚本与协议资源集中到新结构,统一路径常量与脚本转发机制,减少顶层噪音并保证运行与测试行为一致。
Made-with: Cursor
2026-04-25 01:24:23 +08:00
ba3836f00f
初始化:独立 oclaw 仓库首提交
...
- 在 oclaw/ 下重新初始化 Git 仓库
- 补齐子仓库 .gitignore,避免提交本地运行态数据(_local、node_modules、logs 等)
- 提交当前工程代码与配置
Made-with: Cursor
2026-04-24 22:31:22 +08:00