senclaw/discuss

app Phòng thảo luận AI theo đội: BOSS (người dùng) đặt đề bài + tiêu chí kết quả

Install

senclaw app install senclaw/discuss

Verifies sha512 and SenClaw’s signature before writing to disk.

Documentation

AI Discuss Team (apps/discuss, port 4760)

Phòng thảo luận AI theo đội cho SenClaw: BOSS (người dùng) đặt đề bài + tiêu chí kết quả; các member AI (bộ nhớ riêng xuyên phiên, nhớ cả mạch thinking) tranh luận theo luật; Thư ký AI ghi biên bản từng vòng; Manager AI độc lập — không bàn nội dung, chấm tiến độ so với yêu cầu BOSS, bắt member im lặng phát biểu, đề nghị chốt khi đủ. Kết quả cuối phân mức chứng minh THỰC TIỄN / LÝ THUYẾT, BOSS nghiệm thu (duyệt / từ chối kèm góp ý → phiên mở lại / cho thảo luận thêm N vòng khi chạm trần mà chưa đạt: vòng 20/20 → thêm 20 → 20/40 và đội chạy tiếp, giữ nguyên biên bản + luận điểm đã có). UI 2 chế độ: chat + phòng họp 3D isometric (kiểu AI Office).

Luật thảo luận (engine cưỡng chế)

  • Luận điểm gắn claim_type: evidence (tìm kiếm có dẫn chứng) · inference (suy diễn từ thông tin đã có) · creative (sáng tạo, chưa có bằng chứng) + provability: practical/theoretical. evidence không kèm nguồn bị hạ nhãn tự động.
  • Member khác phải phản hồi luận điểm mở: agree (xét bổ sung) hoặc disagree (bắt buộc dẫn chứng — thiếu thì engine trả lượt yêu cầu sửa, tái phạm bị gắn cờ).
  • Tin BOSS là ngắt ưu tiên — member kế tiếp phải trả lời trước tiên.
  • Im lặng ≥2 vòng → lượt sau bị "bắt phát biểu" (lệnh Manager trong prompt).
  • 6 mũ tư duy là nhãn metadata từng phát biểu (Manager giữ mũ xanh dương).
  • Citations kiểm được: doc:<id> phải tồn tại trong kho (không thì gắn ⚠ chưa kiểm được).
  • Nội dung dài không được rút gọn. Trần token là trần MỖI LƯỢT GỌI, không phải trần nội dung: chạm trần thì engine xin model viết tiếp rồi nối lại (llm_request_parts), và member chia đoạn qua nhiều lượt bằng deliverable/part/more/next_part — lượt sau bị nhắc viết tiếp đúng chỗ đang dở. Các đoạn deliverable được ghép cơ học vào phụ lục của KẾT QUẢ, không đi qua LLM nên không mục nào rụng.

