当用户希望通过 API 操作火一五/辉火云公司 Odoo 系统(www.huo15.com,数据库为 huo15)时使用。涵盖六大应用模块:待办/To-do、项目/Project(任务、阶段、负责人、工时)、工时单/Timesheets(按员工 / 项目 / 月度统计的工时报表)、CRM/客户(线索与商机、销售漏斗、标记成交/失败、转化)、活动/Activity(任意记录上的下一步待办事项与提醒)、日历/Calendar(事件、会议、提醒/闹钟)。 当用户提及 odoo、辉火云企业套件、公司系统的待办
火一五(Odoo) 技能(Odoo) 技能(/odo/to-do) 工时单(/odo/project) 工时单(/odo/troject) 工时单(/odo/t是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
通过 XML-RPC / JSON-RPC 操作公司 Odoo 系统(辉火云企业套件,www.huo15.com,db=`huo15`)。 六大能力:待办(/odoo/to-do)、项目(/odoo/project)、工时单(/odoo/timesheets)、CRM(/odoo/crm)、活动(My Activities)、日历(/odoo/calendar)。
完整命令 → references/commands.md API/字段细节 → todo · project · timesheet · crm · activity+calendar
所有脚本都依赖已保存的凭据。没配过就先初始化这 4 项,别直接跑 todo/project/timesheet。
| # | 输入项 | 示例 | 说明 |
|---|---|---|---|
| ① | 公司系统地址 | www.huo15.com |
只输域名即可,脚本自动补 https:// |
| ② | 数据库 | huo15 |
数据库名 |
| ③ | 账号 | 邮箱 / 用户名 | 登录账号 |
| ④ | 密码 | 密码或 API Key | 推荐 API Key(偏好设置→账户安全→新建,可随时吊销) |
保存到 ~/.huo15/tools.md(权限 600)。
printf '%s' "<用户输入的密码>" | python3 scripts/login.py set
--url www.huo15.com --db huo15 --login "<账号>" --auth-type password
# 密码填的是 API Key 就把 --auth-type 换成 apikey
python3 scripts/login.py init # 交互式依次提示输入 ①地址 ②数据库 ③账号 ④密码(无参等效)
login.py 会先验证连接成功才落盘,写入 ~/.huo15/tools.md(权限 600);失败报中文原因(账号错 / db 错 / 网络)。验证:python3 scripts/login.py test。
凭据文件默认
~/.huo15/tools.md,可用环境变量HUO15_TOOLS_MD改路径。 临时/CI 可用环境变量免落盘:HUO15_ODOO_LOGIN/HUO15_ODOO_SECRET/HUO15_ODOO_DB/HUO15_ODOO_URL。 此文件含明文凭据,务必不要提交 git。
每个应用一个脚本,风格统一(add/list/… 子命令,名字可代 id,--json 输出,-h 看完整参数)。
完整命令示例 → references/commands.md;字段/API 细节 → 各 references/odoo-。
| 应用 | 脚本 | 核心模型 | 主要子命令 |
|---|---|---|---|
📝 待办 /odoo/to-do |
todo.py |
project.task(私有态) | add list done reopen cancel update stages |
📁 项目 /odoo/project |
project.py |
project.project + task | list show add edit archive tasks task-add task-move task-assign task-done |
⏱️ 工时单 /odoo/timesheets |
timesheet.py |
account.analytic.line | by-employee by-project by-month detail log |
💼 CRM /odoo/crm |
crm.py |
crm.lead(线索/商机) | list show add move won lost restore convert pipeline activity |
| 🔔 活动 My Activities | activity.py |
mail.activity | list add done cancel reschedule |
📅 日历 /odoo/calendar |
agenda.py |
calendar.event + alarm | list show add cancel remind |
下方「命令速查」给最常用命令的具体写法,够日常用;要完整参数/示例读 references/commands.md。
| 想做 | 命令 |
|---|---|
| 初始化(交互) | python3 scripts/login.py init —— 提示输入 地址/数据库/账号/密码 |
| 配登录(代配) | printf '%s' "$PWD" | python3 scripts/login.py set --url www.huo15.com --db huo15 --login X |
| 测连接 | python3 scripts/login.py test |
| 新建待办 | todo.py add --title ... [--deadline --priority --stage --tags] |
| 我的待办 | todo.py list |
| 完成待办 | todo.py done |
| 项目列表/详情 | project.py list / project.py show |
| 建项目/任务 | project.py add --name ... / project.py task-add --project |
| 移阶段/改负责人 | project.py task-move / task-assign |
| 工时汇总 | timesheet.py by-employee|by-project|by-month [--month/--from/--to] |
| 工时明细 | timesheet.py detail --employee X --month YYYY-MM |
| CRM 商机 | crm.py list / crm.py add --name ... --customer ... --revenue N --user 我 |
| 赢/输/管道 | crm.py won|lost / crm.py pipeline --by stage|user|team |
| 活动/提醒 | activity.py list / activity.py add --model crm.lead --id N --type call --date ... |
| 日历/会议 | agenda.py list / agenda.py add --name ... --start "... HH:MM" --with X --remind 30m |
所有脚本支持 --json 输出、--tools-md 指定凭据文件。
| 坑 | 正确做法 |
|---|---|
| 待办放哪 | project.task 且 不传 project_id(保持 False)+ user_ids 含本人 |
| 截止日期 | date_deadline 是 Datetime / UTC,不是 date(脚本已自动本地→UTC) |
| 完成状态 | state='1_done';取消 '1_canceled';进行中 '01_in_progress';等待 '04_waiting_normal' |
| 任务负责人 | user_ids 是 Many2many,写 [(6,0,[ids])];不是 user_id |
| 分配工时 | 任务用 allocated_hours,不是 planned_hours(19 已删) |
| 工时小时数 | 工时单求和用 unit_amount(不是 amount,amount 是钱) |
| 是不是工时单 | 没有 is_timesheet 字段,判定 ('project_id','!=',False) |
| 分组统计 | read_group 多 groupby 必须 lazy=False;优先 formatted_read_group(脚本已封装) |
| 个人阶段筛选 | personal_stage_type_id 无 search,按阶段筛走 project.task.stage.personal 关联表(脚本已处理) |
| CRM 赢/输单 | 建商机必传 type='opportunity';负责人 user_id 单数;赢/输/复活调 action_set_won/lost/restore,别手动 write |
| CRM 字段 | 手机号写 phone(无 mobile);crm.stage.team_ids 复数 m2m(空=全团队);description 是 Html |
| 活动 | date_deadline 是 Date;完成=archive(action_feedback)不是删;state computed 无 search,查逾期用 date_deadline 比较 |
| 日历 | start/stop 是 Datetime/UTC(脚本自动转);写 partner_ids 自动建参与人;alarm 只有 notification/email |
这些都已在脚本里处理对。手工写新调用 / 改脚本时对照本表和 references/。
~/.huo15/tools.md(权限 600),永不进 git / commit / 日志。--secret-stdin,避免明文进 shell 历史。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章