ai_co_discuss 0.2.13 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/discuss-host/SKILL.md +2 -2
- package/.agents/skills/discuss-participant/SKILL.md +1 -1
- package/README.md +4 -2
- package/backend/identity.py +31 -31
- package/backend/runtime.py +364 -364
- package/backend/schema.sql +580 -580
- package/backend/server.py +1763 -1760
- package/docs/architecture.md +6 -2
- package/docs/cli.md +2 -0
- package/docs/runner.md +392 -363
- package/docs/workflow.md +148 -148
- package/package.json +2 -2
- package/runner/api_participant.mjs +176 -0
- package/runner/discuss.py +946 -946
- package/runner/discussion_adapters.mjs +1 -0
- package/runner/discussion_api.mjs +146 -0
- package/runner/discussion_launch.mjs +20 -9
- package/runner/discussion_runner.mjs +20 -4
- package/runner/discussion_service.mjs +394 -394
- package/runner/free_runner.mjs +6 -2
- package/web/app.js +57 -11
- package/web/backup.js +1 -1
- package/web/markdown.js +1 -1
- package/web/modern.css +1 -1
- package/web/modern.js +680 -545
package/docs/architecture.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 设计边界
|
|
4
4
|
|
|
5
|
-
AI CoDiscuss
|
|
5
|
+
AI CoDiscuss 分开保存讨论事实、执行单次读写和组织讨论决策。软件参与者保留自身会话、工具和账号能力;用户也可明确配置 API 参与者,由本机 runner 调用模型并提供房间工具。网站承担共享上下文与协作约束,不接收模型密钥或直接发起模型请求;软件故障不会自动改用 API。
|
|
6
6
|
|
|
7
7
|
```mermaid
|
|
8
8
|
flowchart TB
|
|
@@ -31,6 +31,8 @@ Python 与 Cloudflare 是两种部署实现,运行时选其一,不是请求
|
|
|
31
31
|
| `runner/codiscuss.mjs` | 统一 `codiscuss` 命令与原样参数 | 无子命令时启动本机服务,`service` 管理进程;网站命令转交 Python 客户端,保留 stdin、相对路径与退出码 |
|
|
32
32
|
| `runner/discussion_launch.mjs` | 本机默认软件配置、单场启动配置、对话 / 网页入口 | 校验后建房、保存私有配置、启用运行并登记接入服务;对话入口将首个主持任务交回当前会话;暂停后可凭原控制凭据和版本修正本场软件路径或切换 Codex App / CLI,保留原会话绑定,不自动重启 |
|
|
33
33
|
| `runner/discussion_models.mjs` | 本机 CLI 模型目录 | 只执行 Codex 模型列表、Claude 初始化或 agy models,返回模型与档位,不发送提示词;查询后关闭临时进程 |
|
|
34
|
+
| `runner/discussion_api.mjs` | 供应商默认值、用户 Base URL、请求协议、真实模型 ID、私有密钥引用 | 校验 URL 和密钥绑定;读取模型列表;转换 Responses / Chat Completions / Anthropic / Gemini 请求与工具历史,仅使用 Node 内置模块 |
|
|
35
|
+
| `runner/api_participant.mjs` | 一次有效执行、参与者身份及 API 配置 | 提供限定本房间和职责的工具,保存原文或主持安排;取消时中止请求,不向模型传递执行令牌、API Key 或文件工具 |
|
|
34
36
|
| `runner/discussion_setup.mjs` / `discussion_skills.mjs` / `discussion_tui.mjs` | npm 包、已有 Python / CLI、选定软件 | 持久安装统一命令,合并本机软件配置,复制完整技能并保留本地修改;`discussion_tui.mjs` 只负责安装过程的终端呈现;不创建讨论 |
|
|
35
37
|
| `runner/discussion_local.mjs` | 用户服务目录、Python 和端口配置 | 后台网站及包外 SQLite,复用讨论服务、检查就绪、仅停止拥有的进程 |
|
|
36
38
|
| `runner/discuss.py` | 命令、站点、房间、声明身份、UTF-8 文件 | 网站客户端实现;单次 HTTP 请求、稳定 JSON / 文本、退出码,帮助和预览可离线,可直接用 Python 执行 |
|
|
@@ -150,6 +152,8 @@ Python 在一个只读事务快照中查询;D1 使用同一个 batch 事务读
|
|
|
150
152
|
|
|
151
153
|
新建表单独立选择房间用法(头脑风暴/自由协作)与接入方式(程序唤醒/手动),共用内联角色库。接入方式以分段切换放在参与区标题旁;每次添加生成独立实例,已加入成员以 `ExpertCard.vue` 渲染为翻面卡片:正面是身份与只读配置(状态、软件、模型、强度、项目权限),背面是设置,项目只读 / 可写按专家分别设置,在线专家固定只读,缺少的软件路径在背面直接填写;卡片上的皇冠指定主持人,移出按钮同步修复主持人选择,角色库为卡片下方的“添加”标签行。自由协作默认用户主持(“我来主持”),可改由一位本地 AI 主持。支持本地参与的卡片翻面设置参与能力和软件入口,纯网页角色不翻面。自动 CLI 从本机软件目录下拉选择模型,不要求手填 ID;模型与强度同层显示,恢复默认只清除当前实例覆盖。App、网页和手动会话在原软件内设置。`EffortSlider.vue` 按所选模型的实际档位显示,首档为空值的 CLI 默认,显示标签与提交值分离(Extra High 对应 xhigh);标题处的档位名随拖动实时预览、松手才提交,悬停、拖动与键盘聚焦分别有光晕反馈,减少动态效果时不做过渡;agy 的强度随模型,不另显示滑杆。目录不可用时显示原因并保留软件默认,不虚构列表。
|
|
152
154
|
|
|
155
|
+
项目权限选择仅对 CLI 入口开放;API 与网页专家固定显示只读。创建卡片、接入设置、经典主题和自由房间邀请沿用同一 CLI 入口判断,API 不继承本场可写配置,执行器强制归一为只读。App 的实际文件权限在原软件中配置。
|
|
156
|
+
|
|
153
157
|
正反面占用同一网格单元,避免翻转引起布局跳动。角度由现有 Motion 弹簧驱动:质量 1、频率 2.615 Hz、阻尼比 0.96(刚度 270.032、阻尼 31.551);目标在 0° / 180° 之间切换,中途反向保留速度,无固定时长。隐藏面设为 inert 并退出辅助技术读取,转过 90° 后移交焦点;Escape 返回,减少动态效果时直接到位。滑块采用单位质量、4.5 Hz 临界阻尼弹簧,拖动由 6 Hz 手部弹簧牵引、8 Hz 端点力限制;松手依据真实位置与速度的投影选择档位,点击直接选档,方向键和 Home / End 覆盖全部档位,取消拖动恢复原选项。模型与强度仅在创建前配置,讨论进度中保持只读。
|
|
154
158
|
|
|
155
159
|
界面只提供默认深色「协作频道」与浅色协作频道。深浅频道共用组件,浅色覆盖同时作用于正文、菜单和弹窗;只有深色频道启用根节点的 `dark` 类。外观设置集中在左下角,窄屏可从频道导航抽屉进入。主题保存在浏览器,已移除或未知主题值回退并保存为深色频道;切换保留房间、筛选与未发送草稿。原独立主题样式和切换入口已删除;HTML 中的隐藏控件仍作为共享控制器的表单适配层,不是可显示的第二套界面。
|
|
@@ -196,7 +200,7 @@ Python 通过进程内条件变量唤醒订阅者,不占用数据库连接,
|
|
|
196
200
|
|
|
197
201
|
`tests/test_server.py` 与 `tests/test_discuss.py` 验证临时 SQLite、真实 HTTP 和 CLI 子进程;可显式指向隔离的本地 Worker 复用行为测试。Node 测试覆盖 Markdown、界面状态和 Pages 路由。具体命令见 [贡献指南](../.github/CONTRIBUTING.md)。
|
|
198
202
|
|
|
199
|
-
|
|
203
|
+
未提供用户登录、讨论并行发言队列或跨站数据同步。自动执行保护不替代账号认证。Skill 行为、浏览器实际送达、软件原生任务启停与 API 账号的真实可用性必须通过实际环境验证;测试替身成功不能替代这些外部结果。
|
|
200
204
|
|
|
201
205
|
## 自动运行协议
|
|
202
206
|
|
package/docs/cli.md
CHANGED
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
|
|
15
15
|
`codiscuss launch models --file FILE` 输入 `adapter` 和可选的完整 `executable`,读取对应 CLI 的模型目录与支持的档位,不发送提示词。详情与失败边界见 [本机模型目录](runner.md#本机模型目录)。
|
|
16
16
|
|
|
17
|
+
API 入口使用 `adapter: "api"`,其 Base URL、请求协议、Key 引用和模型 ID 字段见 [API 接入](runner.md#api-接入)。`codiscuss launch api-key --file FILE` 接收 `{base_url, api_key}`,将密钥保存到本机私有目录并仅返回引用;`launch models` 接收 API profile 读取服务商模型目录。API 发言的 `source` 为 `api`,普通网站 CLI 的 `message post` 仍标记为 `cli`;两者使用相同的成员或执行授权。
|
|
18
|
+
|
|
17
19
|
## 连接与发现
|
|
18
20
|
|
|
19
21
|
```sh
|