Chống mất nội dung (bài học phiên #2 — báo cáo 10 tính năng mất mục 5)

Chỗ từng rụng chữTrướcNay
Lượt member chạm trần tokenJSON đứt → bảo model "ngắn gọn lại" → bỏ mụcXin viết tiếp + bắt chia đoạn, cấm rút gọn
Biên bảnMỗi vòng viết lại TOÀN BỘ → nén dần, vòng cũ thành "vòng 1-28 (tóm tắt)"Ghi thêm đoạn theo vòng, biên bản đầy đủ = ghép cơ học
Quét tin lúc chốt500 tin đầu phiên → phần chốt hạ ở cuối không bao giờ tới tay Thư kýQuét từ cuối ngược lên trong ngân sách ký tự
Render tin vào prompt tổng hợpcắt 700 ký tự/tin, tổng 9.0002.400 ký tự/tin, tổng 24.000
Báo cáo phải nộp nguyên vănLLM tóm tắt lại → mất chốt chặn rủi roPhụ lục ghép nguyên văn, không qua LLM
Bản kết quảchỉ nằm trong DB, ra file khi BOSS duyệtRa file .md + kho tài liệu ngay từ dự thảo (doc:<id>, tab Tài liệu)

Member dùng tool chạy qua agent.run của daemon — trần token bên đó không lộ finish, nên đường này chống rụng bằng giao thức chia đoạn (retry ép more/next_part), chưa nối tiếp tự động được.

Kiến trúc

  • src/engine.rs — vòng thảo luận: tuần tự hoặc song song (Semaphore(3) dưới trần 4 agent.run/app của daemon), pace đọc lại mỗi lượt, Thư ký + Manager mỗi vòng, trần vòng.
  • src/llm.rs — bridge daemon: llm.request (Thư ký/Manager/member không tool) và agent.run (member có tool; space=discuss:<key> tách bộ nhớ daemon per member; workspace = thư mục tài liệu phiên để member Read/Grep). Lưu ý hiện trạng daemon: payload tools chưa được enforce (soft — ghi trong system prompt), model bị bỏ qua.
  • src/db.rs — SQLite ~/.senclaw/space-app-data/discuss/discuss.sqlite: discussions, members, messages (claims/reactions/citations/flags), documents(+FTS fold đ→d), member_memory(+FTS), member_thinking, minutes (một đoạn/vòng, ghép lại thành biên bản đầy đủ; bản ghi kiểu cũ nhận ra bằng tiêu đề # Biên bản và giữ nguyên làm phần đầu), results.
  • src/mcp.rs — MCP discuss-mcp, 21 tool discuss_*, JSON-RPC qua /api/mcp/sse + /api/mcp/message (reply không mirror lên SSE).
  • web/ — React 19 + Vite 8 + Ant Design 6.5 (dark, base /): MeetingScene isometric SVG, ChatFeed nhãn luận điểm + trích dẫn bấm được, panel Tiến độ/Biên bản/Kết quả/ Tài liệu/Đội, poll 1.2s. Form thành viên: Chuyên môn/Phong cách là TextArea; mũ thiên hướng chọn được NHIỀU (lưu comma-list, mỗi phát biểu member dùng 1 mũ trong số đó).

Chạy dev

cargo run -p discuss                 # backend :4760 (cần daemon :18788 để có LLM)
cd apps/discuss/web && npm run dev   # UI dev, proxy /api → 4760
cargo test -p discuss                # 40 unit tests, không cần LLM

Đóng gói & đăng ký

apps/discuss/scripts/pack.sh         # → apps/discuss/release/discuss-app.zip
curl -X POST http://127.0.0.1:18788/api/space/apps/register-local \
  -H 'Content-Type: application/json' \
  -d '{"path":"/Users/benji/Projects/SemaClaw/apps/discuss/release"}'

⚠ register-local phải trỏ **apps/discuss/release** (binary + web_dist nằm đó, không phải thư mục nguồn). Data nằm ngoài thư mục cài nên update không mất phiên/bộ nhớ.

Roster mặc định

Quản Lý (manager, mũ xanh dương) · Thư Ký (secretary) · An • Dẫn chứng (white, tools) · Bình • Phản biện (black, tools) · Chi • Suy luận (yellow, không tool) · Dũng • Sáng tạo (green, không tool) · Én • Thời sự (red, tools, tắt sẵn). Thêm/sửa trong tab Đội — mặc định member thấy toàn bộ tool MCP hệ thống, có thể giới hạn per-member.

Declared permissions

{
  "network": [
    "127.0.0.1"
  ],
  "exec": [
    "./discuss"
  ]
}

Declared by the publisher, not enforced by SenClaw. The CLI compares this against what you already have installed and asks before anything widens.

Published by

@senclawtrusted
benji
51 packages · 21 downloads · member since 2026-07 · GitHub since 2015-06

The checkmark means SenClaw confirmed who this publisher is. It says nothing about whether their packages are safe.

About

Owner@senclaw
Latest1.1.0
Downloads1
Repositorygithub.com/NortonBen/senclaw-app ↗

Versions

VersionTagsArtifactsPublished
1.1.0latestdarwin-arm64, linux-x64, win32-x642026-08-12
1.0.1darwin-arm64, linux-x64, win32-x642026-08-09
1.0.0darwin-arm64, linux-x64, win32-x642026-08-07

Artifacts · 1.1.0

PlatformFormatSignatureFileSize
darwin-arm64zipunsigneddiscuss-app.zip3492 KB
linux-x64zipunsigneddiscuss-app.zip3862 KB
win32-x64zipunsigneddiscuss-app.zip3784 KB

Unsigned builds require sign-in to download and are not distributed to the auto-updater, because unsigned executables from a new domain get flagged as unsafe. Sign and notarize (macOS) or Authenticode-sign (Windows) to distribute publicly.

Auto-update endpoints

For a Tauri app — add to tauri.conf.json:

"endpoints": ["https://hub-store.bacnd.com/api/v1/updates/tauri/senclaw/discuss/{{target}}/{{arch}}/{{current_version}}"]

For an electron-updater app — generic provider URL:

https://hub-store.bacnd.com/updates/senclaw/discuss/stable

Only signed/notarized artifacts are offered as updates — a client fetches the update without credentials, and unsigned binaries are not publicly downloadable.

Something wrong with this package?

Report this package

Report this package

Tell us what is wrong and a moderator will look at it. Be specific — a report that names a version and a behaviour can be checked in minutes; one that says “looks sketchy” cannot be acted on at all.

Not about this package? Contact us instead. What happens to a report is described in reporting and moderation.

API: GET https://hub-store.bacnd.com/api/v1/packages/senclaw/discuss